
Over the past decade or more, most of the software that uses GPGPUs has been developed in CUDA since only NVIDIA provided such hardware.
However, currently, at least three vendors provide GPU accelerators, AMD, Intel and NVIDIA. This implies that you need a vendor-agnostic programming model to use GPUs. OpenMPis such a model. It has long been used for shared-memory parallelism, but it has been extended to support offloading to accelerators.
This training will show you how to use OpenMP to offload computations to GPUs.
Learning objectives
- understand the principles of offloading computations to GPUs using OpenMP;
- know how to transfer data between the host and the device;
- be able to write programs that offload computations to GPUs.
This training if for you if you want to develop software that uses GPUs, and want the software to be portable across GPUs of different vendors.