OpenMP, starting with version 4, has been extended to work with many accelerators. This with pressure from OpenACC, which works on GPUs only.
With few code-changes existing code can be made run on an accelerator – it won’t perform after this initial step. Be aware it takes about the same amount of time as with CUDA or OpenCL to make it perform.
OpenMP code is less alien than CUDA or OpenCL for many people.
It works on various types of hardware:
- CPUs. X86 (Intel, AMD), ARM and PowerPC
- HSA processors. Recent AMD GPUs and APUs.
- Intel XeonPhi
- NVidia CUDA devices (in alpha via GCC and LLVM CLang)