perf(gpu): run DECODE (num_parts=1) DEEP/FRI on device - #946
perf(gpu): run DECODE (num_parts=1) DEEP/FRI on device#946ColoCarletti wants to merge 2 commits into
Conversation
|
/bench-gpu |
|
/ai-review |
GPU Benchmark (ABBA) —
|
Codex Code ReviewNo issues found in the PR changes. |
Review:
|
c11e805 to
a9aead5
Compare
AI ReviewPR #946 · 7 changed files FindingsNo non-rejected structured findings were reported. Reviewer Lanes
Native Codex and Claude reviews run separately and post their own comments. They are not included in this structured provenance report. Raw lane outputs, candidates, final issues, and model metrics are uploaded as workflow artifacts. |
|
/bench-gpu |
1 similar comment
|
/bench-gpu |
a9aead5 to
3eeb0ee
Compare
Extend the device-resident composition-parts path to num_parts==1. For d=1, H is already the single part on the LDE coset, so deinterleave it into a 1-part GpuLdeExt3 (comp_h_to_slabs_ext3 kernel, no NTT) instead of running DEEP/FRI on host; the commit, R3 OOD, R4 DEEP, FRI and openings already read the part count from the handle. Proof-identical; host fallback preserved.
3eeb0ee to
6814ae1
Compare
…variants - add prover/tests/cuda_d1_path.rs + `make test-cuda-d1` (gpu_test.sh Group 3): lowers LAMBDA_VM_GPU_LDE_THRESHOLD so DECODE engages the d=1 device DEEP/FRI path end to end, asserting gpu_comp_h_slabs_calls > 0 and the proof verifies. Its own binary because gpu_lde_threshold() caches the env (OnceLock). - decompose_comp_h_dev: debug_assert want_host and H rows == LDE domain size on the d=1 branch (the d=2 arm gets an incidental check via weights.len()). - try_deinterleave_comp_h_dev: document that the always-drained host part feeds the release query-0 canary — the only e2e check on the d=1 layout.
Extends the device-resident composition-parts path to num_parts==1 so the DECODE table's DEEP/FRI runs on GPU instead of host.
For a degree-1 composition, H is already the single part on the LDE coset — no decompose, no re-extension, just an interleaved→slab de-interleave (new comp_h_to_slabs_ext3 kernel, no NTT). The R2 commit, R3 OOD, R4 DEEP, FRI and openings already read the part count from the handle, so no downstream changes are needed; the host fallback is preserved.
Validation (ethrex 100tx, RTX 5090):