Skip to content

v0.3.0 — Deprecate JIT in favor of BLAS GEMV

Choose a tag to compare

@0xC000005 0xC000005 released this 10 Feb 22:07

What's Changed

Deprecated

  • fast_eval() — use vectorized_eval() instead, which is ~150x faster via BLAS GEMV
  • [jit] optional dependency (Numba) — no longer needed since BLAS path outperforms JIT
  • _jit.py module — will be removed in a future version

Why BLAS beats JIT

vectorized_eval() restructures N-D tensor contractions into matrix-vector products (BLAS GEMV), replacing 16,105 Python loop iterations with 5 BLAS calls for a 5D problem. Optimized BLAS (OpenBLAS/MKL) running a single GEMV is fundamentally faster than JIT-compiled scalar loops — the data access pattern is more cache-friendly and leverages SIMD vectorization at the hardware level.

Changed

  • All documentation updated to reflect BLAS GEMV as the primary fast path
  • Removed Numba/JIT installation instructions from docs
  • Removed numba from dev dependencies

Full Changelog: v0.2.1...v0.3.0