Skip to content

CPU‑AVX2‑Compatibility

ic005k edited this page Aug 14, 2026 · 1 revision

CPU AVX2 Compatibility

Knot's local LLM and embedding features are powered by llama.cpp. CPUs without AVX2 support are not supported.

Why AVX2 is Required

Knot uses llama.cpp without modifying its SIMD kernel selection logic. The upstream project automatically detects CPU capabilities at runtime and selects the optimal kernel path. On x86-64, llama.cpp's high-performance matrix multiplication kernels are built around AVX2 instructions; the generic C fallback exists only as a build-time safety net and delivers unacceptable performance for real-time embedding generation and LLM inference.

Rather than maintaining a patched compatibility layer that would produce a degraded user experience, Knot follows llama.cpp's default behavior as-is. This means:

  • No custom SIMD patches or forced fallback paths
  • No divergence from upstream that could break on updates
  • Performance characteristics identical to official llama.cpp builds

Note: This limitation applies only to x86‑64 CPUs missing AVX2. ARM (including Apple Silicon) and Android use NEON-based kernels and are unaffected.

Affected Hardware

AVX2 was introduced with Intel Haswell (2013) and AMD Excavator (2015). CPUs released before these architectures typically lack AVX2, including but not limited to:

  • Intel: Sandy Bridge, Ivy Bridge (e.g., E3-1220 V2, i7-3770, i5-3470)
  • AMD: Bulldozer, Piledriver, Steamroller (e.g., FX-8350, A10-7850K)

Verify Your CPU

# Linux / macOS
grep -q avx2 /proc/cpuinfo && echo "✅ AVX2 supported" || echo "❌ AVX2 NOT found"

# Windows (PowerShell)
(Get-CimInstance Win32_Processor).InstructionSet -match "AVX2"

Or use CPU-Z → Instructions field → look for AVX2.

Symptoms on Unsupported CPUs

On AVX1-only or older hardware, enabling local-model features will result in:

  • Application crash on startup or when loading a model (SIGILL / Illegal Instruction / Access Violation)
  • Local embedding and local LLM functions completely unavailable
  • No meaningful error message — the crash occurs at the native instruction level before any application-layer error handling can catch it

If you encounter this behavior, please verify your CPU's AVX2 support using the methods above before filing a bug report.

References

Clone this wiki locally