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 条
  • [31] Performance Evaluation of Long Integer Multiplication Using OpenMP and MPI on Shared Memory Architecture
    Tembhurne, Jitendra V.
    Sathe, Shailesh R.
    2014 SEVENTH INTERNATIONAL CONFERENCE ON CONTEMPORARY COMPUTING (IC3), 2014, : 283 - 288
  • [32] Parallel simulation of Brownian dynamics on shared memory systems with OpenMP and Unified Parallel C
    Teijeiro, Carlos
    Sutmann, Godehard
    Taboada, Guillermo L.
    Tourino, Juan
    JOURNAL OF SUPERCOMPUTING, 2013, 65 (03): : 1050 - 1062
  • [33] Shared Memory OpenMP Parallelization of SPH Program and Its Application to Solid Fluid Interaction
    Li, Xiaoting
    Xu, Fei
    Gao, Xiangyang
    Yang, Yang
    11TH WORLD CONGRESS ON COMPUTATIONAL MECHANICS; 5TH EUROPEAN CONFERENCE ON COMPUTATIONAL MECHANICS; 6TH EUROPEAN CONFERENCE ON COMPUTATIONAL FLUID DYNAMICS, VOLS II - IV, 2014, : 4089 - 4093
  • [34] Performance of cluster-enabled OpenMP for the SCASH software distributed shared memory system
    Ojima, Y
    Sato, M
    Harada, H
    Ishikawa, Y
    CCGRID 2003: 3RD IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID, PROCEEDINGS, 2003, : 450 - 456
  • [35] Scalability analysis of the SPEC OpenMP benchmarks on large-scale shared memory multiprocessors
    Fuerlinger, Karl
    Gerndt, Michael
    Dongarra, Jack
    COMPUTATIONAL SCIENCE - ICCS 2007, PT 2, PROCEEDINGS, 2007, 4488 : 815 - +
  • [36] Parallel simulation of Brownian dynamics on shared memory systems with OpenMP and Unified Parallel C
    Carlos Teijeiro
    Godehard Sutmann
    Guillermo L. Taboada
    Juan Touriño
    The Journal of Supercomputing, 2013, 65 : 1050 - 1062
  • [37] Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps
    Fumero, Juan
    Blanaru, Florin
    Stratikopoulos, Athanasios
    Dohrmann, Steve
    Viswanathan, Sandhya
    Kotselidis, Christos
    PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES, MPLR 2023, 2023, : 143 - 157
  • [38] The OpenMP memory model
    Hoeflinger, Jay P.
    de Supinski, Bronis R.
    OPENMP SHARED MEMORY PARALLEL PROGRAMMING, PROCEEDINGS, 2008, 4315 : 167 - +
  • [39] Transactional Memory and OpenMP
    Milovanovic, Milos
    Ferrer, Roger
    Unsal, Osman S.
    Cristal, Adrian
    Martorell, Xavier
    Ayguade, Eduard
    Labarta, Jesus
    Valero, Mateo
    PRACTICAL PROGRAMMING MODEL FOR THE MULTI-CORE ERA, PROCEEDINGS, 2008, 4935 : 37 - 53
  • [40] Toward Heterogeneous MPI plus MPI Programming: Comparison of OpenMP and MPI Shared Memory Models
    Szustak, Lukasz
    Wyrzykowski, Roman
    Halbiniak, Kamil
    Bratek, Pawel
    EURO-PAR 2019: PARALLEL PROCESSING WORKSHOPS, 2020, 11997 : 270 - 281