Skip to content

docs: maintainer pass — consume feedback backlog, reconcile GPU dead-ends + stale numbers#156

Merged
ChrisLundquist merged 1 commit into
masterfrom
claude/maintainer-2026-06-10
Jun 10, 2026
Merged

docs: maintainer pass — consume feedback backlog, reconcile GPU dead-ends + stale numbers#156
ChrisLundquist merged 1 commit into
masterfrom
claude/maintainer-2026-06-10

Conversation

@ChrisLundquist

Copy link
Copy Markdown
Owner

Maintainer pass consuming the .claude/feedback/ backlog into CLAUDE.md. Docs-only.

Promoted (CLAUDE.md edits)

  • GPU dead-ends reconciled with PR feat(pz2): G32 stage 2 — Metal literal decode 65 GB/s, but the splice is the wall (GPU decode killed with data) #154's pz2-G32 stage-2 data. The old "GPU entropy (rANS/FSE) is slower than CPU — 0.54x decode" was a serial-state topology artifact: a wire-codesigned Metal kernel decodes literals at 64.75 GB/s. GPU block decode still loses, but on the LZ splice / shared-memory ceiling (0.21x at the real operating point, 1.02x parity at 16x synthetic saturation), not on entropy. Encode-vs-decode framing now split.
  • Per-core decode wall entry amended: the wall was format-structural, not hardware. pz2 (sequence wire + 8-lane Huffman + fused splice) decodes ~3.5x faster per core at ratio parity — replace the format, don't micro-opt lzf. Profiling gotcha preserved.
  • pz bw decode row 1120 → 1367 MB/s (PR perf(bw): K=8 multi-cursor inverse BWT — 1.55x ST / 2.66x all-cores CLI decode #151 K=8 multi-cursor inverse BWT, 2.66x all-cores); multi-cursor rider + GPU-iBWT rejection documented.
  • Num row: -a now auto-routes via numeric_gain (feat(analysis): auto-route fixed-stride numeric data to the Num pipeline #138); added the "don't trial-encode a 64KB sample" gotcha.
  • New dead-end: vertical bit-packing can't replace per-plane FSE in the Num pipeline (+18/+10/+2/+47pp).
  • Key conventions: vec![0;n]/alloc_zeroed vs with_capacity+resize on fresh decode buffers.
  • Test caveat: test_lz77_batched_pipeline_not_slower_than_serial flakes under multi-agent load (verified: passes in isolation).

Discarded / already-covered (notes deleted)

  • 6 March-2026 notes (GPU hash tables, GPU rANS, GPU LZ-win/entropy-lose, LzSeq family, per-stream overhead, ratio-gap-is-encoding) — all already covered by current dead-ends / architecture sections.
  • ci-clippy note — the --all-targets fix already landed in its own PR.
  • numeric-decorr-frontend spike note — superseded by the shipped Num pipeline.

All claims verified against docs/design-docs/pz2-g32-stage2-findings.md, ibwt-cursor-findings.md, num-bitpack-stage0-findings.md, and clean-slate-codec.md.

CI note: the one local test failure is the documented flaky wall-clock GPU perf assertion (758/758 real tests pass; flake passes in isolation at 0.21s). Change is docs-only.

🤖 Generated with Claude Code

…ends + stale numbers

Consume the .claude/feedback backlog into CLAUDE.md:

- Reconcile GPU dead-ends with pz2-G32 stage 2 data: the old "GPU entropy
  is slow (0.54x decode)" was a serial-topology artifact — a wire-codesigned
  Metal kernel hits 64.75 GB/s on literals. GPU block decode still dies, but
  on the LZ splice / shared-memory ceiling (0.21x at real occupancy, 1.02x
  parity at 16x saturation), not entropy. Split the encode vs decode framing.
- Amend the "no per-core decode win; gap is structural" entry: the wall was
  format-structural, not hardware — pz2 (sequence wire + 8-lane Huffman)
  decodes ~3.5x faster per core at parity. Replace the format, don't tune lzf.
- Update pz bw decode 1120 -> 1367 MB/s (K=8 multi-cursor iBWT shipped,
  2.66x all-cores) and document the multi-cursor rider + GPU-iBWT rejection.
- Num row: now auto-routes via -a (#138); add the sample-trial gotcha.
- New dead-end: vertical bit-packing can't replace per-plane FSE in Num.
- Key conventions: vec![0;n]/alloc_zeroed vs with_capacity+resize on decode bufs.
- Test caveat: lz77 batched-pipeline perf assertion flakes under machine load.

Delete the 14 consumed notes (6 March notes already covered by current
dead-ends; ci-clippy fix already landed; numeric-decorr spike superseded by
the shipped Num pipeline).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ChrisLundquist ChrisLundquist merged commit 09fab2d into master Jun 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant