GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
libgomp

libgomp: Fix pointer attachment for GOMP_RUNTIME_USM and update docs

Correctly handles pointer attachment for GOMP_RUNTIME_USM and clarifies documentation.

This commit addresses an issue in libgomp’s GOMP_RUNTIME_USM feature by correctly handling pointer attachment for global static variables during target enter/exit data operations when self-mapping is enabled. The accompanying documentation update clarifies unsupported scenarios and removes an outdated reference to self-maps/USM, reflecting the current state of the features.

In Details

Fixes GOMP_MAP_ATTACH handling in gomp_target_enter_exit_data_usm for GOMP_RUNTIME_USM when self-mapping is active, specifically for global static pointers. Updates libgomp.texi to reflect that GOMP_RUNTIME_USM does not fully support the 'requires self_maps/unified_shard_memory' feature, distinguishing its behavior from pending changes in the compiler targeting the latter.

For Context
GOMP_RUNTIME_USM
A libgomp feature enabling the runtime to manage Unified Shared Memory (USM) for OpenMP offloading targets, allowing for more flexible memory management between host and device.
pointer attachment
In the context of OpenMP offloading, this refers to associating a pointer with a specific memory region or device, often managed through map clauses.
self-mapping
A feature in OpenMP offloading where the device can directly access host memory, simplifying data transfer and management.
Unified Shared Memory (USM)
A memory model that allows host and device to share a single memory address space, simplifying programming by reducing explicit data movement.
Filed Under: libgompOpenMPoffloadingmemory management