Evaluating ISO C plus plus Parallel Algorithms on Heterogeneous HPC Systems

被引:3
|
作者
Lin, Wei-Chen [1 ]
Deakin, Tom [1 ]
McIntosh-Smith, Simon [1 ]
机构
[1] Univ Bristol, Dept Comp Sci, Bristol, England
基金
英国工程与自然科学研究理事会;
关键词
Performance Portability; Programming Models; GPUs C++17; PSTL; stdpar;
D O I
10.1109/PMBS56514.2022.00009
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Recent revisions to the ISO C++ standard have added specifications for parallel algorithms. These additions cover common use-cases, including sequence traversal, reduction, and even sorting, many of which are highly applicable in HPC, and thus represent a potential for increased performance and productivity. This study evaluates the state of the art for implementing heterogeneous HPC applications using the latest built-in ISO C++17 parallel algorithms. We implement C++17 ports of representative HPC mini-apps that cover both compute-bound and memory bandwidth-bound applications. We then conduct benchmarks on CPUs and GPUs, comparing our ports to other widely-available parallel programming models, such as OpenMP, CUDA, and SYCL. Finally, we show that C++17 parallel algorithms are able to achieve competitive performance across multiple mini-apps on many platforms, with some notable exceptions. We also discuss several key topics, including portability, and describe workarounds for a number of remaining issues, including indexbased traversal and accelerator device/memory management.
引用
收藏
页码:36 / 47
页数:12
相关论文
共 50 条
  • [1] Distributed & Heterogeneous Programming in C plus plus for HPC at SC17
    Wong, Michael
    Finkel, Hal
    IWOCL'18: PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL, 2018, : 76 - 82
  • [2] Evaluating data parallelism in C plus plus using the Parallel Research Kernels
    Hammond, Jeff R.
    Mattson, Timothy G.
    PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [3] Designing HPC libraries in the modern C plus plus world
    Falcou, Joel
    PROCEEDINGS OF THE 2015 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS 2015), 2015, : 458 - 459
  • [4] DASH: A C plus plus PGAS Library for Distributed Data Structures and Parallel Algorithms
    Fuerlinger, Karl
    Fuchs, Tobias
    Kowalewski, Roger
    PROCEEDINGS OF 2016 IEEE 18TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS; IEEE 14TH INTERNATIONAL CONFERENCE ON SMART CITY; IEEE 2ND INTERNATIONAL CONFERENCE ON DATA SCIENCE AND SYSTEMS (HPCC/SMARTCITY/DSS), 2016, : 983 - 990
  • [5] The NAS Parallel Benchmarks for evaluating C plus plus parallel programming frameworks on shared-memory architectures
    Loff, Junior
    Griebler, Dalvan
    Mencagli, Gabriele
    Araujo, Gabriell
    Torquati, Massimo
    Danelutto, Marco
    Fernandes, Luiz Gustavo
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2021, 125 : 743 - 757
  • [6] A comparative analysis of Kokkos and SYCL as heterogeneous, parallel programming models for C plus plus applications
    Hammond, Jeff R.
    Kinsner, Michael
    Brodman, James
    PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [7] BES plus plus : HPC Profile Open Source C Implementation
    Ruiz-Alvarez, Arkaitz
    Smith, Christopher
    Humphrey, Marty
    2008 9TH IEEE/ACM INTERNATIONAL CONFERENCE ON GRID COMPUTING, 2008, : 41 - +
  • [8] Research on Efficient Software Development Pattern Based on C plus plus and Heterogeneous Parallel Programming Technique
    Geng, Jiangtao
    Xiong, Xiaobo
    INTERNATIONAL CONFERENCE ON SOCIAL SCIENCE, MANAGEMENT AND ECONOMICS (SSME 2015), 2015, : 348 - 352
  • [9] Using C plus plus AMP to Accelerate HPC Applications on Multiple Platforms
    Lopez, M. Graham
    Bergstrom, Christopher
    Li, Ying Wai
    Elwasif, Wael
    Hernandez, Oscar
    HIGH PERFORMANCE COMPUTING, ISC HIGH PERFORMANCE 2016 INTERNATIONAL WORKSHOPS, 2016, 9945 : 563 - 576
  • [10] A Parallel RatSlam C plus plus Library Implementation
    de Souza Munoz, Mauro Enrique
    Menezes, Matheus Chaves
    de Freitas, Edison Pignaton
    Cheng, Sen
    de Almeida Neto, Areolino
    Muniz de Oliveira, Alexandre Cesar
    de Almeida Ribeiro, Paulo Rogerio
    COMPUTATIONAL NEUROSCIENCE, 2019, 1068 : 173 - 183