An evaluation of current SIMD programming models for C++
dc.contributor.author | Pohl, Angela | |
dc.contributor.author | Cosenza, Biagio | |
dc.contributor.author | Álvarez-Mesa, Mauricio | |
dc.contributor.author | Chi, Chi Ching | |
dc.contributor.author | Juurlink, Ben | |
dc.date.accessioned | 2018-06-08T13:31:03Z | |
dc.date.available | 2018-06-08T13:31:03Z | |
dc.date.issued | 2016 | |
dc.description.abstract | 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. | en |
dc.identifier.isbn | 978-1-4503-4060-1 | |
dc.identifier.uri | https://depositonce.tu-berlin.de/handle/11303/7930 | |
dc.identifier.uri | http://dx.doi.org/10.14279/depositonce-7091 | |
dc.language.iso | en | en |
dc.rights.uri | http://rightsstatements.org/vocab/InC/1.0/ | en |
dc.subject.ddc | 004 Datenverarbeitung; Informatik | de |
dc.subject.other | SIMD | en |
dc.subject.other | vectorization | en |
dc.subject.other | C++ | en |
dc.subject.other | parallel programming | en |
dc.subject.other | programming model | en |
dc.title | An evaluation of current SIMD programming models for C++ | en |
dc.type | Conference Object | en |
dc.type.version | acceptedVersion | en |
dcterms.bibliographicCitation.articlenumber | 3 | en |
dcterms.bibliographicCitation.doi | 10.1145/2870650.2870653 | en |
dcterms.bibliographicCitation.originalpublishername | Association for Computing Machinery (ACM) | en |
dcterms.bibliographicCitation.originalpublisherplace | New York, NY, USA | en |
dcterms.bibliographicCitation.proceedingstitle | Proceedings of the 3rd Workshop on Programming Models for SIMD/Vector Processing (WPMVP ’16) | en |
tub.accessrights.dnb | free | en |
tub.affiliation | Fak. 4 Elektrotechnik und Informatik::Inst. Technische Informatik und Mikroelektronik::FG Architektur eingebetteter Systeme | de |
tub.affiliation.faculty | Fak. 4 Elektrotechnik und Informatik | de |
tub.affiliation.group | FG Architektur eingebetteter Systeme | de |
tub.affiliation.institute | Inst. Technische Informatik und Mikroelektronik | de |
tub.publisher.universityorinstitution | Technische Universität Berlin | en |