Unified Shared Memory in OpenMP: Implementation, Programmability, and Performance on Intel Accelerators

📅 2026-07-29
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the complexity and poor portability of explicit data transfers in OpenMP accelerator programming by leveraging OpenMP 5.0’s Unified Shared Memory (USM) model to construct a complete system software stack—spanning the operating system, compiler, and runtime—on Intel Battlemage GPUs. The proposed approach establishes a unified address space between host and device, thereby eliminating manual data migration. Through the use of `requires` directives and hardware-software co-optimizations, the solution demonstrates feasibility across multiple ported HPC applications: most incur less than a 1.2× performance overhead, with some even achieving speedup. Further optimizations are expected to reduce the average overhead to approximately 1.03×, substantially improving prototyping efficiency and code portability.
📝 Abstract
OpenMP 5.0 introduced the Unified Shared Memory (USM) feature through the requires directive. The feature simplifies the adoption of the OpenMP programming model by providing a unique and common address space between the accelerators and the host and allowing the access (dereference) of the same memory address on different devices, thus avoiding the burden of explicit data transfers to maintain the consistency between the address spaces. Hence, the feature eases quick prototyping and porting of applications to OpenMP with accelerators. In this paper, we introduce the Intel implementation for USM. We briefly discuss its implementation in the software stack (OS kernel, compiler, and runtime), then assess its adoption complexity in existing HPC applications using OpenMP for accelerators, and, finally, evaluate the performance of these applications when adopting USM on an Intel Battlemage GPU. USM is not expected to grant performance uplifts to already optimized applications with explicit, granular data-motion control and our results show an overhead with a geometric mean below 1.2x (1.03x seems achievable with further optimizations). Yet, in this paper we show there exist applications that benefit from this feature, making it attractive even for already ported applications.
Problem

Research questions and friction points this paper is trying to address.

Unified Shared Memory
OpenMP
accelerators
data transfer
memory consistency
Innovation

Methods, ideas, or system contributions that make the work stand out.

Unified Shared Memory
OpenMP 5.0
accelerator programming
memory management
Intel GPU
🔎 Similar Papers
2024-04-19Practice and Experience in Advanced Research ComputingCitations: 5