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 条
  • [11] Implementing Data-Parallel Patterns for Shared Memory with OpenMP
    Suess, Michael
    Leopold, Claudia
    PARALLEL COMPUTING: ARCHITECTURES, ALGORITHMS AND APPLICATIONS, 2008, 15 : 203 - +
  • [12] Parallel Implementation of FEM Solver for Shared Memory Using OpenMP
    Majeed, Rabia
    Farrukh, Ramisha
    Riaz, Omer
    Ali, Sikandar
    Samad, Ali
    Khan, Mukhtaj
    Mathematical Problems in Engineering, 2022, 2022
  • [13] OpenMP-oriented applications for distributed shared memory architectures
    Marowka, A
    Liu, ZY
    Chapman, B
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2004, 16 (04): : 371 - 384
  • [14] OpenMP: An industry standard API for shared-memory programming
    Dagum, L
    Menon, R
    IEEE COMPUTATIONAL SCIENCE & ENGINEERING, 1998, 5 (01): : 46 - 55
  • [15] A fully compliant OpenMP implementation on software distributed shared memory
    Karlsson, S
    Lee, SW
    Brorsson, M
    HIGH PERFORMANCE COMPUTING - HIPC 2002, PROCEEDINGS, 2002, 2552 : 195 - 206
  • [16] Optimizing OpenMP programs on software distributed shared memory systems
    Min, SJ
    Basumallik, A
    Eigenmann, R
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2003, 31 (03) : 225 - 249
  • [17] Parallel Implementation of FEM Solver for Shared Memory Using OpenMP
    Majeed, Rabia
    Farrukh, Ramisha
    Riaz, Omer
    Ali, Sikandar
    Samad, Ali
    Khan, Mukhtaj
    MATHEMATICAL PROBLEMS IN ENGINEERING, 2022, 2022
  • [18] Efficient OpenMP Support and Extensions for MPSoCs with Explicitly Managed Memory Hierarchy
    Marongiu, Andrea
    Benini, Luca
    DATE: 2009 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION, VOLS 1-3, 2009, : 809 - 814
  • [19] An evaluation of MPI and OpenMP paradigms in finite-difference explicit methods for PDEs on shared-memory multi- and manycore systems
    Cabral, Frederico L.
    Gonzaga de Oliveira, Sanderson L.
    Osthoff, Carla
    Costa, Gabriel P.
    Brandao, Diego N.
    Kischinhevsky, Mauricio
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2020, 32 (20):
  • [20] Parallel PIC codes for distributed and shared memory architectures with HPF and OpenMP
    Di Martino, B
    Briguglio, S
    Fogaccia, G
    Vlad, G
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2233 - 2239