Academic Journal

Compute units in OpenMP: extensions for heterogeneous parallel programming

Bibliographic Details
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