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.