Skip to content

Support and compatibility

The current registry implements 97 semantic operations and 404 type signatures. The generated matrix is the complete source for IDs, signatures and backend cells. This page explains how to interpret it.

Count operations and signatures separately

An operation such as add counts once across dtypes, broadcast, out, arenas and Workers. Mask logic (mask.and) and integer bitwise logic (bitAnd) are separate semantics. Conversion is one operation, with each directed type pair counted as a signature. Fusion and asynchronous execution do not add operations.

Signature groupImplemented
f3273
f6473
i8/i16/i3237 each
u8/u16/u3235 each
mask6
Directed conversions36
Total404

Integer types do not expose floating division, sum/dot, scans or advanced math. There are no i64/u64 or mask/u8 conversion signatures. See the numerical contracts for exact semantics.

Read backend states

MarkMeaning
PPlanned and not callable
IImplemented, without complete execution evidence for that target
VExecuted successfully within the scope recorded in the registry
FCallable through scalar fallback; not explicit SIMD coverage

Native scalar and Wasm scalar each have 404 V entries. Each SIMD backend has 17 explicit f32 signatures and 387 scalar fallbacks. NEON and SIMD128 have local V evidence for those 17; AVX2 remains I. Verification on macOS arm64/Node does not certify other native platforms or every browser's numerical behavior.

Explicit f32 vector kernels cover add/sub/mul/div/abs/min/max/clamp and neg/square/sqrt/reciprocal/copysign/floor/ceil/trunc/roundEven. Short inputs and tails may still execute scalar code. Compiler auto-vectorization is not counted as an explicit kernel.

Query the running engine

ts
engine.getCapability('add')
// Example on a NEON engine:
// { execution: 'simd', kernel: 'neon', fallback: false }

engine.getCapability('add', 'f64')
// { execution: 'scalar', kernel: 'scalar', fallback: true }

engine.getCapability('convert', 'i32', 'u8')

engine.info.kernel describes engine selection. execution for an individual signature is simd, scalar or unsupported. simd: 'required' does not require every operation to be vectorized. See backend selection.

Pipelines support a bounded set of 68 signatures from ten operations. Workers execute those plans, rather than wrapping every operation asynchronously. See the pipeline and Worker contracts.

Evidence scope

pnpm check:support audits 2,020 backend cells, verifies implementation and historical evidence paths, and exercises each signature through ordinary/resident calls on available local modes. This differential smoke does not replace the independent numerical, ABI, alias or memory suites, and never promotes I to V.

The latest historical candidate had local Node 22.13/24/26 and Chromium/WebKit success, a Firefox startup failure, and four native targets pending. Read candidate verification, the historical reports and remaining work. A compiled branch or configured CI job is not execution evidence.

Released under the MIT License.