JAMPI: A C plus plus parallel programming interface allowing the implementation of custom and generic scheduling mechanisms

被引:0
|
作者
Di Domenico, Daniel [1 ]
Cavalheiro, Gerson G. H. [1 ]
机构
[1] Univ Fed Pelotas, Pelotas, RS, Brazil
关键词
parallel programming interface; C plus; scheduling mechanism; multicore;
D O I
10.1109/SBAC-PAD49847.2020.00045
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The widespread of modern parallel architectures brought many challenges in terms of programming. In response, many parallel programming tools intend to aid the user in order to exploit hardware resources effectively. As a new alternative, this paper introduces the design and implementation of JAMPI, a generic parallel programming interface developed in C++ focused on code reuse, productivity and high-level abstraction to enable the construction of parallel applications. JAMPI is totally integrated with its host programming language and offers, as main feature, a fully disassociation of its programming interface from its scheduling mechanism. Aiming to manage and optimize the parallel execution, the proposed interface allows the programmer to implement a custom scheduling heuristic for each portion of the application code. Besides JAMPI model description, we proceeded some preliminary experiments using applications encoded with the proposed framework. Results showed that JAMPI can be used to reach performance on multicore platforms and does not add performance penalty over the sequential version of the benchmarks.
引用
收藏
页码:273 / 280
页数:8
相关论文
共 31 条
  • [1] JAMPI: A C++ parallel programming interface allowing the implementation of custom and generic scheduling mechanisms
    Di Domenico, Daniel
    Cavalheiro, Gerson G. H.
    Proceedings - Symposium on Computer Architecture and High Performance Computing, 2020, 2020-September : 273 - 280
  • [2] A C plus plus Generic Parallel Pattern Interface for Stream Processing
    del Rio Astorga, David
    Dolz, Manuel F.
    Miguel Sanchez, Luis
    Garcia Blas, Javier
    Daniel Garcia, J.
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2016, 2016, 10048 : 74 - 87
  • [3] 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
  • [4] Comprehension of Thread Scheduling for the C plus plus Programming Language
    Gyen, Attila
    Pataki, Norbert
    PROCEEDINGS OF 2021 INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING (ICODSE): DATA AND SOFTWARE ENGINEERING FOR SUPPORTING SUSTAINABLE DEVELOPMENT GOALS, 2021,
  • [5] CGP plus plus : A Modern C plus plus Implementation of Cartesian Genetic Programming
    Kalkreuth, Roman
    Back, Thomas
    PROCEEDINGS OF THE 2024 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, GECCO 2024, 2024, : 13 - 22
  • [6] A Modern C plus plus Parallel Task Programming Library
    Lin, Chun-Xun
    Huang, Tsung-Wei
    Guo, Guannan
    Wong, Martin D. F.
    PROCEEDINGS OF THE 27TH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA (MM'19), 2019, : 2284 - 2287
  • [7] C plus plus and generic programming for rapid development of Monte Carlo simulations
    Brown, G
    Lee, HK
    Schulthess, TC
    COMPUTER SIMULATION STUDIES IN CONDENSED-MATTER PHYSICS XVI, 2006, 103 : 157 - +
  • [8] Efficient NAS Benchmark Kernels with C plus plus Parallel Programming
    Griebler, Dalvan
    Loff, Junior
    Fernandes, Luiz G.
    Mencagli, Gabriele
    Danelutto, Marco
    2018 26TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2018), 2018, : 733 - 740
  • [9] Support for Parallel and Concurrent Programming in C plus
    V'yukova, N. I.
    Galatenko, V. A.
    Samborskii, S. V.
    PROGRAMMING AND COMPUTER SOFTWARE, 2018, 44 (01) : 35 - 42
  • [10] Generic programming with C plus plus concepts and Haskell type classes-a comparison
    Bernardy, Jean-Philippe
    Jansson, Patrik
    Zalewski, Marcin
    Schupp, Sibylle
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2010, 20 : 271 - 302