Skip to content

v0.8.0

@robertelee78 robertelee78 tagged this 10 May 23:02
50 commits since v0.7.1. Pre-1.0 minor bump signaling two
inflection-point additions. All additive; no API breaks.

flash_attn_train — first training-capable attention kernel family.
Combined with the v0.6.7 / v0.7.x elementwise / RMSNorm / embedding
backward surface and the Adam optimizer step, transformer training
on this backend is now actually possible.
- 326c906, cf31e00: kernel scope + 5/5 architectural decisions
- 324f513 phase 1a: differentiable RoPE (forward + backward)
- 2e37647: IMROPE sections [11,11,10,0] doc fix
- f8abc38 phase 1b: forward kernel + logsumexp output
- 739cdec phase 2:  backward kernel (dQ, dK, dV) via FA-2 Algorithm 4

ADR-028 — production decode perf push (~40 commits, cumulative
double-digit wins on hot kernels):
- iter-106 (bc6537d): FWHT-pre fused path in flash_attn_vec_tq_hb
  (gated, default OFF)
- iter-119 (bf9c47e): kL-adaptive nwg, +5.2% long-context decode
- iter-127a-d (14316d9, 52fd3d9, 5aafd7a, 6d43edd): NSG axis +
  cross-simdgroup online-softmax reduce + Path D adaptive NSG=4
  at kL > 1024
- iter-195 (2225d9c): vectorize dequant_hb_float4 byte loads,
  +2.08% gemma4
- iter-197 (7c6f58f): function-constant cbits specialization,
  +8.5% gemma4
- iter-217+218 (877ddda, 45c7922): fused_post_ff_norm2_endlayer_f32
- iter-284 (04ce733): encoder per-pipeline dispatch buckets
- iter-309+321 (6d7ebc0, 72fd377): q6_K mv + mv_id nr0=2 +
  cached yl[16] variants
- iter-310 (ea24988): rms_norm float4 + simd_sum variants
- iter-326 (4b3e3fc): env_flags default-ON parity-proven kernels
- iter-331 (b5f6871): fused_norm_add float4 + simd_sum v2 default-ON
- iter-337 (4830275): fused_head_norm_rope float4 + simd_sum
  Phase 1 v2 default-ON
- Many regression-gate benches across iter-101..iter-255

KV / Hadamard fusions:
- iter-145 (a4e8b0f): fused single-position K+V batch copy kernels
- iter-148 (635c8f5): hadamard_quantize_kv fused K+V single-position
  HB encoder
- ADR-027 phase b iter-14 (c0b5881): dispatch_hadamard_quantize_kv_hb_seq
- ADR-027 phase b iter-30 (6ddd74e): tq_dequantize_hb_kv_seq

Correctness / hygiene:
- ADR-022 iter-68 (b6b8e79): one-char typo blocked tensor mm_id
  Q5_K instantiation — real fix
- ADR-022 iter-73 (91f174b): build-time gate for all Metal shader
  compilation
- ADR-022 (6150c26): kernel_name_covers_all_phase1_combinations
  test debt
- iter-130 (9cc0c79): remove temporary HF2Q_TQ_NSG_TRACE eprintln
- iter-168+169 (a325827, 7fa1e6a): byte-identity tests refute
  ADR-009 F16 KV bug claim across 5 fixtures at 1.00x amplification

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Assets 2
Loading