Vapor SIMD: Auto-vectorize once, run everywhere

Just-in-Time (JIT) compiler technology offers portability while facilitating target- and context-specific specialization. Single-Instruction-Multiple-Data (SIMD) hardware is ubiquitous and markedly diverse, but can be difficult for JIT compilers to efficiently target due to resource and budget const...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Nuzman, Dorit, Dyshel, Sergei, Rohou, Erven, Rosen, Ira, Williams, Kevin, Yuste, David, Cohen, Albert, Zaks, Ayal
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 160
container_issue
container_start_page 151
container_title
container_volume
creator Nuzman, Dorit
Dyshel, Sergei
Rohou, Erven
Rosen, Ira
Williams, Kevin
Yuste, David
Cohen, Albert
Zaks, Ayal
description Just-in-Time (JIT) compiler technology offers portability while facilitating target- and context-specific specialization. Single-Instruction-Multiple-Data (SIMD) hardware is ubiquitous and markedly diverse, but can be difficult for JIT compilers to efficiently target due to resource and budget constraints. We present our design for a synergistic auto-vectorizing compilation scheme. The scheme is composed of an aggressive, generic offline stage coupled with a lightweight, target-specific online stage. Our method leverages the optimized intermediate results provided by the first stage across disparate SIMD architectures from different vendors, having distinct characteristics ranging from different vector sizes, memory alignment and access constraints, to special computational idioms. We demonstrate the effectiveness of our design using a set of kernels that exercise innermost loop, outer loop, as well as straight-line code vectorization, all automatically extracted by the common offline compilation stage. This results in performance comparable to that provided by specialized monolithic offline compilers. Our framework is implemented using open-source tools and standards, thereby promoting interoperability and extendibility.
doi_str_mv 10.5555/2190025.2190062
format Conference Proceeding
fullrecord <record><control><sourceid>acm</sourceid><recordid>TN_cdi_acm_books_10_5555_2190025_2190062</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>acm_books_10_5555_2190025_2190062</sourcerecordid><originalsourceid>FETCH-acm_books_10_5555_2190025_21900623</originalsourceid><addsrcrecordid>eNpjYBA3NNAzBQJ9I0NLAwMjUz0wbWbEzMBlaGZoZGFibGpmysHAW1ycZQAEZmYWFpZGnAxcYYkF-UUKwZ6-LjwMrGmJOcWpvFCam0HDzTXE2UM3MTk3Pik_P7s43tAgHmRHPNSOeKgdxiQp1SNSaXxSUWZqmjEAYpA1mA</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Vapor SIMD: Auto-vectorize once, run everywhere</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Nuzman, Dorit ; Dyshel, Sergei ; Rohou, Erven ; Rosen, Ira ; Williams, Kevin ; Yuste, David ; Cohen, Albert ; Zaks, Ayal</creator><creatorcontrib>Nuzman, Dorit ; Dyshel, Sergei ; Rohou, Erven ; Rosen, Ira ; Williams, Kevin ; Yuste, David ; Cohen, Albert ; Zaks, Ayal</creatorcontrib><description>Just-in-Time (JIT) compiler technology offers portability while facilitating target- and context-specific specialization. Single-Instruction-Multiple-Data (SIMD) hardware is ubiquitous and markedly diverse, but can be difficult for JIT compilers to efficiently target due to resource and budget constraints. We present our design for a synergistic auto-vectorizing compilation scheme. The scheme is composed of an aggressive, generic offline stage coupled with a lightweight, target-specific online stage. Our method leverages the optimized intermediate results provided by the first stage across disparate SIMD architectures from different vendors, having distinct characteristics ranging from different vector sizes, memory alignment and access constraints, to special computational idioms. We demonstrate the effectiveness of our design using a set of kernels that exercise innermost loop, outer loop, as well as straight-line code vectorization, all automatically extracted by the common offline compilation stage. This results in performance comparable to that provided by specialized monolithic offline compilers. Our framework is implemented using open-source tools and standards, thereby promoting interoperability and extendibility.</description><identifier>ISBN: 1612843565</identifier><identifier>ISBN: 9781612843568</identifier><identifier>DOI: 10.5555/2190025.2190062</identifier><language>eng</language><publisher>Washington, DC, USA: IEEE Computer Society</publisher><subject>Software and its engineering ; Software and its engineering -- Software notations and tools ; Software and its engineering -- Software notations and tools -- Compilers</subject><ispartof>Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, 2011, p.151-160</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,780,784,789,790,27925</link.rule.ids></links><search><creatorcontrib>Nuzman, Dorit</creatorcontrib><creatorcontrib>Dyshel, Sergei</creatorcontrib><creatorcontrib>Rohou, Erven</creatorcontrib><creatorcontrib>Rosen, Ira</creatorcontrib><creatorcontrib>Williams, Kevin</creatorcontrib><creatorcontrib>Yuste, David</creatorcontrib><creatorcontrib>Cohen, Albert</creatorcontrib><creatorcontrib>Zaks, Ayal</creatorcontrib><title>Vapor SIMD: Auto-vectorize once, run everywhere</title><title>Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization</title><description>Just-in-Time (JIT) compiler technology offers portability while facilitating target- and context-specific specialization. Single-Instruction-Multiple-Data (SIMD) hardware is ubiquitous and markedly diverse, but can be difficult for JIT compilers to efficiently target due to resource and budget constraints. We present our design for a synergistic auto-vectorizing compilation scheme. The scheme is composed of an aggressive, generic offline stage coupled with a lightweight, target-specific online stage. Our method leverages the optimized intermediate results provided by the first stage across disparate SIMD architectures from different vendors, having distinct characteristics ranging from different vector sizes, memory alignment and access constraints, to special computational idioms. We demonstrate the effectiveness of our design using a set of kernels that exercise innermost loop, outer loop, as well as straight-line code vectorization, all automatically extracted by the common offline compilation stage. This results in performance comparable to that provided by specialized monolithic offline compilers. Our framework is implemented using open-source tools and standards, thereby promoting interoperability and extendibility.</description><subject>Software and its engineering</subject><subject>Software and its engineering -- Software notations and tools</subject><subject>Software and its engineering -- Software notations and tools -- Compilers</subject><isbn>1612843565</isbn><isbn>9781612843568</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2011</creationdate><recordtype>conference_proceeding</recordtype><sourceid/><recordid>eNpjYBA3NNAzBQJ9I0NLAwMjUz0wbWbEzMBlaGZoZGFibGpmysHAW1ycZQAEZmYWFpZGnAxcYYkF-UUKwZ6-LjwMrGmJOcWpvFCam0HDzTXE2UM3MTk3Pik_P7s43tAgHmRHPNSOeKgdxiQp1SNSaXxSUWZqmjEAYpA1mA</recordid><startdate>20110402</startdate><enddate>20110402</enddate><creator>Nuzman, Dorit</creator><creator>Dyshel, Sergei</creator><creator>Rohou, Erven</creator><creator>Rosen, Ira</creator><creator>Williams, Kevin</creator><creator>Yuste, David</creator><creator>Cohen, Albert</creator><creator>Zaks, Ayal</creator><general>IEEE Computer Society</general><scope/></search><sort><creationdate>20110402</creationdate><title>Vapor SIMD</title><author>Nuzman, Dorit ; Dyshel, Sergei ; Rohou, Erven ; Rosen, Ira ; Williams, Kevin ; Yuste, David ; Cohen, Albert ; Zaks, Ayal</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-acm_books_10_5555_2190025_21900623</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2011</creationdate><topic>Software and its engineering</topic><topic>Software and its engineering -- Software notations and tools</topic><topic>Software and its engineering -- Software notations and tools -- Compilers</topic><toplevel>online_resources</toplevel><creatorcontrib>Nuzman, Dorit</creatorcontrib><creatorcontrib>Dyshel, Sergei</creatorcontrib><creatorcontrib>Rohou, Erven</creatorcontrib><creatorcontrib>Rosen, Ira</creatorcontrib><creatorcontrib>Williams, Kevin</creatorcontrib><creatorcontrib>Yuste, David</creatorcontrib><creatorcontrib>Cohen, Albert</creatorcontrib><creatorcontrib>Zaks, Ayal</creatorcontrib></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Nuzman, Dorit</au><au>Dyshel, Sergei</au><au>Rohou, Erven</au><au>Rosen, Ira</au><au>Williams, Kevin</au><au>Yuste, David</au><au>Cohen, Albert</au><au>Zaks, Ayal</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Vapor SIMD: Auto-vectorize once, run everywhere</atitle><btitle>Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization</btitle><date>2011-04-02</date><risdate>2011</risdate><spage>151</spage><epage>160</epage><pages>151-160</pages><isbn>1612843565</isbn><isbn>9781612843568</isbn><abstract>Just-in-Time (JIT) compiler technology offers portability while facilitating target- and context-specific specialization. Single-Instruction-Multiple-Data (SIMD) hardware is ubiquitous and markedly diverse, but can be difficult for JIT compilers to efficiently target due to resource and budget constraints. We present our design for a synergistic auto-vectorizing compilation scheme. The scheme is composed of an aggressive, generic offline stage coupled with a lightweight, target-specific online stage. Our method leverages the optimized intermediate results provided by the first stage across disparate SIMD architectures from different vendors, having distinct characteristics ranging from different vector sizes, memory alignment and access constraints, to special computational idioms. We demonstrate the effectiveness of our design using a set of kernels that exercise innermost loop, outer loop, as well as straight-line code vectorization, all automatically extracted by the common offline compilation stage. This results in performance comparable to that provided by specialized monolithic offline compilers. Our framework is implemented using open-source tools and standards, thereby promoting interoperability and extendibility.</abstract><cop>Washington, DC, USA</cop><pub>IEEE Computer Society</pub><doi>10.5555/2190025.2190062</doi></addata></record>
fulltext fulltext
identifier ISBN: 1612843565
ispartof Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, 2011, p.151-160
issn
language eng
recordid cdi_acm_books_10_5555_2190025_2190062
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Software and its engineering
Software and its engineering -- Software notations and tools
Software and its engineering -- Software notations and tools -- Compilers
title Vapor SIMD: Auto-vectorize once, run everywhere
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-04T16%3A29%3A57IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Vapor%20SIMD:%20Auto-vectorize%20once,%20run%20everywhere&rft.btitle=Proceedings%20of%20the%209th%20Annual%20IEEE/ACM%20International%20Symposium%20on%20Code%20Generation%20and%20Optimization&rft.au=Nuzman,%20Dorit&rft.date=2011-04-02&rft.spage=151&rft.epage=160&rft.pages=151-160&rft.isbn=1612843565&rft.isbn_list=9781612843568&rft_id=info:doi/10.5555/2190025.2190062&rft_dat=%3Cacm%3Eacm_books_10_5555_2190025_2190062%3C/acm%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true