JavaScript · Highlights

Highlights

8.0.0-rc.1 · b1f866ab

This SDK is deliberately smaller than Python or Rust. Its job is to make the hot vector kernels easy to use from modern JavaScript runtimes.

TypedArray-first API. Standard Float32Array, Float64Array, Int8Array, and Uint8Array work directly. DType tags for exotic storage. f16, bf16, fp8, and packed bits stay explicit. Owned and borrowed views. Vector, VectorView, and base tensor wrappers preserve dtype metadata. Portable runtime story. The same package can target native addons and WASM runtimes. No fake tensor-framework scope. This binding stays centered on the vector families it actually exports.

§ Ecosystem Comparison

FeatureNumKongmathjstensorflow.js
Operation familiesdots, distances, binary, probability, cast, packed, symmetricgeneral arithmetic, matrix ops, statisticsmatmul, elementwise, reductions
PrecisionBFloat16 through sub-byte; automatic widening; Kahan summationFloat64 only; standard accuracyFloat32 primarily; no sub-byte; standard accuracy
Runtime SIMD dispatchauto-selects best ISA per-thread across x86, ARM, RISC-Vnone; pure JSfixed at build time via WASM SIMD or WebGL
Packed matrix, GEMM-likedotsPack + dotsPacked; persistent packing; amortizedmath.multiply — no persistent packingtf.matMul — no persistent packing
Symmetric kernels, SYRK-likedotsSymmetric; upper triangle only; row-range partitioningno duplicate-pair skippingno duplicate-pair skipping
WASM fallbackyes — portable, runs in browser without native addonyes — pure JS, no native requiredyes — also WebGL/WebGPU
Bundle sizesmallmoderatelarge