Skip to content

fix: use CPU-aware prover scheduler - #897

Draft
jotabulacios wants to merge 1 commit into
mainfrom
fix/cpu-prover-scheduler
Draft

fix: use CPU-aware prover scheduler#897
jotabulacios wants to merge 1 commit into
mainfrom
fix/cpu-prover-scheduler

Conversation

@jotabulacios

Copy link
Copy Markdown
Collaborator

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:

  • schedules table work through the existing Rayon pool;
  • limits table concurrency in bounded chunks; and
  • separates auxiliary-trace construction/commitment from rounds 2–4 with a CPU phase barrier.

The CUDA path and proof format are unchanged.

@jotabulacios

Copy link
Copy Markdown
Collaborator Author

/bench

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Benchmark — real block (ethrex_mainnet_25368371.bin) (median of 3)

continuations · epoch 2^22 · 13 epochs

Metric main PR Δ
Peak heap 48519 MB 53151 MB +4632 MB (+9.5%) 🔴
Prove time 166.381s 146.118s -20.263s (-12.2%) 🟢

🎉 Improvement on the real block — prove time down 12.2%.

Prove-time spread 1.6% (147.254s / 146.118s / 144.936s)

Commit: 62301c8 · Baseline: cached · Runner: self-hosted bench

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