Skip to content

perf(main): reduce main sumcheck max degree from 4->3 - #1395

Closed
hero78119 wants to merge 65 commits into
masterfrom
feat/degree_3_refactor
Closed

perf(main): reduce main sumcheck max degree from 4->3#1395
hero78119 wants to merge 65 commits into
masterfrom
feat/degree_3_refactor

Conversation

@hero78119

Copy link
Copy Markdown
Collaborator

Problem

Design Rationale

Change Highlights

Benchmark / Performance Impact

Operation

Operation master (s) this PR (s) Improve (master -> this PR)

Layer

Layer master (s) this PR (s) Improve (master -> this PR)

Benchmark command(s):

# paste exact command(s)

Environment (CPU/GPU, core count, rust toolchain, commit hash):

raw data:

  • master:
  • this PR:

Testing

# paste exact command(s), for example:
# cargo fmt --all --check
# cargo make clippy
# cargo make tests

Risks and Rollout

Follow-ups (optional)

Copilot Reviewer Directive (keep this section)

When Copilot reviews this PR, apply .github/copilot-instructions.md strictly.

hero78119 added 30 commits July 27, 2026 13:26
Train dynamic roots across the complete preflight workload and persist ABI-keyed native artifacts with checksum validation and atomic replacement. Track fallback reasons and recover safely through dynamic control flow and guarded memory accesses.
…t_aot_bb_workload

# Conflicts:
#	ceno_emul/src/aot.rs
#	ceno_zkvm/src/e2e.rs
Admit only aligned LW/SW accesses sharing a base register and byte offset. Check the full affine interval for wrapping and region membership once, while retaining scalar guards for ungrouped or rejected accesses. Bump the cache identity because emitted code changes.
After block admission, keep the register base, dense-memory base, and memory ordinal base in their documented callee-saved registers. Emit memory events from the loaded cell metadata and defer next-PC/status stores until block exit. Scalar fallback, shard transitions, syscalls, and non-admitted entries continue to refresh context state.
Load generation, instance-count, and bucket-ceiling table bases once per admitted planner sequence. Preserve the existing generation and capacity checks, rollback path, and slow fallback for stale generations or bucket crossings.
Move public secp256k1 add/double normalization to halo2curves-axiom with Ceno-local variable-time field inversion. Preserve syscall witnesses, invalid inputs, infinity output, parity, and alias fallback; add deterministic differential and edge-case coverage.
Remove public cumulative preflight stages, tracking trainers, and generic compilation APIs. Production preflight now uses private scalar and admitted-block strategies, while tests exercise Pure value execution and FullTracer-compatible execution directly.
Provide a narrow production API that consumes the finalized preflight plan and replays every shard through FullTracer without assigning circuit witnesses. The replay preserves the exact preflight capacity and validates step, shard, exit-code, next-access, and boundary parity.
Gate AOT-only tracer, syscall, and benchmark support at their feature boundaries. Modernize deprecated secp byte conversions, make unsafe conversion types explicit, and document unavoidable transitive dependency-version lint exceptions so workspace all-target Clippy passes with warnings denied.
@hero78119 hero78119 closed this Aug 13, 2026
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