Enhancing OpenMP Tasking Model: Performance and Portability

被引:4
|
作者
Yu, Chenle [1 ,2 ]
Royuela, Sara [1 ]
Quinones, Eduardo [1 ]
机构
[1] Barcelona Supercomp Ctr, Barcelona, Spain
[2] Univ Politecn Cataluna, Barcelona, Spain
基金
欧盟地平线“2020”;
关键词
OpenMP specification; Tasking model; Runtime overhead;
D O I
10.1007/978-3-030-85262-7_3
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
OpenMP, as the de-facto standard programming model in symmetric multiprocessing for HPC, has seen its performance boosted continuously by the community, either through implementation enhancements or specification augmentations. Furthermore, the language has evolved from a prescriptive nature, as defined by the thread-centric model, to a descriptive behavior, as defined by the task-centric model. However, the overhead related to the orchestration of tasks is still relatively high. Applications exploiting very fine-grained parallelism and systems with a large number of cores available might fail on scaling. In this work, we propose to include the concept of Task Dependency Graph (TDG) in the specification by introducing a new clause, named taskgraph, attached to task or target directives. By design, the TDG allows alleviating the overhead associated with the OpenMP tasking model, and it also facilitates linking OpenMP with other programming models that support task parallelism. According to our experiments, a GCC implementation of the taskgraph is able to significantly reduce the execution time of fine-grained task applications and increase their scalability with regard to the number of threads.
引用
收藏
页码:35 / 49
页数:15
相关论文
共 50 条
  • [1] Productivity and Performance Portability of the OpenMP 3.0 Tasking Concept When Applied to an Engineering Code Written in Fortran 95
    Paul Kapinos
    Dieter an Mey
    International Journal of Parallel Programming, 2010, 38 : 379 - 395
  • [2] Productivity and Performance Portability of the OpenMP 3.0 Tasking Concept When Applied to an Engineering Code Written in Fortran 95
    Kapinos, Paul
    an Mey, Dieter
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2010, 38 (5-6) : 379 - 395
  • [3] A Low Overhead Tasking Model for OpenMP
    Yu, Chenle
    Royuela, Sara
    Quinones, Eduardo
    EURO-PAR 2021: PARALLEL PROCESSING WORKSHOPS, 2022, 13098 : 520 - 524
  • [4] On the Performance Portability of OpenACC, OpenMP, Kokkos and RAJA
    Marowka, Ami
    ACM International Conference Proceeding Series, 2022, : 103 - 114
  • [5] An experimental evaluation of the new OpenMP tasking model
    Ayguade, Eduard
    Duran, Alejandro
    Hoeflinger, Jay
    Massaioli, Federico
    Teruel, Xavier
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2008, 5234 : 63 - 77
  • [6] OpenMP Tasking Model for Ada: Safety and Correctness
    Royuela, Sara
    Martorell, Xavier
    Quinones, Eduardo
    Pinho, Luis Miguel
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2017, 2017, 10300 : 184 - 200
  • [7] On the Benefits of Tasking with OpenMP
    Rico, Alejandro
    Sanchez Barrera, Isaac
    Joao, Jose A.
    Randall, Joshua
    Casas, Marc
    Moreto, Miquel
    OPENMP: CONQUERING THE FULL HARDWARE SPECTRUM, IWOMP 2019, 2019, 11718 : 217 - 230
  • [8] A Case Study for Performance Portability Using OpenMP 4.5
    Gayatri, Rahulkumar
    Yang, Charlene
    Kurth, Thorsten
    Deslippe, Jack
    ACCELERATOR PROGRAMMING USING DIRECTIVES, 2019, 11381 : 75 - 95
  • [9] Pragmatic Performance Portability with OpenMP 4.x
    Martineau, Matt
    Price, James
    McIntosh-Smith, Simon
    Gaudin, Wayne
    OPENMP: MEMORY, DEVICES, AND TASKS, 2016, 9903 : 253 - 267
  • [10] Automatic scoping of task clauses for the OpenMP tasking model
    Chun-Kun Wang
    Peng-Sheng Chen
    The Journal of Supercomputing, 2015, 71 : 808 - 823