Academic Journal
Compute units in OpenMP: extensions for heterogeneous parallel programming
| Title: | Compute units in OpenMP: extensions for heterogeneous parallel programming |
|---|---|
| Authors: | González Tallada, Marc, Morancho Llena, Enrique |
| Contributors: | Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya. PM - Programming Models |
| Publisher Information: | John Wiley & sons |
| Publication Year: | 2024 |
| Collection: | Universitat Politècnica de Catalunya, BarcelonaTech: UPCommons - Global access to UPC knowledge |
| Subject Terms: | Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors, Parallel programming (Computer science), Application program interfaces (Computer software), Graphics processing units, GPUs, Heterogeneous computing, OpenMP, Work distribution, Programació en paral·lel (Informàtica), Interfícies de programació d'aplicacions (Programari), Unitats de processament gràfic |
| Description: | This article evaluates the current support for heterogeneous OpenMP 5.2 applications regarding the simultaneous activation of host and device computing units (e.g., CPUs, GPUs, or FPGAs). The article identifies limitations in the current OpenMP specification and describes the design and implementation of novel OpenMP extensions and runtime support for heterogeneous parallel programming. The Compute Unit (CUs) abstraction is introduced in the OpenMP programming model. The Compute Unit abstraction is defined in terms of an aggregation of computing elements (e.g., CPUs, GPUs, FPGAs). On top of CUs, the article describes dynamic work sharing constructs and schedulers that address the inherent differences in compute power of host and device CUs. New constructs and the corresponding runtime support are described for the new abstractions. The article evaluates the case of a hybrid multilevel parallelization of the NPB-MZ benchmark suite. The implementation exploits both coarse-grain and fine-grain parallelism, mapped to CUs of different nature (GPUs and CPUs). All CUs are activated using the new extensions and runtime support. We compare hybrid and nonhybrid executions under two state-of-the-art work-distribution schemes (Static and Dynamic Task schedulers). On a computing node composed of one AMD EPYC 7742 @ 2.250GHz (64 cores and 2 threads/core, totalling 128 threads per node) and 2 GPU AMD Radeon Instinct MI50 with 32GB, hybrid executions present speedups from 1.08 up to 3.18 with respect to a nonhybrid GPU implementation, depending on the number of activated CUs. ; This work was supported by the Spanish Ministry of Science and Technology (PID2019-107255GB). ; Peer Reviewed ; Postprint (published version) |
| Document Type: | article in journal/newspaper |
| File Description: | 22 p.; application/pdf |
| Language: | English |
| Relation: | info:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2017-2020/PID2019-107255GB-C22/ES/UPC-COMPUTACION DE ALTAS PRESTACIONES VIII/; Gonzalez, M.; Morancho, E. Compute units in OpenMP: extensions for heterogeneous parallel programming. "Concurrency and computation: practice and experience", 10 Gener 2024, vol. 36, núm. 1, article e7885.; https://hdl.handle.net/2117/394656 |
| DOI: | 10.1002/cpe.7885 |
| Availability: | https://hdl.handle.net/2117/394656 https://doi.org/10.1002/cpe.7885 |
| Rights: | http://creativecommons.org/licenses/by-nc-nd/4.0/ ; Open Access ; Attribution-NonCommercial-NoDerivatives 4.0 International |
| Accession Number: | edsbas.C63D29AA |
| Database: | BASE |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://hdl.handle.net/2117/394656# Name: EDS - BASE (ns324271) Category: fullText Text: View record from BASE |
|---|---|
| Header | DbId: edsbas DbLabel: BASE An: edsbas.C63D29AA RelevancyScore: 950 AccessLevel: 3 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 949.707946777344 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: Compute units in OpenMP: extensions for heterogeneous parallel programming – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22González+Tallada%2C+Marc%22">González Tallada, Marc</searchLink><br /><searchLink fieldCode="AR" term="%22Morancho+Llena%2C+Enrique%22">Morancho Llena, Enrique</searchLink> – Name: Author Label: Contributors Group: Au Data: Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors<br />Universitat Politècnica de Catalunya. PM - Programming Models – Name: Publisher Label: Publisher Information Group: PubInfo Data: John Wiley & sons – Name: DatePubCY Label: Publication Year Group: Date Data: 2024 – Name: Subset Label: Collection Group: HoldingsInfo Data: Universitat Politècnica de Catalunya, BarcelonaTech: UPCommons - Global access to UPC knowledge – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22Àrees+temàtiques+de+la+UPC%3A%3AInformàtica%3A%3AArquitectura+de+computadors%22">Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors</searchLink><br /><searchLink fieldCode="DE" term="%22Parallel+programming+%28Computer+science%29%22">Parallel programming (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Application+program+interfaces+%28Computer+software%29%22">Application program interfaces (Computer software)</searchLink><br /><searchLink fieldCode="DE" term="%22Graphics+processing+units%22">Graphics processing units</searchLink><br /><searchLink fieldCode="DE" term="%22GPUs%22">GPUs</searchLink><br /><searchLink fieldCode="DE" term="%22Heterogeneous+computing%22">Heterogeneous computing</searchLink><br /><searchLink fieldCode="DE" term="%22OpenMP%22">OpenMP</searchLink><br /><searchLink fieldCode="DE" term="%22Work+distribution%22">Work distribution</searchLink><br /><searchLink fieldCode="DE" term="%22Programació+en+paral·lel+%28Informàtica%29%22">Programació en paral·lel (Informàtica)</searchLink><br /><searchLink fieldCode="DE" term="%22Interfícies+de+programació+d'aplicacions+%28Programari%29%22">Interfícies de programació d'aplicacions (Programari)</searchLink><br /><searchLink fieldCode="DE" term="%22Unitats+de+processament+gràfic%22">Unitats de processament gràfic</searchLink> – Name: Abstract Label: Description Group: Ab Data: This article evaluates the current support for heterogeneous OpenMP 5.2 applications regarding the simultaneous activation of host and device computing units (e.g., CPUs, GPUs, or FPGAs). The article identifies limitations in the current OpenMP specification and describes the design and implementation of novel OpenMP extensions and runtime support for heterogeneous parallel programming. The Compute Unit (CUs) abstraction is introduced in the OpenMP programming model. The Compute Unit abstraction is defined in terms of an aggregation of computing elements (e.g., CPUs, GPUs, FPGAs). On top of CUs, the article describes dynamic work sharing constructs and schedulers that address the inherent differences in compute power of host and device CUs. New constructs and the corresponding runtime support are described for the new abstractions. The article evaluates the case of a hybrid multilevel parallelization of the NPB-MZ benchmark suite. The implementation exploits both coarse-grain and fine-grain parallelism, mapped to CUs of different nature (GPUs and CPUs). All CUs are activated using the new extensions and runtime support. We compare hybrid and nonhybrid executions under two state-of-the-art work-distribution schemes (Static and Dynamic Task schedulers). On a computing node composed of one AMD EPYC 7742 @ 2.250GHz (64 cores and 2 threads/core, totalling 128 threads per node) and 2 GPU AMD Radeon Instinct MI50 with 32GB, hybrid executions present speedups from 1.08 up to 3.18 with respect to a nonhybrid GPU implementation, depending on the number of activated CUs. ; This work was supported by the Spanish Ministry of Science and Technology (PID2019-107255GB). ; Peer Reviewed ; Postprint (published version) – Name: TypeDocument Label: Document Type Group: TypDoc Data: article in journal/newspaper – Name: Format Label: File Description Group: SrcInfo Data: 22 p.; application/pdf – Name: Language Label: Language Group: Lang Data: English – Name: NoteTitleSource Label: Relation Group: SrcInfo Data: info:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2017-2020/PID2019-107255GB-C22/ES/UPC-COMPUTACION DE ALTAS PRESTACIONES VIII/; Gonzalez, M.; Morancho, E. Compute units in OpenMP: extensions for heterogeneous parallel programming. "Concurrency and computation: practice and experience", 10 Gener 2024, vol. 36, núm. 1, article e7885.; https://hdl.handle.net/2117/394656 – Name: DOI Label: DOI Group: ID Data: 10.1002/cpe.7885 – Name: URL Label: Availability Group: URL Data: https://hdl.handle.net/2117/394656<br />https://doi.org/10.1002/cpe.7885 – Name: Copyright Label: Rights Group: Cpyrght Data: http://creativecommons.org/licenses/by-nc-nd/4.0/ ; Open Access ; Attribution-NonCommercial-NoDerivatives 4.0 International – Name: AN Label: Accession Number Group: ID Data: edsbas.C63D29AA |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.C63D29AA |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1002/cpe.7885 Languages: – Text: English Subjects: – SubjectFull: Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors Type: general – SubjectFull: Parallel programming (Computer science) Type: general – SubjectFull: Application program interfaces (Computer software) Type: general – SubjectFull: Graphics processing units Type: general – SubjectFull: GPUs Type: general – SubjectFull: Heterogeneous computing Type: general – SubjectFull: OpenMP Type: general – SubjectFull: Work distribution Type: general – SubjectFull: Programació en paral·lel (Informàtica) Type: general – SubjectFull: Interfícies de programació d'aplicacions (Programari) Type: general – SubjectFull: Unitats de processament gràfic Type: general Titles: – TitleFull: Compute units in OpenMP: extensions for heterogeneous parallel programming Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: González Tallada, Marc – PersonEntity: Name: NameFull: Morancho Llena, Enrique – PersonEntity: Name: NameFull: Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors – PersonEntity: Name: NameFull: Universitat Politècnica de Catalunya. PM - Programming Models IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2024 Identifiers: – Type: issn-locals Value: edsbas – Type: issn-locals Value: edsbas.oa |
| ResultId | 1 |