Kernel × platform support matrix

Generated from kernel-support.json (version 0.54.0) by KernelSupportMatrixTest — registry introspection of the registered KernelProvider implementations. Do not edit by hand; run ./gradlew generateKernelMatrix to refresh.

Each cell is the best (highest-priority) provider that serves Float32 × format matmul on that platform: native-ffm (100) → panama-vector (50) → scalar (0). An empty cell () means no provider carries a kernel there (the format is dequant-to-FP32 only).

Weight format JVM Android Native·linux Native·apple JS/WASM

Float32

native-ffm

scalar

scalar

scalar

scalar

BFloat16

native-ffm

scalar

scalar

scalar

scalar

Q8_0

native-ffm

native-jni

native-cinterop

native-cinterop

scalar

Q4_0

native-ffm

native-jni

native-cinterop

native-cinterop

scalar

Q4_K

native-ffm

native-jni

native-cinterop

native-cinterop

scalar

Q6_K

panama-vector

native-jni

native-cinterop

native-cinterop

scalar

Q5_K

native-ffm

native-jni

native-cinterop

native-cinterop

scalar

Q5_1

native-ffm

native-jni

native-cinterop

native-cinterop

scalar

Q5_0

native-ffm

native-jni

native-cinterop

native-cinterop

scalar

Mapped serving (row-major, off-heap)

Kernels that read the weight in canonical row-major GGUF file order straight from off-heap bytes (mmap’d pages or a direct buffer) — no heap staging, no prepack copy (#1189). This is what lets a model larger than the managed-heap cap decode on Android. Dense Float32 tensors are also served from the mapping (as element views, not a matmul kernel) — see StorageCapabilities.mappedServableEncodings for the authoritative set the memory plan budgets against the page cache. An empty cell means the format heap-stages under WeightResidency.MAPPED on that platform.

Weight format JVM Android Native·linux Native·apple JS/WASM

Q8_0

ffm-rowmajor

native-jni-direct

Q4_0

ffm-rowmajor

native-jni-direct

Q4_K

ffm-rowmajor

native-jni-direct

Q6_K

ffm-rowmajor

native-jni-direct

Q5_K

ffm-rowmajor

native-jni-direct

Q5_1

ffm-rowmajor

native-jni-direct

Q5_0

ffm-rowmajor

native-jni-direct

See also the eager backends & kernels mindmap (Eager execution: backends and kernels) for the narrative overview and gaps.