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 条
  • [31] Comparison of Threading Programming Models
    Salehian, Solmaz
    Liu, Jiawen
    Yan, Yonghong
    2017 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2017, : 766 - 774
  • [32] Towards Highly Optimized Cartesian Genetic Programming: From Sequential via SIMD and Thread to Massive Parallel Implementation
    Hrbacek, Radek
    Sekanina, Lukas
    GECCO'14: PROCEEDINGS OF THE 2014 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, 2014, : 1015 - 1022
  • [33] Performance Evaluation of NPB and SPEC CPU2006 on Various SIMD Extensions
    Zhao, Bo
    Gao, Wei
    Zhao, Rongcai
    Han, Lin
    Sun, Huihui
    Li, Yingying
    BIG DATA COMPUTING AND COMMUNICATIONS, 2015, 9196 : 257 - 272
  • [34] A Survey on Parallel Architectures and Programming Models
    Pervan, Branimir
    Knezovic, Josip
    2020 43RD INTERNATIONAL CONVENTION ON INFORMATION, COMMUNICATION AND ELECTRONIC TECHNOLOGY (MIPRO 2020), 2020, : 999 - 1005
  • [35] A pilot study to compare programming effort for two parallel programming models
    Hochstein, Lorin
    Basili, Victor R.
    Vishkin, Uzi
    Gilbert, John
    JOURNAL OF SYSTEMS AND SOFTWARE, 2008, 81 (11) : 1920 - 1930
  • [36] The Implementation of B1C Multithreaded Software Receiver Based on SIMD Technique
    Tian, Yuan
    Chang, Qing
    PROCEEDINGS OF 2019 IEEE 10TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS 2019), 2019, : 199 - 205
  • [37] Uniting extrinsic vectorization and shell structure for efficient SIMD evaluation of electron repulsion integrals
    Ramdas, Tirath
    Egan, Gregory K.
    Abramson, David
    Baldridge, Kim K.
    CHEMICAL PHYSICS, 2008, 349 (1-3) : 147 - 157
  • [38] 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
  • [39] Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments
    Daily, Jeff
    BMC BIOINFORMATICS, 2016, 16
  • [40] Programming the Grid with POP-C++
    Nguyen, Tuan-Anh
    Kuonen, Pierre
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2007, 23 (01): : 23 - 30