There are several libraries and tools leveraging SIMD processors with different techniques. The table below is an attempt to list similar libraries that are known to the authors of VOLK and provide a high-level comparison of libraries. This is not meant to be an authoritative list of SIMD-optimizing projects as much as a resource to begin the decision making process.
Library | License | Brief Description | Hardware Targets |
---|---|---|---|
VOLK | GPLv3 | Hand-tuned routines with a generic CPU dispatcher | SSE*, AVX, AVX2, NEON |
Yeppp! | 3-clause BSD | GTRI research project | SSE*, AVX, AVX2, FMA, NEON, NEONv2 |
Vc | LGPLv3 | SIMD Vector classes for C++ | SSE*, AVX |
libsimdpp | Boost License | C++ wrapper for SIMD intrinsics | SSE2+, AVX, AVX2, FMA, AVX-512, NEON |
Ne10 | 3-clause BSD | Math functions optimized for ARM | NEON |
Intel IPP | proprietary | Math routines optimized for Intel processors | SSE*, AVX, AVX2, AVX-512 |
Libm | AMD License | Extended libm with vectorized routines for AMD processors |