vc 1.4.1 SIMD vector classes for C++

Vc provides portable, zero-overhead C++ types for explicitly data-parallel programming. It is a library designed to ease explicit vectorization of C++ code. Its types enable explicitly stating data-parallel operations on multiple values. The parallelism is therefore added via the type system. Vc has an intuitive API and provides portability between different compilers and compiler versions as well as portability between different vector instruction sets. Thus, an application written with Vc can be compiled for:

  1. AVX and AVX2

  2. SSE2 up to SSE4.2 or SSE4a

  3. Scalar

  4. MIC

  5. NEON (in development)

  6. NVIDIA GPUs / CUDA (in development)