You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 85d7be0
Browse filesBrowse the repository at this point in the historyBrowse files
The five data-indexed primitives no longer describe themselves in
foreign-key / join / table terms: parameters are `index` and `table`,
docs speak of addresses and populations. `mask_gather_u32` and
`mask_scatter_or_u32` carry their survival conditions — a gather reads
only resident state into a tile-local output; a scatter writes only the
demanded sink or the accumulator of the fold whose scalar leaves.
New: `masked_key_run_count_u32` + `KeyRunCarry` — on a key-clustered
lane, the distinct count over selected elements as a run fold with a
two-word carry and no population-sized set. Documented as over-counting
on an unclustered lane; parity 0xD50 threads the carry across uneven
tiles against a seen-set reference.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GXUahz73MZxtxWcfpHp9dG
Copy file name to clipboardExpand all lines: .claude/blackboard.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3276,3 +3276,5 @@ Loose ends: the general strided path still gathers scalar (correct — at row
3276
3276
strides ≥ a cache line a hardware gather buys nothing, per the doc); a
3277
3277
`stride_bytes == 8` twin for `u64` lanes does not exist yet because no caller
3278
3278
compares `u64` lanes.
3279
+
3280
+
2026-09-21 (materialisation ruling): the five data-indexed primitives are re-documented in ADDRESS terms only — `index`/`table` parameters, no foreign-key / join / semijoin / table-name vocabulary; `mask_gather_u32` and `mask_scatter_or_u32` now carry their SURVIVAL CONDITIONS (gather: source must be resident state, output tile-local; scatter: destination must be the demanded sink or the accumulator of the fold whose scalar leaves). Sixth arm of the 0xDxx group: `masked_key_run_count_u32(keys, mask_words, &mut KeyRunCarry)` — on a key-clustered lane the distinct count over selected elements as a two-word-carry run fold, no population-sized set; parity `0xD50` threads the carry across uneven tiles against a seen-set reference. Not exact on an unclustered lane by construction (documented; unit test pins the over-count).
0 commit comments