TY - GEN
T1 - A Virtual GPU as Developer-Friendly OpenMP Offload Target
AU - Patel, Atmn
AU - Tian, Shilei
AU - Doerfert, Johannes
AU - Chapman, Barbara
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2021/8/9
Y1 - 2021/8/9
N2 - While parallel programming is hard, programming accelerators has always been even more complicated. One fundamental reason is the lack of mature tooling that can be used to inspect a program that executes on two different architectures. As GPU software stacks of different vendors provide vastly different experience for developers, it is clear that the gold standard for debugging is still host (CPU) execution with its myriad of mature tooling options. In this work we present a virtual GPU (VGPU) OpenMP offloading target that allows to emulate a GPU execution environment on the host. In contrast to classical "host offloading", the VGPU target reuses the same execution model, compilation paths, and runtimes as a physical GPU. While this execution mode is not able to perform as good as host-specific compilation, runtimes, and execution, it provides the developor with a more accurate stand-in for GPU offloading that is still amendable to existing host tooling.
AB - While parallel programming is hard, programming accelerators has always been even more complicated. One fundamental reason is the lack of mature tooling that can be used to inspect a program that executes on two different architectures. As GPU software stacks of different vendors provide vastly different experience for developers, it is clear that the gold standard for debugging is still host (CPU) execution with its myriad of mature tooling options. In this work we present a virtual GPU (VGPU) OpenMP offloading target that allows to emulate a GPU execution environment on the host. In contrast to classical "host offloading", the VGPU target reuses the same execution model, compilation paths, and runtimes as a physical GPU. While this execution mode is not able to perform as good as host-specific compilation, runtimes, and execution, it provides the developor with a more accurate stand-in for GPU offloading that is still amendable to existing host tooling.
KW - Accelerator offloading
KW - Debugging
KW - Gpu
KW - Llvm
KW - Openmp
UR - https://www.scopus.com/pages/publications/85115968483
U2 - 10.1145/3458744.3473356
DO - 10.1145/3458744.3473356
M3 - Conference contribution
AN - SCOPUS:85115968483
T3 - ACM International Conference Proceeding Series
BT - 50th International Conference on Parallel Processing Workshop, ICPP 2021 - Proceedings
PB - Association for Computing Machinery
T2 - 50th International Conference on Parallel Processing Workshop, ICPP 2021
Y2 - 9 August 2021 through 12 August 2021
ER -