Loading…

On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures

This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-...

Full description

Saved in:
Bibliographic Details
Published in:Information (Basel) 2024-11, Vol.15 (11), p.673
Main Authors: Morgan, Nathaniel, Yenusah, Caleb, Diaz, Adrian, Dunning, Daniel, Moore, Jacob, Heilman, Erin, Roth, Calvin, Lieberman, Evan, Walton, Steven, Brown, Sarah, Holladay, Daniel, Knezevic, Marko, Whetstone, Gavin, Baker, Zachary, Robey, Robert
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites cdi_FETCH-LOGICAL-c282t-b9144e9d9632f7d792329e3dcd503425000d061be343bebf2a04709e46fb1a9f3
container_end_page
container_issue 11
container_start_page 673
container_title Information (Basel)
container_volume 15
creator Morgan, Nathaniel
Yenusah, Caleb
Diaz, Adrian
Dunning, Daniel
Moore, Jacob
Heilman, Erin
Roth, Calvin
Lieberman, Evan
Walton, Steven
Brown, Sarah
Holladay, Daniel
Knezevic, Marko
Whetstone, Gavin
Baker, Zachary
Robey, Robert
description This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.
doi_str_mv 10.3390/info15110673
format article
fullrecord <record><control><sourceid>gale_doaj_</sourceid><recordid>TN_cdi_doaj_primary_oai_doaj_org_article_b90005bba94b461cbec2521162b0c6d5</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><galeid>A818337001</galeid><doaj_id>oai_doaj_org_article_b90005bba94b461cbec2521162b0c6d5</doaj_id><sourcerecordid>A818337001</sourcerecordid><originalsourceid>FETCH-LOGICAL-c282t-b9144e9d9632f7d792329e3dcd503425000d061be343bebf2a04709e46fb1a9f3</originalsourceid><addsrcrecordid>eNpNkU1LJDEQhhtZQVFv_oCg1x3NV3c6x2ZwVRAc2PUc8lFxMvR0ZpOM4L83M70sJocKlbee5K1qmmuC7xiT-D5MPpKWENwJdtKcUyz6BeW9_PHtfNZc5bzBdQnR856cN-F1Qhr9DtvdGHwAh4bdLkVt16hENNh1gA9AK530OMKIVpB8TFs9WUB6cmgVU9EmjKF8VnGKOaPl6u149VjjkCqggC37BPmyOfV6zHD1L140b78e_iyfFi-vj8_L4WVhaU_LwkjCOUgnO0a9cEJSRiUwZ12LGadt_bvDHTHAODNgPNWYCyyBd94QLT27aJ5nrot6o3YpbHX6VFEHdUzE9K50KsGOoIystNYYLbnhHbEGLG0pIR012HauraybmRVzCSrbg5m1jdNUPSnKRUtpX0W3s6g27u8eclGbuE9T9agYYQy3UuAD6m5Wvev68mFYJWlbt4NtqEjwoeaHnvSMCYxJLfg5Fxz7msD_90KwOkxcfZ84-wLGrZu-</addsrcrecordid><sourcetype>Open Website</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>3133059705</pqid></control><display><type>article</type><title>On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures</title><source>Publicly Available Content (ProQuest)</source><creator>Morgan, Nathaniel ; Yenusah, Caleb ; Diaz, Adrian ; Dunning, Daniel ; Moore, Jacob ; Heilman, Erin ; Roth, Calvin ; Lieberman, Evan ; Walton, Steven ; Brown, Sarah ; Holladay, Daniel ; Knezevic, Marko ; Whetstone, Gavin ; Baker, Zachary ; Robey, Robert</creator><creatorcontrib>Morgan, Nathaniel ; Yenusah, Caleb ; Diaz, Adrian ; Dunning, Daniel ; Moore, Jacob ; Heilman, Erin ; Roth, Calvin ; Lieberman, Evan ; Walton, Steven ; Brown, Sarah ; Holladay, Daniel ; Knezevic, Marko ; Whetstone, Gavin ; Baker, Zachary ; Robey, Robert</creatorcontrib><description>This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.</description><identifier>ISSN: 2078-2489</identifier><identifier>EISSN: 2078-2489</identifier><identifier>DOI: 10.3390/info15110673</identifier><language>eng</language><publisher>Basel: MDPI AG</publisher><subject>Application programming interface ; C plus plus ; C++ (programming language) ; Central processing units ; Codes ; CPUs ; Data structures ; dense and sparse data ; fine-grained parallelism ; FORTRAN ; Fourier transforms ; GPUs ; Graphics processing units ; Libraries ; Memory management ; Modernization ; Open source software ; Physics ; Portability ; productivity ; Programming languages ; Project feasibility ; Python ; Software ; Software development ; Source code ; Syntax</subject><ispartof>Information (Basel), 2024-11, Vol.15 (11), p.673</ispartof><rights>COPYRIGHT 2024 MDPI AG</rights><rights>2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c282t-b9144e9d9632f7d792329e3dcd503425000d061be343bebf2a04709e46fb1a9f3</cites><orcidid>0000-0002-0673-9741 ; 0000-0002-7611-8449 ; 0000-0002-4695-8105 ; 0000-0001-8190-0075 ; 0000-0002-4926-6569 ; 0000-0002-3744-5615 ; 0000-0001-8215-1379 ; 0000000181900075 ; 0000000237445615 ; 0000000206739741 ; 0000000182151379 ; 0000000246958105 ; 0000000276118449 ; 0000000249266569</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://www.proquest.com/docview/3133059705/fulltextPDF?pq-origsite=primo$$EPDF$$P50$$Gproquest$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://www.proquest.com/docview/3133059705?pq-origsite=primo$$EHTML$$P50$$Gproquest$$Hfree_for_read</linktohtml><link.rule.ids>230,314,780,784,885,25753,27924,27925,37012,44590,74998</link.rule.ids><backlink>$$Uhttps://www.osti.gov/biblio/2475228$$D View this record in Osti.gov$$Hfree_for_read</backlink></links><search><creatorcontrib>Morgan, Nathaniel</creatorcontrib><creatorcontrib>Yenusah, Caleb</creatorcontrib><creatorcontrib>Diaz, Adrian</creatorcontrib><creatorcontrib>Dunning, Daniel</creatorcontrib><creatorcontrib>Moore, Jacob</creatorcontrib><creatorcontrib>Heilman, Erin</creatorcontrib><creatorcontrib>Roth, Calvin</creatorcontrib><creatorcontrib>Lieberman, Evan</creatorcontrib><creatorcontrib>Walton, Steven</creatorcontrib><creatorcontrib>Brown, Sarah</creatorcontrib><creatorcontrib>Holladay, Daniel</creatorcontrib><creatorcontrib>Knezevic, Marko</creatorcontrib><creatorcontrib>Whetstone, Gavin</creatorcontrib><creatorcontrib>Baker, Zachary</creatorcontrib><creatorcontrib>Robey, Robert</creatorcontrib><title>On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures</title><title>Information (Basel)</title><description>This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.</description><subject>Application programming interface</subject><subject>C plus plus</subject><subject>C++ (programming language)</subject><subject>Central processing units</subject><subject>Codes</subject><subject>CPUs</subject><subject>Data structures</subject><subject>dense and sparse data</subject><subject>fine-grained parallelism</subject><subject>FORTRAN</subject><subject>Fourier transforms</subject><subject>GPUs</subject><subject>Graphics processing units</subject><subject>Libraries</subject><subject>Memory management</subject><subject>Modernization</subject><subject>Open source software</subject><subject>Physics</subject><subject>Portability</subject><subject>productivity</subject><subject>Programming languages</subject><subject>Project feasibility</subject><subject>Python</subject><subject>Software</subject><subject>Software development</subject><subject>Source code</subject><subject>Syntax</subject><issn>2078-2489</issn><issn>2078-2489</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>PIMPY</sourceid><sourceid>DOA</sourceid><recordid>eNpNkU1LJDEQhhtZQVFv_oCg1x3NV3c6x2ZwVRAc2PUc8lFxMvR0ZpOM4L83M70sJocKlbee5K1qmmuC7xiT-D5MPpKWENwJdtKcUyz6BeW9_PHtfNZc5bzBdQnR856cN-F1Qhr9DtvdGHwAh4bdLkVt16hENNh1gA9AK530OMKIVpB8TFs9WUB6cmgVU9EmjKF8VnGKOaPl6u149VjjkCqggC37BPmyOfV6zHD1L140b78e_iyfFi-vj8_L4WVhaU_LwkjCOUgnO0a9cEJSRiUwZ12LGadt_bvDHTHAODNgPNWYCyyBd94QLT27aJ5nrot6o3YpbHX6VFEHdUzE9K50KsGOoIystNYYLbnhHbEGLG0pIR012HauraybmRVzCSrbg5m1jdNUPSnKRUtpX0W3s6g27u8eclGbuE9T9agYYQy3UuAD6m5Wvev68mFYJWlbt4NtqEjwoeaHnvSMCYxJLfg5Fxz7msD_90KwOkxcfZ84-wLGrZu-</recordid><startdate>20241101</startdate><enddate>20241101</enddate><creator>Morgan, Nathaniel</creator><creator>Yenusah, Caleb</creator><creator>Diaz, Adrian</creator><creator>Dunning, Daniel</creator><creator>Moore, Jacob</creator><creator>Heilman, Erin</creator><creator>Roth, Calvin</creator><creator>Lieberman, Evan</creator><creator>Walton, Steven</creator><creator>Brown, Sarah</creator><creator>Holladay, Daniel</creator><creator>Knezevic, Marko</creator><creator>Whetstone, Gavin</creator><creator>Baker, Zachary</creator><creator>Robey, Robert</creator><general>MDPI AG</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>Q9U</scope><scope>OTOTI</scope><scope>DOA</scope><orcidid>https://orcid.org/0000-0002-0673-9741</orcidid><orcidid>https://orcid.org/0000-0002-7611-8449</orcidid><orcidid>https://orcid.org/0000-0002-4695-8105</orcidid><orcidid>https://orcid.org/0000-0001-8190-0075</orcidid><orcidid>https://orcid.org/0000-0002-4926-6569</orcidid><orcidid>https://orcid.org/0000-0002-3744-5615</orcidid><orcidid>https://orcid.org/0000-0001-8215-1379</orcidid><orcidid>https://orcid.org/0000000181900075</orcidid><orcidid>https://orcid.org/0000000237445615</orcidid><orcidid>https://orcid.org/0000000206739741</orcidid><orcidid>https://orcid.org/0000000182151379</orcidid><orcidid>https://orcid.org/0000000246958105</orcidid><orcidid>https://orcid.org/0000000276118449</orcidid><orcidid>https://orcid.org/0000000249266569</orcidid></search><sort><creationdate>20241101</creationdate><title>On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures</title><author>Morgan, Nathaniel ; Yenusah, Caleb ; Diaz, Adrian ; Dunning, Daniel ; Moore, Jacob ; Heilman, Erin ; Roth, Calvin ; Lieberman, Evan ; Walton, Steven ; Brown, Sarah ; Holladay, Daniel ; Knezevic, Marko ; Whetstone, Gavin ; Baker, Zachary ; Robey, Robert</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c282t-b9144e9d9632f7d792329e3dcd503425000d061be343bebf2a04709e46fb1a9f3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Application programming interface</topic><topic>C plus plus</topic><topic>C++ (programming language)</topic><topic>Central processing units</topic><topic>Codes</topic><topic>CPUs</topic><topic>Data structures</topic><topic>dense and sparse data</topic><topic>fine-grained parallelism</topic><topic>FORTRAN</topic><topic>Fourier transforms</topic><topic>GPUs</topic><topic>Graphics processing units</topic><topic>Libraries</topic><topic>Memory management</topic><topic>Modernization</topic><topic>Open source software</topic><topic>Physics</topic><topic>Portability</topic><topic>productivity</topic><topic>Programming languages</topic><topic>Project feasibility</topic><topic>Python</topic><topic>Software</topic><topic>Software development</topic><topic>Source code</topic><topic>Syntax</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Morgan, Nathaniel</creatorcontrib><creatorcontrib>Yenusah, Caleb</creatorcontrib><creatorcontrib>Diaz, Adrian</creatorcontrib><creatorcontrib>Dunning, Daniel</creatorcontrib><creatorcontrib>Moore, Jacob</creatorcontrib><creatorcontrib>Heilman, Erin</creatorcontrib><creatorcontrib>Roth, Calvin</creatorcontrib><creatorcontrib>Lieberman, Evan</creatorcontrib><creatorcontrib>Walton, Steven</creatorcontrib><creatorcontrib>Brown, Sarah</creatorcontrib><creatorcontrib>Holladay, Daniel</creatorcontrib><creatorcontrib>Knezevic, Marko</creatorcontrib><creatorcontrib>Whetstone, Gavin</creatorcontrib><creatorcontrib>Baker, Zachary</creatorcontrib><creatorcontrib>Robey, Robert</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies &amp; Aerospace Database‎ (1962 - current)</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection (Proquest) (PQ_SDU_P3)</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</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>Computing Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>Publicly Available Content (ProQuest)</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>ProQuest Central Basic</collection><collection>OSTI.GOV</collection><collection>DOAJ Directory of Open Access Journals</collection><jtitle>Information (Basel)</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Morgan, Nathaniel</au><au>Yenusah, Caleb</au><au>Diaz, Adrian</au><au>Dunning, Daniel</au><au>Moore, Jacob</au><au>Heilman, Erin</au><au>Roth, Calvin</au><au>Lieberman, Evan</au><au>Walton, Steven</au><au>Brown, Sarah</au><au>Holladay, Daniel</au><au>Knezevic, Marko</au><au>Whetstone, Gavin</au><au>Baker, Zachary</au><au>Robey, Robert</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures</atitle><jtitle>Information (Basel)</jtitle><date>2024-11-01</date><risdate>2024</risdate><volume>15</volume><issue>11</issue><spage>673</spage><pages>673-</pages><issn>2078-2489</issn><eissn>2078-2489</eissn><abstract>This paper presents software advances to easily exploit computer architectures consisting of a multi-core CPU and CPU+GPU to accelerate diverse types of high-performance computing (HPC) applications using a single code implementation. The paper describes and demonstrates the performance of the open-source C++ matrix and array (MATAR) library that uniquely offers: (1) a straightforward syntax for programming productivity, (2) usable data structures for data-oriented programming (DOP) for performance, and (3) a simple interface to the open-source C++ Kokkos library for portability and memory management across CPUs and GPUs. The portability across architectures with a single code implementation is achieved by automatically switching between diverse fine-grained parallelism backends (e.g., CUDA, HIP, OpenMP, pthreads, etc.) at compile time. The MATAR library solves many longstanding challenges associated with easily writing software that can run in parallel on any computer architecture. This work benefits projects seeking to write new C++ codes while also addressing the challenges of quickly making existing Fortran codes performant and portable over modern computer architectures with minimal syntactical changes from Fortran to C++. We demonstrate the feasibility of readily writing new C++ codes and modernizing existing codes with MATAR to be performant, parallel, and portable across diverse computer architectures.</abstract><cop>Basel</cop><pub>MDPI AG</pub><doi>10.3390/info15110673</doi><orcidid>https://orcid.org/0000-0002-0673-9741</orcidid><orcidid>https://orcid.org/0000-0002-7611-8449</orcidid><orcidid>https://orcid.org/0000-0002-4695-8105</orcidid><orcidid>https://orcid.org/0000-0001-8190-0075</orcidid><orcidid>https://orcid.org/0000-0002-4926-6569</orcidid><orcidid>https://orcid.org/0000-0002-3744-5615</orcidid><orcidid>https://orcid.org/0000-0001-8215-1379</orcidid><orcidid>https://orcid.org/0000000181900075</orcidid><orcidid>https://orcid.org/0000000237445615</orcidid><orcidid>https://orcid.org/0000000206739741</orcidid><orcidid>https://orcid.org/0000000182151379</orcidid><orcidid>https://orcid.org/0000000246958105</orcidid><orcidid>https://orcid.org/0000000276118449</orcidid><orcidid>https://orcid.org/0000000249266569</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2078-2489
ispartof Information (Basel), 2024-11, Vol.15 (11), p.673
issn 2078-2489
2078-2489
language eng
recordid cdi_doaj_primary_oai_doaj_org_article_b90005bba94b461cbec2521162b0c6d5
source Publicly Available Content (ProQuest)
subjects Application programming interface
C plus plus
C++ (programming language)
Central processing units
Codes
CPUs
Data structures
dense and sparse data
fine-grained parallelism
FORTRAN
Fourier transforms
GPUs
Graphics processing units
Libraries
Memory management
Modernization
Open source software
Physics
Portability
productivity
Programming languages
Project feasibility
Python
Software
Software development
Source code
Syntax
title On a Simplified Approach to Achieve Parallel Performance and Portability Across CPU and GPU Architectures
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-07T19%3A20%3A29IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-gale_doaj_&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=On%20a%20Simplified%20Approach%20to%20Achieve%20Parallel%20Performance%20and%20Portability%20Across%20CPU%20and%20GPU%20Architectures&rft.jtitle=Information%20(Basel)&rft.au=Morgan,%20Nathaniel&rft.date=2024-11-01&rft.volume=15&rft.issue=11&rft.spage=673&rft.pages=673-&rft.issn=2078-2489&rft.eissn=2078-2489&rft_id=info:doi/10.3390/info15110673&rft_dat=%3Cgale_doaj_%3EA818337001%3C/gale_doaj_%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c282t-b9144e9d9632f7d792329e3dcd503425000d061be343bebf2a04709e46fb1a9f3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=3133059705&rft_id=info:pmid/&rft_galeid=A818337001&rfr_iscdi=true