Inastemp: A Novel Intrinsics-as-Template Library for Portable SIMD-Vectorization
Author
Source
Issue
Vol. 2017, Issue 2017 (31 Dec. 2017), pp.1-18, 18 p.
Publisher
Hindawi Publishing Corporation
Publication Date
2017-09-20
Country of Publication
Egypt
No. of Pages
18
Main Subjects
Abstract EN
The development of scientific applications requires highly optimized computational kernels to benefit from modern hardware.
In recent years, vectorization has gained key importance in exploiting the processing capabilities of modern CPUs, whose evolution is characterized by increasing register-widths and core numbers, but stagnating clock frequencies.
In particular, vectorization allows floating point operations to be performed at a higher rate than the processor’s frequency.
However, compilers often fail to vectorize complex codes and pure assembly/intrinsic implementations often suffer from software engineering issues, such as readability and maintainability.
Moreover, it is difficult for domain scientists to write optimized code without technical support.
To address these issues, we propose Inastemp, a lightweight open-source C++ library.
Inastemp offers a solution to develop hardware-independent computational kernels for the CPU.
These kernels are portable across compilers and floating point precision and vectorized targeting SSE(3,4.1,4.2), AVX(2), AVX512, or ALTIVEC/VMX instructions.
Inastemp provides advanced features, such as an if-else statement that vectorizes branches that cannot be removed.
Our performance study shows that Inastemp has the same efficiency as pure intrinsic approaches on modern architectures.
As side-results, this study provides micro benchmarks on the latest HPC architectures for three different computational kernels, emphasizing comparisons between scalar and intrinsic-based codes.
American Psychological Association (APA)
Bramas, Berenger. 2017. Inastemp: A Novel Intrinsics-as-Template Library for Portable SIMD-Vectorization. Scientific Programming،Vol. 2017, no. 2017, pp.1-18.
https://search.emarefa.net/detail/BIM-1203438
Modern Language Association (MLA)
Bramas, Berenger. Inastemp: A Novel Intrinsics-as-Template Library for Portable SIMD-Vectorization. Scientific Programming No. 2017 (2017), pp.1-18.
https://search.emarefa.net/detail/BIM-1203438
American Medical Association (AMA)
Bramas, Berenger. Inastemp: A Novel Intrinsics-as-Template Library for Portable SIMD-Vectorization. Scientific Programming. 2017. Vol. 2017, no. 2017, pp.1-18.
https://search.emarefa.net/detail/BIM-1203438
Data Type
Journal Articles
Language
English
Notes
Includes bibliographical references
Record ID
BIM-1203438