2021
DOI: 10.1007/978-3-030-85262-7_11
|View full text |Cite
|
Sign up to set email alerts
|

Experience Report: Writing a Portable GPU Runtime with OpenMP 5.1

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
4
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
3
3

Relationship

0
6

Authors

Journals

citations
Cited by 19 publications
(4 citation statements)
references
References 1 publication
0
4
0
Order By: Relevance
“…But the main differences arise from the introduction of an abstraction such as Compute Unit and also the lack of support for a distributed shared memory approach. More recent works have evaluated the OpenMP 5.2 specification, 27,28 and have indicated the lack for appropriate work-distribution schemes for hybrid executions, as well as the nonexistence of support to solve the entanglement between the work distribution and the data placement in a distributed shared-memory architecture.…”
Section: Related Workmentioning
confidence: 99%
“…But the main differences arise from the introduction of an abstraction such as Compute Unit and also the lack of support for a distributed shared memory approach. More recent works have evaluated the OpenMP 5.2 specification, 27,28 and have indicated the lack for appropriate work-distribution schemes for hybrid executions, as well as the nonexistence of support to solve the entanglement between the work distribution and the data placement in a distributed shared-memory architecture.…”
Section: Related Workmentioning
confidence: 99%
“…In a recent experience report Tian et al [28] presented the idea of a portable GPU runtime in order to have support for Nvidia and AMD GPUs. This replacement library can be shipped in Linux distributions LLVM packages, which lowers the entry barrier for OpenMP offloading, because no vendor-specific SDKs are required.…”
Section: Related Workmentioning
confidence: 99%
“…Specifically, within a single CPU+GPU node, general purpose APIs typically used for GPUs include CUDA, OpenCL, OpenACC, 1 and OpenMP. 2 For a GPU cluster, the aforementioned APIs are combined with MPI for example, CUDA+MPI 1 or OpenMP+CUDA+MPI. 3 However, this is a real challenge for many programmers as they often use just a single or only selected APIs.…”
Section: Introductionmentioning
confidence: 99%
“…Efficient and scalable programming such GPU systems requires proper APIs. Specifically, within a single CPU+GPU node, general purpose APIs typically used for GPUs include CUDA, OpenCL, OpenACC, 1 and OpenMP 2 . For a GPU cluster, the aforementioned APIs are combined with MPI for example, CUDA+MPI 1 or OpenMP+CUDA+MPI 3 .…”
Section: Introductionmentioning
confidence: 99%