Search papers, labs, and topics across Lattice.
This paper details the implementation of Unified Shared Memory (USM) in OpenMP 5.0 on Intel accelerators, which enables a common address space for host and device, thus simplifying application development by eliminating the need for explicit data transfers. The authors evaluate the complexity of adopting USM in existing high-performance computing (HPC) applications and assess its performance impact on an Intel Battlemage GPU. While USM may introduce slight overhead for already optimized applications, the findings indicate that certain applications can still benefit significantly from this feature, highlighting its potential for enhancing usability in OpenMP environments.
Unified Shared Memory in OpenMP can streamline application development on Intel GPUs, even for existing optimized applications, by reducing the need for explicit data management.
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.