OpenMP 5.1 Released With Better Interoperability For CUDA / AMD HIP / OpenCL

Written by Michael Larabel in Standards on 14 November 2020 at 01:00 AM EST. 1 Comment
STANDARDS
For the Supercomputing SC20 week there is the release of the OpenMP 5.1 specification with some exciting additions.

It's been two years already since the release of the OpenMP 5.0 specification and the update released on Friday is quite a worthy update:

- OpenMP 5.1 introduces a new interop construct for improving interoperability with non-OpenMP device execution contexts. This aims to improve the portability of OpenMP 5.1+ to non-native interfaces/accelerators. This interop construct is designed with NVIDIA CUDA, AMD ROCm/HIP, and OpenCL in mind. The interop construct is used for dealing with interoperability properties for one or more "foreign runtime environments".

- Full support for C11, C18, C++11, C++14, C++17, and C++20 standards.

- Fortran 2008 is also now fully supported along with initial support for Fortran 2018.

- Also improving the OpenMP 5.1 accelerator support is support for device-specific environment variables and function pointers that can be mapped to a device or accelerator.

- A new error directive so the developer can generate compile-time errors/warnings.

Find out more about the OpenMP 5.1 release via the specification (PDF). General details on the OpenMP 5.1 release can be found via OpenMP.org.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week