Open main menu

CDOT Wiki β

GPU621/To Be Announced

Revision as of 19:43, 11 November 2020 by Elen s (talk | contribs)

OpenMP Device Offloading

OpenMP 4.0/4.5 introduced support for heterogeneous systems such as accelerators and GPUs. The purpose of this overview is to demonstrate OpenMP's device constructs used for offloading data and code from a host device (Multicore CPU) to a target's device environment (GPU/Accelerator). We will demonstrate how to manage the device's data environment, parallelism and work-sharing. Review how data is mapped from the host data environment to the device data environment, and attempt to use different compilers that support OpenMP offloading such as LLVM/Clang or GCC.

Group Members

1. Elena Sakhnovitch

2. Nathan Olah

3. Yunseon Lee

Progress

Difference of CPU and GPU for parallel applications (Yunseon)

Latest GPU specs (Yunseon)

AMD:

NVIDIA:

Means of parallelisation on GPUs

short introduction and advantages and disadvantages of:

CUDA (Yunseon) OpenMP (Elena) HIP (Elena) OpenMPI (Nathan)

Instructions

How to set up compiler and target offloading for windows, on NVIDIA GPU: (Nathan)

How to set up compiler and target offloading for Linux on AMD GPU: (Elena)

Code for tests (Nathan)

Results and Graphs (Nathan/Elena)

Conclusions (Nathan/Elena/Yunseon)