OpenH: A Novel Programming Model and API for Developing Portable Parallel Programs on Heterogeneous Hybrid Servers

被引:1
|
作者
Farrelly, Simon [1 ]
Manumachu, Ravi Reddy [1 ]
Lastovetsky, Alexey [1 ]
机构
[1] Univ Coll Dublin, Sch Comp Sci, Dublin 4, Ireland
基金
爱尔兰科学基金会;
关键词
Parallel computing; parallel programming; heterogeneous platform; hybrid platform; accelerators; OpenMP; OpenACC; Pthreads; PERFORMANCE; MULTI; PLATFORMS; ENERGY;
D O I
10.1109/ACCESS.2024.3364672
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Heterogeneous nodes composed of a multicore CPU and accelerators are today's norm in high-performance computing (HPC) platforms due to their superior performance and energy efficiency. Tools such as OpenCL and hybrid combinations such as OpenMP plus OpenACC are used for developing portable parallel programs for such nodes. However, these tools have some drawbacks, including a lack of compiler support for nested parallelism, performance portability, automatic heterogeneous workload distribution, user-friendly thread placement, and processor affinity essential to the portable performance of hybrid programs executing on such nodes. In this paper, we propose OpenH, a novel programming model and library API for developing portable parallel programs on heterogeneous hybrid servers composed of a multicore CPU and one or more different types of accelerators. OpenH integrates Pthreads, OpenMP, and OpenACC seamlessly to facilitate the development of hybrid parallel programs. An OpenH hybrid parallel program starts as a single main thread, creating a group of Pthreads called hosting Pthreads. A hosting Pthread then leads the execution of a software component of the program, either an OpenMP multithreaded component running on the CPU cores or an OpenACC (or OpenMP) component running on one of the accelerators of the server. The OpenH library provides API functions that allow programmers to get the configuration of the executing environment and bind the hosting Pthreads (and hence the execution of components) of the program to the CPU cores of the hybrid server to get the best performance. We illustrate the OpenH programming model and library API using two hybrid parallel applications based on matrix multiplication and 2D fast Fourier transform for the most general case of a hybrid hyperthreaded server comprising $p$ computing devices. Finally, we demonstrate the practical performance and energy consumption of OpenH for the hybrid parallel matrix multiplication application on a server comprising an Intel Icelake multicore CPU and two Nvidia A40 GPUs.
引用
收藏
页码:23666 / 23694
页数:29
相关论文
共 19 条
  • [1] Evaluating OpenMP 4.0's Effectiveness as a Heterogeneous Parallel Programming Model
    Martineau, Matt
    McIntosh-Smith, Simon
    Gaudin, Wayne
    2016 IEEE 30TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2016, : 338 - 347
  • [2] Automatic and Portable Mapping of Data Parallel Programs to OpenCL for GPU-Based Heterogeneous Systems
    Wang, Zheng
    Grewe, Dominik
    O'Boyle, Michael F. P.
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2014, 11 (04)
  • [3] Performance portable parallel programming of heterogeneous stencils across shared-memory platforms with modern Intel processors
    Szustak, Lukasz
    Bratek, Pawel
    INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2019, 33 (03) : 534 - 553
  • [4] A Parallel Hybrid Testing Technique for Tri-Programming Model-Based Software Systems
    Basloom, Huda
    Dahab, Mohamed
    Al-Ghamdi, Abdullah Saad
    Eassa, Fathy
    Alghamdi, Ahmed Mohammed
    Haridi, Seif
    CMC-COMPUTERS MATERIALS & CONTINUA, 2023, 74 (02): : 4501 - 4530
  • [5] Optimization of Data Assignment for Parallel Processing in a Hybrid Heterogeneous Environment Using Integer Linear Programming
    Boinski, Tomasz
    Czarnul, Pawel
    COMPUTER JOURNAL, 2022, 65 (06) : 1412 - 1433
  • [6] A Parallel Hybrid-Testing Tool Architecture for a Dual-Programming Model
    Alghamdi, Ahmed Mohammed
    Eassa, Fathy Elbouraey
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2019, 10 (04) : 394 - 400
  • [7] Proposed Architecture for a Parallel Hybrid-Testing Tool for a Dual-Programming Model
    Alghamdi, Ahmed M.
    Eassa, Fathy E.
    INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2019, 19 (03): : 54 - 61
  • [8] A Secured Large Heterogeneous HPC Cluster System using Massive Parallel Programming Model with Accelerated GPUs
    Alsubhi, Khalid
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2020, 11 (05) : 370 - 376
  • [9] Model-Based Estimation of the Communication Cost of Hybrid Data-Parallel Applications on Heterogeneous Clusters
    Rico-Gallego, Juan-Antonio
    Lastovetsky, Alexey L.
    Diaz-Martin, Juan-Carlos
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (11) : 3215 - 3228
  • [10] A hybrid parallel cellular automata model for urban growth simulation over GPU/CPU heterogeneous architectures
    Guan, Qingfeng
    Shi, Xuan
    Huang, Miaoqing
    Lai, Chenggang
    INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SCIENCE, 2016, 30 (03) : 494 - 514