GCC Newspaper
JUNE 15, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
libgomp

libgomp: Fix ipr_vendor for OpenMP's Interop

Corrects the vendor ID for OpenMP interop to identify the compiler (GNU) rather than the foreign runtime (e.g., CUDA, ROCm).

This commit fixes the ipr_vendor value in libgomp, the GNU OpenMP library, to correctly identify the compiler (GCC/GNU) as the implementation vendor for OpenMP’s interoperability features, rather than the vendor of the foreign runtime (e.g., Nvidia for CUDA, AMD for ROCm/HSA/HIP). The value is updated to 5 / “gnu” as specified in the OpenMP documentation.

In Details

The commit modifies plugin/plugin-gcn.c and plugin/plugin-nvptx.c to return 5/"gnu" as the ipr_vendor in GOMP_OFFLOAD_get_interop_int and GOMP_OFFLOAD_get_interop_str, respectively. This aligns with the OpenMP specification's requirement for identifying the compiler vendor, not the accelerator vendor, in interoperability contexts. The change also includes testsuite updates to reflect the corrected value.

For Context

OpenMP allows programs to offload computations to different devices, such as GPUs. When different OpenMP implementations need to work together (interoperability), it's important to identify the vendor of each implementation. This commit corrects the vendor identification in the GNU OpenMP library (libgomp) to properly identify the compiler (GCC) as the vendor, rather than the GPU vendor, ensuring correct behavior when interoperating with other OpenMP implementations like those from Nvidia or AMD.

Filed Under: libgompopenmpinteroperabilityoffloading