Using C plus plus AMP to Accelerate HPC Applications on Multiple Platforms

被引:1
|
作者
Lopez, M. Graham [1 ]
Bergstrom, Christopher [2 ]
Li, Ying Wai [3 ]
Elwasif, Wael [1 ]
Hernandez, Oscar [1 ]
机构
[1] Oak Ridge Natl Lab, Comp Sci & Math Div, Oak Ridge, TN 37831 USA
[2] Pathscale Inc, Wilmington, DE USA
[3] Oak Ridge Natl Lab, Natl Ctr Computat Sci, Oak Ridge, TN USA
关键词
HPC; C plus plus for Accelerators; C plus plus AMP; Accelerator programming;
D O I
10.1007/978-3-319-46079-6_38
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Many high-end HPC systems support accelerators in their compute nodes to target a variety of workloads including highperformance computing simulations, big data / data analytics codes and visualization. To program both the CPU cores and attached accelerators, users now have multiple programming models available such as CUDA, OpenMP 4, OpenACC, C++ 14, etc., but some of these models fall short in their support for C++ on accelerators because they can have difficulty supporting advanced C++ features e.g. templating, class members, loops with iterators, lambdas, deep copy, etc. Usually, they either rely on unified memory, or the programming language is not aware of accelerators (e.g. C++ 14). In this paper, we explore a base-language solution called C++ Accelerated Massive Parallelism ( AMP), which was developed by Microsoft and implemented by the PathScale ENZO compiler to program GPUs on a variety of HPC architectures including OpenPOWER and Intel Xeon. We report some prelminary in-progress results using C++ AMP to accelerate a matrix multiplication and quantum Monte Carlo application kernel, examining its expressiveness and performance using NVIDIA GPUs and the PathScale ENZO compiler. We hope that this preliminary report will provide a data point that will inform the functionality needed for future C++ standards to support accelerators with discrete memory spaces.
引用
收藏
页码:563 / 576
页数:14
相关论文
共 50 条
  • [41] Parallelism in C plus plus using Sequential Communicating Processes
    Paduraru, Ciprian
    Melemciuc, Marius-Constantin
    2018 17TH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC), 2018, : 157 - 163
  • [42] XML Data Binding for C plus plus Using Metadata
    Payrits, Szabolcs
    Dornbach, Peter
    Zolyomi, Istvan
    INTERNATIONAL JOURNAL OF WEB SERVICES RESEARCH, 2009, 6 (03) : 18 - 34
  • [43] A Resizable C plus plus Container using Virtual Memory
    Rojc, Blaz
    Depolli, Matjaz
    PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES (ICSOFT), 2021, : 481 - 488
  • [44] Hovac: A Configurable Fault Injection Framework for Benchmarking the Dependability of C/C plus plus Applications
    Herscheid, Lena
    Richter, Daniel
    Polze, Andreas
    2015 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY (QRS 2015), 2015, : 1 - 10
  • [45] x86-64 Instruction Usage among C/C plus plus Applications
    Akshintala, Amogh
    Jain, Bhushan
    Tsai, Chia-Che
    Ferdman, Michael
    Porter, Donald E.
    SYSTOR '19: PROCEEDINGS OF THE 12TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE, 2019, : 68 - 79
  • [46] Securing C/C plus plus Applications with a SEcube™-based Model-driven Approach
    Gossen, Frederik
    Neubauer, Johannes
    Steffen, Bernhard
    2017 12TH IEEE INTERNATIONAL CONFERENCE ON DESIGN & TECHNOLOGY OF INTEGRATED SYSTEMS IN NANOSCALE ERA (DTIS 2017), 2017,
  • [47] Mixed language programming in C/C plus plus and Java']Java for applications in mechatronic systems
    Cheetancheri, Kabileshkumar G.
    Cheng, Harry H.
    PROCEEDINGS OF THE 2006 IEEE/ASME INTERNATIONAL CONFERENCE ON MECHATRONIC AND EMBEDDED SYSTEMS AND APPLICATIONS, 2006, : 286 - +
  • [48] Unified Cross-Platform Profiling of Parallel C plus plus Applications
    Kucher, Vladyslav
    Fey, Florian
    Gorlatch, Sergei
    PROCEEDINGS OF 2018 IEEE/ACM PERFORMANCE MODELING, BENCHMARKING AND SIMULATION OF HIGH PERFORMANCE COMPUTER SYSTEMS (PMBS 2018), 2018, : 57 - 62
  • [49] C/C plus plus conditional compilation analysis using symbolic execution
    Hu, Y
    Merlo, E
    Dagenais, M
    Lagüe, B
    INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 196 - 206
  • [50] Finding parallel patterns through static analysis in C plus plus applications
    del Rio Astorga, David
    Dolz, Manuel F.
    Miguel Sanchez, Luis
    Daniel Garcia, J.
    Danelutto, Marco
    Torquati, Massimo
    INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2018, 32 (06): : 779 - 788