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...
Gespeichert in:
Veröffentlicht in: | IEEE MICRO 2015-07, Vol.35 (4), p.48-58 |
---|---|
Hauptverfasser: | , , , |
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 & 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 |