Beyond Explicit Transfers: Shared and Managed Memory in OpenMP

被引:0
|
作者
Neth, Brandon [1 ]
Scogland, Thomas R. W. [2 ]
Duran, Alejandro [3 ]
de Supinski, Bronis R. [2 ]
机构
[1] Univ Arizona, Tucson, AZ 85721 USA
[2] Lawrence Livermore Natl Lab, Livermore, CA 94550 USA
[3] Intel Corp, Iberia, Spain
关键词
D O I
10.1007/978-3-030-85262-7_13
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:183 / 194
页数:12
相关论文
共 50 条
  • [41] Study of OpenMP applications on the InfiniBand-based software distributed shared-memory system
    Park, I
    Kim, SW
    PARALLEL COMPUTING, 2005, 31 (10-12) : 1099 - 1113
  • [42] Linking implicit and explicit memory: Common encoding factors and shared representations
    Turk-Browne, NB
    Yi, DJ
    Chun, MM
    NEURON, 2006, 49 (06) : 917 - 927
  • [43] Enabling Fine-Grained OpenMP Tasking on Tightly-Coupled Shared Memory Clusters
    Burgio, Paolo
    Tagliavini, Giuseppe
    Marongiu, Andrea
    Benini, Luca
    DESIGN, AUTOMATION & TEST IN EUROPE, 2013, : 1504 - 1509
  • [44] MPI plus OpenMP implementation of memory-saving parallel PIC applications on hierarchical distributed-shared memory architectures
    Briguglio, S
    Fogaccia, G
    Vlad, G
    Di Martino, B
    MODELLING AND SIMULATION 2003, 2003, : 247 - 251
  • [45] OpenMP/MPI programming in a multi-cluster system based on shared memory/message passing communication
    Smyk, A
    Tudruj, M
    ADVANCED ENVIRONMENTS, TOOLS, AND APPLICATIONS FOR CLUSTER COMPUTING, 2002, 2326 : 241 - 248
  • [46] Towards transactional memory for OpenMP
    Wong, Michael, 1600, Springer Verlag (8766):
  • [47] An extension for Transactional Memory in OpenMP
    Jardim, Andre D.
    Oliveira, Kevin
    Cardoso, Diogo J.
    Di Domenico, Daniel
    Du Bois, Andre R.
    Cavalheiro, Gerson G. H.
    25TH BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES, SBLP 2021, 2021, : 58 - 65
  • [48] Towards Transactional Memory for OpenMP
    Wong, Michael
    Ayguade, Eduard
    Gottschlich, Justin
    Luchangco, Victor
    de Supinski, Bronis R.
    Bihari, Barna
    USING AND IMPROVING OPENMP FOR DEVICES, TASKS, AND MORE, 2014, 8766 : 130 - 145
  • [49] THE FIGURE AND THE GROUND OF CONSTRUCTIVE BRAIN FUNCTIONING - BEYOND EXPLICIT MEMORY PROCESSES
    IRANNEJAD, A
    MARSH, GE
    CLEMENTS, AC
    EDUCATIONAL PSYCHOLOGIST, 1992, 27 (04) : 473 - 492
  • [50] Explicit loop scheduling in OpenMP for parallel automatic differentiation
    Bücker, HM
    Lang, B
    Rasch, A
    Bischof, CH
    Mey, DA
    16TH ANNUAL INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTING SYSTEMS AND APPLICATIONS, PROCEEDINGS, 2002, : 121 - 126