Sierra: a SIMD extension for C++
Sierra: a SIMD extension for C++
复制标题
Sierra:C 语言的 SIMD 扩展
DOI:
10.1145/2568058.2568062
复制
发表时间:
2014
影响因子:
1.5
通讯作者:
Sebastian Hack
中科院分区:
文献类型:
--
作者:
Roland Leißa;Immanuel Haffner;Sebastian Hack
Nowadays, SIMD hardware is omnipresent in computers. Nonetheless, many software projects make hardly use of SIMD instructions: Applications are usually written in general-purpose languages like C++. However, general-purpose languages only provide poor abstractions for SIMD programming enforcing an error-prone, assembly-like programming style. An alternative are data-parallel languages. They indeed offer more convenience to target SIMD architectures but introduce their own set of problems. In particular, programmers are often unwilling to port their working C++ code to a new programming language.
In this paper we present Sierra: a SIMD extension for C++. It combines the full power of C++ with an intuitive and effective way to address SIMD hardware. With Sierra, the programmer can write efficient, portable and maintainable code. It is particularly easy to enhance existing code to run efficiently on SIMD machines.
In contrast to prior approaches, the programmer has explicit control over the involved vector lengths.