Title
Beyond Explicit Transfers: Shared And Managed Memory In Openmp
Abstract
OpenMP began supporting offloading in version 4.0, almost 10 years ago. It introduced the programming model for offload to GPUs or other accelerators that was common at the time, requiring users to explicitly transfer data between host and devices. But advances in heterogeneous computing and programming systems have created a new environment. No longer are programmers required to manage tracking and moving their data on their own. Now, for those who want it, inter-device address mapping and other runtime systems push these data management tasks behind a veil of abstraction. In the context of this progress, OpenMP offloading support shows signs of its age. However, because of its ubiquity as a standard for portable, parallel code, OpenMP is well positioned to provide a similar standard for heterogeneous programming. Towards this goal, we review the features available in other programming systems and argue that OpenMP expand its offloading support to better meet the expectations of modern programmers The first step, detailed here, augments OpenMP's existing memory space abstraction with device awareness and a concept of shared and managed memory. Thus, users can allocate memory accessible to different combinations of devices that do not require explicit memory transfers. We show the potential performance impact of this feature and discuss the possible downsides.
Year
DOI
Venue
2021
10.1007/978-3-030-85262-7_13
OPENMP: ENABLING MASSIVE NODE-LEVEL PARALLELISM, IWOMP 2021
DocType
Volume
ISSN
Conference
12870
0302-9743
Citations 
PageRank 
References 
0
0.34
0
Authors
4
Name
Order
Citations
PageRank
Brandon Neth100.68
Thomas R. W. Scogland2877.56
Alejandro Duran394361.43
de Supinski, Bronis R.42667154.44