fix: use CPU-aware prover scheduler - #897
Conversation
|
/bench |
Benchmark — real block (
|
| Metric | main | PR | Δ |
|---|---|---|---|
| Peak heap | 47344 MB | 52784 MB | +5440 MB (+11.5%) 🔴 |
| Prove time | 136.925s | 121.870s | -15.055s (-11.0%) 🟢 |
🎉 Improvement on the real block — prove time down 11.0%.
Prove-time spread 2.6% (121.870s / 123.141s / 119.938s)
Memory Growth
ethrex distinct-account transfers · default parallelism · 1 sample per point
| Transfers | main (MB) | PR (MB) | Δ |
|---|---|---|---|
| 4 | 12242 | 14631 | +2389 MB (+19.5%) |
| 8 | 14928 | 18288 | +3360 MB (+22.5%) |
| 12 | 19774 | 21514 | +1740 MB (+8.8%) |
| 16 | 21972 | 25555 | +3583 MB (+16.3%) |
| 20 | 23838 | 29814 | +5976 MB (+25.1%) |
Growth rate: 941 MB / transfer (main: 756, Δ: +24.5%)
Fit: R² = 0.9973 (main: 0.9717)
⚠️ Memory scaling regression — growth rate increased by +24.5%
Commit: 5bba8d4 · Baseline: cached · Runner: self-hosted bench
|
/bench |
|
/bench-growth |
|
/ai-review |
Codex Code ReviewNo actionable issues found in the PR diff. |
Review: CPU-aware prover schedulerRead the diff against No Critical or High findings. Everything below is Medium or lower. Medium
Low
Nothing here blocks merge; (1) and (2) are the two I would want addressed, at minimum the stale comments in (2). |
AI ReviewPR #897 · 1 changed files Findings
Status column reflects the verdict from the verifier: deepseek-verifier (openrouter/deepseek/deepseek-v4-pro). AI-005: `impl Drop for VramPermit` missing the `allow(dead_code)` its siblings got on non-cuda
Claim On non-cuda builds Evidence Lines 705/712/718 carry Suggested fix Add AI-009: heaviest_first uses unstable sort — non-deterministic scheduling for equal estimates
Claim
Evidence Lines 839-844: Suggested fix Use Reviewer Lanes
Verification Lanes
Native Codex and Claude reviews run separately and post their own comments. They are not included in this structured provenance report. Discarded candidates (6) — rejected by the verifier
Raw lane outputs, candidates, final issues, and model metrics are uploaded as workflow artifacts. |
|
/bench |
|
/bench-growth |
This PR fixes the CPU proving regression introduced by the table scheduler.
The GPU scheduler uses external driver threads to admit and overlap table work. On CPU, that caused table tasks to launch nested Rayon work from outside the Rayon pool, leading to oversubscription, cache contention, and memory-bandwidth contention.
The CPU path now:
The CUDA path and proof format are unchanged.