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 条
  • [21] Comparing SIMD and MIMD programming modes
    Ganesan, R
    Govindarajan, K
    Wu, MY
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 35 (01) : 91 - 96
  • [22] A SIMD Interpreter for Linear Genetic Programming
    Ababsa, Tarek
    2022 INTERNATIONAL SYMPOSIUM ON INNOVATIVE INFORMATICS OF BISKRA, ISNIB, 2022, : 159 - 164
  • [23] Introducing Embedded Systems in the first C/C plus plus Programming Class
    Hamblen, James O.
    Smith, Zachery C.
    Woo, Winne W.
    2013 IEEE INTERNATIONAL CONFERENCE ON MICROELECTRONIC SYSTEMS EDUCATION (MSE), 2013, : 1 - 4
  • [24] Customizable and scalable automated assessment of C/C plus plus programming assignments
    Delgado-Perez, Pedro
    Medina-Bulo, Inmaculada
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2020, 28 (06) : 1449 - 1466
  • [25] Grace: Safe Multithreaded Programming for C/C plus
    Berger, Emery D.
    Yang, Ting
    Liu, Tongping
    Novark, Gene
    OOPSLA 2009, CONFERENCE PROCEEDINGS, 2009, : 81 - 96
  • [26] A C plus plus Programming Model for Heterogeneous System Architecture
    Potter, Ralph
    Bradford, Russell
    Murray, Alastair
    Dolinsky, Uwe
    HIGH PERFORMANCE COMPUTING, ISC HIGH PERFORMANCE 2016 INTERNATIONAL WORKSHOPS, 2016, 9945 : 433 - 450
  • [27] 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
  • [28] Discussion On Copy Constructor In C plus plus Programming Language
    Luo Fafen
    Du Ruiqing
    FOURTH INTERNATIONAL CONFERENCE ON MACHINE VISION (ICMV 2011): COMPUTER VISION AND IMAGE ANALYSIS: PATTERN RECOGNITION AND BASIC TECHNOLOGIES, 2012, 8350
  • [29] Using OGRE as a Means of Teaching C plus plus Programming
    Johnson, Bruce
    PROCEEDINGS OF THE 49TH ANNUAL ASSOCIATION FOR COMPUTING MACHINERY SOUTHEAST CONFERENCE (ACMSE '11), 2011, : T2 - T2
  • [30] Research and Practice on Teaching for C plus plus Programming Language
    Liu, Hai-ming
    Zhang, Mei
    Liu, Wei-dong
    2016 2ND INTERNATIONAL CONFERENCE ON SOCIAL, EDUCATION AND MANAGEMENT ENGINEERING (SEME 2016), 2016, : 122 - 126