Taking GPU Programming Models to Task for Performance Portability

Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU platforms, they don't make any guarantees about performance...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2024-05
Hauptverfasser: Davis, Joshua H, Sivaraman, Pranav, Kitson, Joy, Parasyris, Konstantinos, Menon, Harshitha, Minn, Isaac, Giorgis Georgakoudis, Bhatele, Abhinav
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Davis, Joshua H
Sivaraman, Pranav
Kitson, Joy
Parasyris, Konstantinos
Menon, Harshitha
Minn, Isaac
Giorgis Georgakoudis
Bhatele, Abhinav
description Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU platforms, they don't make any guarantees about performance portability. In this work, we explore several programming models -- CUDA, HIP, Kokkos, RAJA, OpenMP, OpenACC, and SYCL, to study if the performance of these models is consistently good across NVIDIA and AMD GPUs. We use five proxy applications from different scientific domains, create implementations where missing, and use them to present a comprehensive comparative evaluation of the programming models. We provide a Spack scripting-based methodology to ensure reproducibility of experiments conducted in this work. Finally, we attempt to answer the question -- to what extent does each programming model provide performance portability for heterogeneous systems in real-world usage?
format Article
fullrecord <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_journals_2926944448</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2926944448</sourcerecordid><originalsourceid>FETCH-proquest_journals_29269444483</originalsourceid><addsrcrecordid>eNpjYuA0MjY21LUwMTLiYOAtLs4yMDAwMjM3MjU15mRwDEnMzsxLV3APCFUIKMpPL0rMzQXxffNTUnOKFUryFUISi7MV0vKLFAJSi4BUbmJecqpCQH5RSWJSZk5mSSUPA2taYk5xKi-U5mZQdnMNcfbQLSjKLyxNLS6Jz8ovLcoDSsUbWRqZWZoAgYUxcaoAOLY5IQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2926944448</pqid></control><display><type>article</type><title>Taking GPU Programming Models to Task for Performance Portability</title><source>Free E- Journals</source><creator>Davis, Joshua H ; Sivaraman, Pranav ; Kitson, Joy ; Parasyris, Konstantinos ; Menon, Harshitha ; Minn, Isaac ; Giorgis Georgakoudis ; Bhatele, Abhinav</creator><creatorcontrib>Davis, Joshua H ; Sivaraman, Pranav ; Kitson, Joy ; Parasyris, Konstantinos ; Menon, Harshitha ; Minn, Isaac ; Giorgis Georgakoudis ; Bhatele, Abhinav</creatorcontrib><description>Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU platforms, they don't make any guarantees about performance portability. In this work, we explore several programming models -- CUDA, HIP, Kokkos, RAJA, OpenMP, OpenACC, and SYCL, to study if the performance of these models is consistently good across NVIDIA and AMD GPUs. We use five proxy applications from different scientific domains, create implementations where missing, and use them to present a comprehensive comparative evaluation of the programming models. We provide a Spack scripting-based methodology to ensure reproducibility of experiments conducted in this work. Finally, we attempt to answer the question -- to what extent does each programming model provide performance portability for heterogeneous systems in real-world usage?</description><identifier>EISSN: 2331-8422</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Graphics processing units ; Performance evaluation ; Platforms ; Portability ; Programming ; Software development</subject><ispartof>arXiv.org, 2024-05</ispartof><rights>2024. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>780,784</link.rule.ids></links><search><creatorcontrib>Davis, Joshua H</creatorcontrib><creatorcontrib>Sivaraman, Pranav</creatorcontrib><creatorcontrib>Kitson, Joy</creatorcontrib><creatorcontrib>Parasyris, Konstantinos</creatorcontrib><creatorcontrib>Menon, Harshitha</creatorcontrib><creatorcontrib>Minn, Isaac</creatorcontrib><creatorcontrib>Giorgis Georgakoudis</creatorcontrib><creatorcontrib>Bhatele, Abhinav</creatorcontrib><title>Taking GPU Programming Models to Task for Performance Portability</title><title>arXiv.org</title><description>Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU platforms, they don't make any guarantees about performance portability. In this work, we explore several programming models -- CUDA, HIP, Kokkos, RAJA, OpenMP, OpenACC, and SYCL, to study if the performance of these models is consistently good across NVIDIA and AMD GPUs. We use five proxy applications from different scientific domains, create implementations where missing, and use them to present a comprehensive comparative evaluation of the programming models. We provide a Spack scripting-based methodology to ensure reproducibility of experiments conducted in this work. Finally, we attempt to answer the question -- to what extent does each programming model provide performance portability for heterogeneous systems in real-world usage?</description><subject>Graphics processing units</subject><subject>Performance evaluation</subject><subject>Platforms</subject><subject>Portability</subject><subject>Programming</subject><subject>Software development</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><recordid>eNpjYuA0MjY21LUwMTLiYOAtLs4yMDAwMjM3MjU15mRwDEnMzsxLV3APCFUIKMpPL0rMzQXxffNTUnOKFUryFUISi7MV0vKLFAJSi4BUbmJecqpCQH5RSWJSZk5mSSUPA2taYk5xKi-U5mZQdnMNcfbQLSjKLyxNLS6Jz8ovLcoDSsUbWRqZWZoAgYUxcaoAOLY5IQ</recordid><startdate>20240521</startdate><enddate>20240521</enddate><creator>Davis, Joshua H</creator><creator>Sivaraman, Pranav</creator><creator>Kitson, Joy</creator><creator>Parasyris, Konstantinos</creator><creator>Menon, Harshitha</creator><creator>Minn, Isaac</creator><creator>Giorgis Georgakoudis</creator><creator>Bhatele, Abhinav</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope></search><sort><creationdate>20240521</creationdate><title>Taking GPU Programming Models to Task for Performance Portability</title><author>Davis, Joshua H ; Sivaraman, Pranav ; Kitson, Joy ; Parasyris, Konstantinos ; Menon, Harshitha ; Minn, Isaac ; Giorgis Georgakoudis ; Bhatele, Abhinav</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-proquest_journals_29269444483</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Graphics processing units</topic><topic>Performance evaluation</topic><topic>Platforms</topic><topic>Portability</topic><topic>Programming</topic><topic>Software development</topic><toplevel>online_resources</toplevel><creatorcontrib>Davis, Joshua H</creatorcontrib><creatorcontrib>Sivaraman, Pranav</creatorcontrib><creatorcontrib>Kitson, Joy</creatorcontrib><creatorcontrib>Parasyris, Konstantinos</creatorcontrib><creatorcontrib>Menon, Harshitha</creatorcontrib><creatorcontrib>Minn, Isaac</creatorcontrib><creatorcontrib>Giorgis Georgakoudis</creatorcontrib><creatorcontrib>Bhatele, Abhinav</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Davis, Joshua H</au><au>Sivaraman, Pranav</au><au>Kitson, Joy</au><au>Parasyris, Konstantinos</au><au>Menon, Harshitha</au><au>Minn, Isaac</au><au>Giorgis Georgakoudis</au><au>Bhatele, Abhinav</au><format>book</format><genre>document</genre><ristype>GEN</ristype><atitle>Taking GPU Programming Models to Task for Performance Portability</atitle><jtitle>arXiv.org</jtitle><date>2024-05-21</date><risdate>2024</risdate><eissn>2331-8422</eissn><abstract>Portability is critical to ensuring high productivity in developing and maintaining scientific software as the diversity in on-node hardware architectures increases. While several programming models provide portability for diverse GPU platforms, they don't make any guarantees about performance portability. In this work, we explore several programming models -- CUDA, HIP, Kokkos, RAJA, OpenMP, OpenACC, and SYCL, to study if the performance of these models is consistently good across NVIDIA and AMD GPUs. We use five proxy applications from different scientific domains, create implementations where missing, and use them to present a comprehensive comparative evaluation of the programming models. We provide a Spack scripting-based methodology to ensure reproducibility of experiments conducted in this work. Finally, we attempt to answer the question -- to what extent does each programming model provide performance portability for heterogeneous systems in real-world usage?</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2024-05
issn 2331-8422
language eng
recordid cdi_proquest_journals_2926944448
source Free E- Journals
subjects Graphics processing units
Performance evaluation
Platforms
Portability
Programming
Software development
title Taking GPU Programming Models to Task for Performance Portability
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-12T08%3A53%3A44IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=document&rft.atitle=Taking%20GPU%20Programming%20Models%20to%20Task%20for%20Performance%20Portability&rft.jtitle=arXiv.org&rft.au=Davis,%20Joshua%20H&rft.date=2024-05-21&rft.eissn=2331-8422&rft_id=info:doi/&rft_dat=%3Cproquest%3E2926944448%3C/proquest%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2926944448&rft_id=info:pmid/&rfr_iscdi=true