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 |
|---|---|---|---|---|---|
|
native-ffm |
scalar |
scalar |
scalar |
scalar |
|
native-ffm |
scalar |
scalar |
scalar |
scalar |
|
native-ffm |
native-jni |
native-cinterop |
native-cinterop |
scalar |
|
native-ffm |
native-jni |
native-cinterop |
native-cinterop |
scalar |
|
native-ffm |
native-jni |
native-cinterop |
native-cinterop |
scalar |
|
panama-vector |
native-jni |
native-cinterop |
native-cinterop |
scalar |
|
native-ffm |
native-jni |
native-cinterop |
native-cinterop |
scalar |
|
native-ffm |
native-jni |
native-cinterop |
native-cinterop |
scalar |
|
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 |
|---|---|---|---|---|---|
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
|
ffm-rowmajor |
native-jni-direct |
— |
— |
— |
See also the eager backends & kernels mindmap (Eager execution: backends and kernels) for the narrative overview and gaps.