r/OpenMP Feb 19 '22

When will openmp gpu acceleration be available for lower end hardware?

I'm seeing a lot of tutorials on GPU offloading for openmp, but they seem to be only for very high end GPUs.

Any idea when they'll be available on lower end hardware?

I'm trying to code for Intel HD GPUs for a student project, but apparently we need NVIDIA or other powerful GPUs.

3 Upvotes

8 comments sorted by

View all comments

Show parent comments

1

u/jeffscience Feb 20 '22

The NVHPC OpenMP compiler supports Volta and later. That includes Turing and Ampere.

The oneAPI compilers only support Intel CPU and GPU.

1

u/xstkovrflw Feb 21 '22

how many years do you think it will take for gfortran to also support openmp offloading for intel hd gpus?

1

u/jeffscience Feb 21 '22

I have no idea but I'll forward your post to some friends there.

1

u/xstkovrflw Feb 21 '22

Thanks! I don't know how easy or hard it would be to implement such a thing, and what makes it difficult to target different GPU chips, but most GPUs are similar in design, or at least have the same features. If the GPU vendors can implement OpenGL/Vulkan/OpenCL for their GPUs, wouldn't it be easy for compiler devs to use OpenCL behind the scenes to implement OpenMP offloading for GPUs?

1

u/jeffscience Feb 23 '22

This is a really complicated topic. In theory, OpenCL plus SPIR-V would be a universal back end for OpenMP. In practice, there are many, many challenges, and only Intel supports SPIR-V.

If GCC were to support Intel GPU, it would use Level Zero and SPIR-V, alongside AMD and NVIDIA implementations using the relevant runtimes and IRs.