Platform support

KFR is built with CMake and requires a C++20-compatible standard library. The matrix below follows the compiler and platform information in the KFR installation guide.

Officially supported

Operating system Compiler Compiler command Support Performance
Linux GCC 11+ g++ Supported Full performance
Linux Clang 16+ clang++ Supported Full performance
macOS Clang 16+ clang++ Supported Full performance
Android Clang clang++ Supported Full performance
iOS Clang clang++ Supported Full performance
Windows MSVC ABI / MSVC cl.exe Supported on x86 and x86-64 May be lower, especially for DFT and complex algorithms
Windows MSVC ABI / Clang clang-cl.exe Supported Full performance
WebAssembly Emscripten em++ Supported Full performance

ARM, ARM64, and RISC-V targets require Clang or GCC. Clang can also be used to build Visual Studio projects while maintaining compatibility with code built by Visual Studio.

CPU support

CPU family Instruction sets and notes Support
Intel and AMD x86/x86-64 SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, and AVX-512 Optimized
ARM ARMv7 with NEON Optimized (no hardware support for f64)
ARM64 AArch64 with NEON Optimized
RISC-V RVV; Linux only, with Clang required. Optimized (VLEN must be at least 128)

Additional platforms

FreeBSD and MinGW are known to work, but they are not officially supported and are outside KFR’s regular test matrix. Other operating systems, compilers, and CPUs may also work, but are not covered by the official support policy.

See the KFR installation guide on GitHub