Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures

Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction pr...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE MICRO 2015-07, Vol.35 (4), p.48-58
Hauptverfasser: Sabne, Amit, Sakdhnagool, Putt, Seyong Lee, Vetter, Jeffrey S.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 58
container_issue 4
container_start_page 48
container_title IEEE MICRO
container_volume 35
creator Sabne, Amit
Sakdhnagool, Putt
Seyong Lee
Vetter, Jeffrey S.
description Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.
doi_str_mv 10.1109/MM.2015.73
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_osti_scitechconnect_1265740</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>7155420</ieee_id><sourcerecordid>3779440401</sourcerecordid><originalsourceid>FETCH-LOGICAL-c342t-78475c2806045cba0482821806f1fc75706bd3a3612b028df84fa60d60ea9a643</originalsourceid><addsrcrecordid>eNo90E1LAzEQBuAgCtbqxauXRW_C1snHbrbHUtQKXezBnkOanW23tElNUqH_3iwVT8MMD8M7Q8g9hRGlMH6p6xEDWowkvyADOuYyF1TwSzIAJllOJWfX5CaELQAUDKoBWS9tgz5EbZvOrrOF81Gvul0XT5lrM53NuvUmn-MP7rKFd2uv9_ve1a5JE2ezqbMR9wfntT9lM4yYEFp0x5BNvNl0EU08egy35KrVu4B3f3VIlm-vX9NZPv98_5hO5rnhgsVcVkIWhlVQgijMSoOoWMVo6lvaGllIKFcN17ykbAWsatpKtLqEpgTUY10KPiSP570uxE4F0wfYGGdtyqEoKwspIKGnMzp4933EENXWHb1NuRSVINL2Uvbq-ayMdyF4bNXBd_t0p6Kg-m-rulb9t5XkCT-ccYeI_1DSohAM-C9OkXn-</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1704361670</pqid></control><display><type>article</type><title>Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures</title><source>IEEE Electronic Library (IEL)</source><creator>Sabne, Amit ; Sakdhnagool, Putt ; Seyong Lee ; Vetter, Jeffrey S.</creator><creatorcontrib>Sabne, Amit ; Sakdhnagool, Putt ; Seyong Lee ; Vetter, Jeffrey S. ; Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)</creatorcontrib><description>Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.</description><identifier>ISSN: 0272-1732</identifier><identifier>EISSN: 1937-4143</identifier><identifier>DOI: 10.1109/MM.2015.73</identifier><identifier>CODEN: IEMIDZ</identifier><language>eng</language><publisher>Los Alamitos: IEEE</publisher><subject>compilers ; Computer architecture ; Computer programming ; Computer programs ; Graphics processing units ; heterogeneous (hybrid) systems ; HeteroIR ; MATHEMATICS AND COMPUTING ; measurements ; Microwave integrated circuits ; Optimization ; Performance evaluation ; Remove Hybrid ; runtime environments ; Systems portability</subject><ispartof>IEEE MICRO, 2015-07, Vol.35 (4), p.48-58</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) Jul-Aug 2015</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c342t-78475c2806045cba0482821806f1fc75706bd3a3612b028df84fa60d60ea9a643</citedby><cites>FETCH-LOGICAL-c342t-78475c2806045cba0482821806f1fc75706bd3a3612b028df84fa60d60ea9a643</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/7155420$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>230,314,776,780,792,881,27901,27902,54733</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/7155420$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc><backlink>$$Uhttps://www.osti.gov/servlets/purl/1265740$$D View this record in Osti.gov$$Hfree_for_read</backlink></links><search><creatorcontrib>Sabne, Amit</creatorcontrib><creatorcontrib>Sakdhnagool, Putt</creatorcontrib><creatorcontrib>Seyong Lee</creatorcontrib><creatorcontrib>Vetter, Jeffrey S.</creatorcontrib><creatorcontrib>Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)</creatorcontrib><title>Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures</title><title>IEEE MICRO</title><addtitle>MM</addtitle><description>Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.</description><subject>compilers</subject><subject>Computer architecture</subject><subject>Computer programming</subject><subject>Computer programs</subject><subject>Graphics processing units</subject><subject>heterogeneous (hybrid) systems</subject><subject>HeteroIR</subject><subject>MATHEMATICS AND COMPUTING</subject><subject>measurements</subject><subject>Microwave integrated circuits</subject><subject>Optimization</subject><subject>Performance evaluation</subject><subject>Remove Hybrid</subject><subject>runtime environments</subject><subject>Systems portability</subject><issn>0272-1732</issn><issn>1937-4143</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2015</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNo90E1LAzEQBuAgCtbqxauXRW_C1snHbrbHUtQKXezBnkOanW23tElNUqH_3iwVT8MMD8M7Q8g9hRGlMH6p6xEDWowkvyADOuYyF1TwSzIAJllOJWfX5CaELQAUDKoBWS9tgz5EbZvOrrOF81Gvul0XT5lrM53NuvUmn-MP7rKFd2uv9_ve1a5JE2ezqbMR9wfntT9lM4yYEFp0x5BNvNl0EU08egy35KrVu4B3f3VIlm-vX9NZPv98_5hO5rnhgsVcVkIWhlVQgijMSoOoWMVo6lvaGllIKFcN17ykbAWsatpKtLqEpgTUY10KPiSP570uxE4F0wfYGGdtyqEoKwspIKGnMzp4933EENXWHb1NuRSVINL2Uvbq-ayMdyF4bNXBd_t0p6Kg-m-rulb9t5XkCT-ccYeI_1DSohAM-C9OkXn-</recordid><startdate>20150701</startdate><enddate>20150701</enddate><creator>Sabne, Amit</creator><creator>Sakdhnagool, Putt</creator><creator>Seyong Lee</creator><creator>Vetter, Jeffrey S.</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>OIOZB</scope><scope>OTOTI</scope></search><sort><creationdate>20150701</creationdate><title>Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures</title><author>Sabne, Amit ; Sakdhnagool, Putt ; Seyong Lee ; Vetter, Jeffrey S.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c342t-78475c2806045cba0482821806f1fc75706bd3a3612b028df84fa60d60ea9a643</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2015</creationdate><topic>compilers</topic><topic>Computer architecture</topic><topic>Computer programming</topic><topic>Computer programs</topic><topic>Graphics processing units</topic><topic>heterogeneous (hybrid) systems</topic><topic>HeteroIR</topic><topic>MATHEMATICS AND COMPUTING</topic><topic>measurements</topic><topic>Microwave integrated circuits</topic><topic>Optimization</topic><topic>Performance evaluation</topic><topic>Remove Hybrid</topic><topic>runtime environments</topic><topic>Systems portability</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Sabne, Amit</creatorcontrib><creatorcontrib>Sakdhnagool, Putt</creatorcontrib><creatorcontrib>Seyong Lee</creatorcontrib><creatorcontrib>Vetter, Jeffrey S.</creatorcontrib><creatorcontrib>Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>OSTI.GOV - Hybrid</collection><collection>OSTI.GOV</collection><jtitle>IEEE MICRO</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Sabne, Amit</au><au>Sakdhnagool, Putt</au><au>Seyong Lee</au><au>Vetter, Jeffrey S.</au><aucorp>Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States)</aucorp><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures</atitle><jtitle>IEEE MICRO</jtitle><stitle>MM</stitle><date>2015-07-01</date><risdate>2015</risdate><volume>35</volume><issue>4</issue><spage>48</spage><epage>58</epage><pages>48-58</pages><issn>0272-1732</issn><eissn>1937-4143</eissn><coden>IEMIDZ</coden><abstract>Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.</abstract><cop>Los Alamitos</cop><pub>IEEE</pub><doi>10.1109/MM.2015.73</doi><tpages>11</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0272-1732
ispartof IEEE MICRO, 2015-07, Vol.35 (4), p.48-58
issn 0272-1732
1937-4143
language eng
recordid cdi_osti_scitechconnect_1265740
source IEEE Electronic Library (IEL)
subjects compilers
Computer architecture
Computer programming
Computer programs
Graphics processing units
heterogeneous (hybrid) systems
HeteroIR
MATHEMATICS AND COMPUTING
measurements
Microwave integrated circuits
Optimization
Performance evaluation
Remove Hybrid
runtime environments
Systems portability
title Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-03T22%3A14%3A02IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Understanding%20Portability%20of%20a%20High-Level%20Programming%20Model%20on%20Contemporary%20Heterogeneous%20Architectures&rft.jtitle=IEEE%20MICRO&rft.au=Sabne,%20Amit&rft.aucorp=Oak%20Ridge%20National%20Lab.%20(ORNL),%20Oak%20Ridge,%20TN%20(United%20States)&rft.date=2015-07-01&rft.volume=35&rft.issue=4&rft.spage=48&rft.epage=58&rft.pages=48-58&rft.issn=0272-1732&rft.eissn=1937-4143&rft.coden=IEMIDZ&rft_id=info:doi/10.1109/MM.2015.73&rft_dat=%3Cproquest_RIE%3E3779440401%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1704361670&rft_id=info:pmid/&rft_ieee_id=7155420&rfr_iscdi=true