C++ wrappers for SIMD intrinsics.


xsimd is a library meant for SIMD (Single Instruction, Multiple Data) programming. It provides C++ wrappers for SIMD intrinsics and an implementation of common mathematical functions based on these wrappers. You can find out more about this implementation of C++ wrappers for SIMD intrinsics at the The C++ Scientist. The mathematical functions are a lightweight implementation of boost.SIMD.

xsimd requires a C++14 compliant compiler. The following C++ compilers are supported:

Compiler Version
Microsoft Visual Studio MSVC 2015 update 2 and above
g++ 4.9 and above
clang 3.7 and above

The following SIMD instruction set extensions are supported:

Architecture Instruction set extensions
x86 SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, FMA3, AVX2
x86 AMD same as above + SSE4A, FMA4, XOP


We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.