Skip to content

impl(sprint-13/W-I4): D-CSV-17 — rayon par_* variants for hpc::stream#148

Merged
AdaWorldAPI merged 2 commits into
masterfrom
claude/sprint-13-w-i4-d-csv-17-rayon-par-streams
May 16, 2026
Merged

impl(sprint-13/W-I4): D-CSV-17 — rayon par_* variants for hpc::stream#148
AdaWorldAPI merged 2 commits into
masterfrom
claude/sprint-13-w-i4-d-csv-17-rayon-par-streams

Conversation

@AdaWorldAPI
Copy link
Copy Markdown
Owner

Parallel companion to the sprint-12 Wave-F vertical streaming scaffolds (QualiaStream / InferenceStream / SplatFieldStream). Adds rayon par_* variants behind the rayon feature gate (OQ-CSV-7) with fixed cache-line chunk sizes (OQ-CSV-8).

  • par_qualia_stream: 8-row fixed chunks (8B × 8 = 64B cache line)
  • par_inference_stream: 8-row fixed chunks (8B × 8 = 64B cache line)
  • par_splat_field_stream: 4-row fixed chunks (16B × 4 = 64B cache line)
  • All three return impl IndexedParallelIterator (enumerate + zip + collect determinism per spec §2)
  • 18 new tests: 6 per stream (T-P-Q-1..6, T-P-I-1..6, T-P-S-1..6); all pass
  • mod.rs: pub use registration for par_* under cfg(feature = "rayon") (AP5 clean)
  • CI: hpc-stream-parallel job added to ci.yaml + conclusion needs (D-CSV-17 CI ownership)

https://claude.ai/code/session_01UwJuKqP828qyX1VkLgGJFS


Generated by Claude Code

claude added 2 commits May 16, 2026 14:25
…m/InferenceStream/SplatFieldStream (OQ-CSV-7 rayon feature gate; OQ-CSV-8 fixed cache-line chunks; CI matrix hpc-stream-parallel job co-shipped)

- par_qualia_stream: 8-row fixed chunks (8B×8=64B cache line, OQ-CSV-8)
- par_inference_stream: 8-row fixed chunks (8B×8=64B cache line, OQ-CSV-8)
- par_splat_field_stream: 4-row fixed chunks (16B×4=64B cache line, OQ-CSV-8)
- All three return impl IndexedParallelIterator (enumerate+zip+collect determinism, spec §2)
- 18 new tests: 6 per stream (T-P-Q-1..6, T-P-I-1..6, T-P-S-1..6), all pass
- mod.rs: pub use registration for par_* under cfg(feature = "rayon") (AP5 clean)
- CI: hpc-stream-parallel job added to ci.yaml + conclusion needs (D-CSV-17 CI ownership)

https://claude.ai/code/session_01UwJuKqP828qyX1VkLgGJFS
…only)

`tests/par_azip.rs` has `use itertools::{assert_equal, cloned, enumerate}`
under `#[cfg(feature = "approx")]`, but `test_par_azip9` called
`assert_equal(cloned(&a), x)` at line 85 unconditionally. With approx OFF
the import is excluded and compile fails with E0425.

Latent for as long as the file existed (since PR #73 era); never surfaced
because no CI matrix combination ran `--features rayon` without approx.
W-I4's new `hpc-stream-parallel` job exercises exactly that combination
and tripped the failure.

Fix: replace `assert_equal(cloned(&a), x)` with `assert_eq!(a, x)` —
both `a` and `x` are `Array<i32, _>` and the file's other tests already
use direct `assert_eq!`. Trim the now-dead `assert_equal, cloned` from
the still-needed (test_par_azip3) `enumerate` import.

Verified clean compile + 6/6 tests pass under both:
  cargo test --features rayon --test par_azip
  cargo test --features "rayon approx" --test par_azip

https://claude.ai/code/session_01UwJuKqP828qyX1VkLgGJFS
@AdaWorldAPI AdaWorldAPI merged commit 3441060 into master May 16, 2026
15 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.

2 participants