Phase 7e-b (partial) — Tier 1 matmul_naive pure-Li @¶
Summary¶
benchmarks/tier1_micro/matmul_naive/li/main.li now runs 64× (64×64) @ tiles (≈256³ flops) with no LI_EXTRA_C; harness marks matmul_naive as li_pure=True.
Agent continuation¶
- Read
docs/release-notes/2026-05-21-oop-2i-matrix-matmul.md(requires 2i-c on compiler branch). - Run
cmake --build build && ./li-tests/run_all.shandpython3 benchmarks/harness/bench.py --tier 1(orverify_checksumformatmul_naive). - Then 7e-a SIMD lowering on matmul loops, or matmul_blocked pure-Li blocked tiles (needs slice/
@on sub-blocks). - Blocked on merging #138 (2i-c) before this bench is meaningful on
main.
Changed¶
| Path | What |
|---|---|
benchmarks/tier1_micro/matmul_naive/li/main.li | matmul_tile_f64 + C = A @ B; no __li_simd_* |
benchmarks/harness/bench.py | li_pure=True for matmul_naive |
benchmarks/results/README.md | pure_li column lists matmul |
Not changed¶
matmul_blocked— stillLI_EXTRA_C(512³ stack / blocked slices).simd_dot— still uses__li_simd_*(7e-a target).- Compiler 2i-c — landed on sibling branch
cursor/oop-2i-matrix-matmul-57b4/ PR #138. - Benchmarks org
catalog.tomlingest (dashboard) — run ingest after lic tag if needed.
Breaking¶
N/A — Li column variant label becomes pure lic in CSV; shared C kernel column unchanged for cpp/rust/julia.
Security¶
N/A.
Performance¶
Pure-Li wall time >> native 256³ C kernel on smoke hardware (expected until 7e-a SIMD). GFLOPS uses same flops_per_run=2×256³ as native reference.
Downstream¶
- Master plan 7e-b checkbox —
matmul_naivepartial. - benchmarks dashboard ingest when lic release includes this commit.