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
来源
PROCEEDINGS OF THE 2016 3RD WORKSHOP ON PROGRAMMING MODELS FOR SIMD/VECTOR PROCESSING (WPMVP 2016) | 2016年
关键词
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 条
  • [41] PASCAL-PLUS - ANOTHER LANGUAGE FOR MODULAR MULTI-PROGRAMMING
    WELSH, J
    BUSTARD, DW
    SOFTWARE-PRACTICE & EXPERIENCE, 1979, 9 (11) : 947 - 957
  • [42] Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments
    Jeff Daily
    BMC Bioinformatics, 17
  • [43] Assessing and discovering parallelism in C plus plus code for heterogeneous platforms
    del Rio Astorga, David
    Sotomayor, Rafael
    Miguel Sanchez, Luis
    Garcia Blas, Javier
    Calderon, Alejandro
    Fernandez, Javier
    JOURNAL OF SUPERCOMPUTING, 2018, 74 (11) : 5674 - 5689
  • [44] Performance Evaluation of Python']Python Parallel Programming Models: Charm4Py and mpi4py
    Fink, Zane
    Liu, Simeng
    Choi, Jaemin
    Diener, Matthias
    Kale, Laxmikant, V
    PROCEEDINGS OF SIXTH INTERNATIONAL IEEE WORKSHOP ON EXTREME SCALE PROGRAMMING MODELS AND MIDDLEWARE (ESPM2 2021), 2021, : 38 - 44
  • [45] DSParLib: A C plus plus Template Library for Distributed Stream Parallelism
    Loff, Junior
    Hoffmann, Renato B.
    Pieper, Ricardo
    Griebler, Dalvan
    Fernandes, Luiz G.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2022, 50 (5-6) : 454 - 485
  • [46] C plus plus Data Layout Abstractions through Proxy Types
    Wende, Florian
    2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2019, : 758 - 767
  • [47] Programming and Execution Models for Parallel Bounded Exhaustive Testing
    Al Awar, Nader
    Jain, Kush
    Rossbach, Christopher J.
    Gligoric, Milos
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [48] Teaching distributed memory programming from mental models
    Eijkhout, Victor
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2018, 118 : 120 - 127
  • [49] Performance evaluation of hybrid parallel programming paradigms
    Prabhakar, A
    Getov, V
    PERFORMANCE ANALYSIS AND GRID COMPUTING, 2004, : 57 - 76
  • [50] An Embedded C plus plus Domain-Specific Language for Stream Parallelism
    Griebler, Dalvan
    Danelutto, Marco
    Torquati, Massimo
    Fernandes, Luiz Gustavo
    PARALLEL COMPUTING: ON THE ROAD TO EXASCALE, 2016, 27 : 317 - 326