An Evaluation of Current SIMD Programming Models for C plus

被引:8
|
作者
Pohl, Angela [1 ]
Cosenza, Biagio [1 ]
Mesa, Mauricio Alvarez [1 ]
Chi, Chi Ching [1 ]
Juurlink, Ben [1 ]
机构
[1] TU Berlin, Berlin, Germany
关键词
SIMD; vectorization; C plus; parallel programming; programming model;
D O I
10.1145/2870650.2870653
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
SIMD extensions were added to microprocessors in the mid '90s to speed-up data-parallel code by vectorization. Unfortunately, the SIMD programming model has barely evolved and the most efficient utilization is still obtained with elaborate intrinsics coding. As a consequence, several approaches to write efficient and portable SIMD code have been proposed. In this work, we evaluate current programming models for the C++ language, which claim to simplify SIMD programming while maintaining high performance. The proposals were assessed by implementing two kernels: one standard floating-point benchmark and one real-world integer-based application, both highly data parallel. Results show that the proposed solutions perform well for the floating point kernel, achieving close to the maximum possible speed-up. For the real-world application, the programming models exhibit significant performance gaps due to data type issues, missing template support and other problems discussed in this paper.
引用
收藏
页数:8
相关论文
共 50 条
  • [31] A C plus plus framework for geometric semantic genetic programming
    Castelli, Mauro
    Silva, Sara
    Vanneschi, Leonardo
    GENETIC PROGRAMMING AND EVOLVABLE MACHINES, 2015, 16 (01) : 73 - 81
  • [32] The C plus plus programming language in cheminformatics and computational chemistry
    Rassokhin, Dmitrii
    JOURNAL OF CHEMINFORMATICS, 2020, 12 (01)
  • [33] Combination of OOP Characteristic in C plus plus Programming Course
    Shang Shuyuan
    Du Yunqing
    ICFCSE 2011: 2011 INTERNATIONAL CONFERENCE ON FUTURE COMPUTER SUPPORTED EDUCATION, VOL 2, 2011, : 274 - 276
  • [34] 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,
  • [35] A Sequenced Curriculum for Teaching Introductory C plus plus Programming
    McMillan, Michael
    SIGCSE 2020: PROCEEDINGS OF THE 51ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2020, : 1304 - 1304
  • [36] 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
  • [37] Evaluation of Directive-Based Programming Models for Stencil Computation on Current GPGPU Architectures
    Shan, Baodi
    Araya-Polo, Mauricio
    Chapman, Barbara
    ADVANCING OPENMP FOR FUTURE ACCELERATORS, IWOMP 2024, 2024, 15195 : 126 - 140
  • [38] 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
  • [39] Object-Oriented OpenMP Programming with C plus plus and Fortran
    Terboven, Christian
    Mey, Dieter An
    Kapinos, Paul
    Schleiden, Christopher
    Merkulow, Igor
    HIGH PERFORMANCE COMPUTING SYSTEMS AND APPLICATIONS, 2010, 5976 : 366 - 377
  • [40] The Application of KM Pedagogics in C plus plus Programming Language Teaching
    Zhang, Taohong
    Pan, Jingzhe
    Yang, Bingru
    Xie, Yonghong
    2010 INTERNATIONAL CONFERENCE ON EDUCATION AND SPORTS EDUCATION, VOL II, 2010, : 63 - 66