Skip to content

feat: add jolt-backends (CPU backend)#1636

Draft
moodlezoup wants to merge 1 commit into
mainfrom
prover-stack/10b-jolt-backends
Draft

feat: add jolt-backends (CPU backend)#1636
moodlezoup wants to merge 1 commit into
mainfrom
prover-stack/10b-jolt-backends

Conversation

@moodlezoup

Copy link
Copy Markdown
Collaborator

Part of splitting #1605 into a reviewable, individually-CI-passing stack (2/3).

Base: prover-stack/10a-modular-refactor

Adds jolt-backends: the bundled CPU prover backend — sumcheck kernels, commitments, openings, and polynomial / eq / lagrange ops — behind the request/result backend contracts.

⚠️ CI note

jolt-backends's cpu-gated module is the sole consumer of a few pub(crate) sumcheck helpers, so the crate is not standalone --no-default-features-clean (those helpers read as dead code without cpu). It is excluded from that one --no-default-features clippy line in this PR only; the next PR (jolt-prover) depends on jolt-backends with default features and reverts the exclusion (feature unification keeps cpu on).

Validation

  • cargo clippy --all --all-targets in allocative,host / allocative,host,zk / --no-default-features (jolt-backends excluded) — clean
  • cargo nextest run -p jolt-backends — 79 tests pass

@github-actions

Copy link
Copy Markdown
Contributor

Warning

This PR has more than 500 changed lines and does not include a spec.

Large features and architectural changes benefit from a spec-driven workflow.
See CONTRIBUTING.md for details on how to create a spec.

If this PR is a bug fix, refactor, or doesn't warrant a spec, feel free to ignore this message.

@github-actions github-actions Bot added the no-spec PR has no spec file label Jun 23, 2026
@moodlezoup moodlezoup force-pushed the prover-stack/10a-modular-refactor branch from 492cfe4 to 276b391 Compare June 23, 2026 17:41
@moodlezoup moodlezoup force-pushed the prover-stack/10b-jolt-backends branch 2 times, most recently from 0649358 to 4b99d6c Compare June 23, 2026 17:50
@moodlezoup moodlezoup force-pushed the prover-stack/10a-modular-refactor branch from ea1c317 to 7e9fe83 Compare June 23, 2026 17:54
@moodlezoup moodlezoup force-pushed the prover-stack/10b-jolt-backends branch from 4b99d6c to 2591eff Compare June 23, 2026 17:55
Part of splitting PR #1605 (prover-stack/10-jolt-prover) into a CI-passing
stack. Adds the jolt-backends crate: the bundled CPU prover backend
(sumcheck kernels, commitments, openings, polynomial ops) behind the
request/result backend contracts.

CI note: jolt-backends's cpu-gated module is the sole consumer of a few
pub(crate) sumcheck helpers, so the crate is not standalone
no-default-features-clean. It is excluded from the --no-default-features
clippy line here only; the next PR (jolt-prover) depends on it with
default features, restoring full coverage and reverting this CI line.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@0xAndoroid 0xAndoroid force-pushed the prover-stack/10b-jolt-backends branch from 2591eff to 94221b6 Compare June 24, 2026 20:20
@0xAndoroid 0xAndoroid changed the base branch from prover-stack/10a-modular-refactor to main June 24, 2026 20:21
@github-actions github-actions Bot added spec Tracking issue for a feature spec implementation PR contains implementation of a spec and removed no-spec PR has no spec file labels Jun 24, 2026
@0xAndoroid 0xAndoroid closed this Jun 24, 2026
@0xAndoroid 0xAndoroid reopened this Jun 24, 2026
@github-actions github-actions Bot added no-spec PR has no spec file and removed spec Tracking issue for a feature spec labels Jun 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark comparison (crates)

group                           main_run                               pr_run
-----                           --------                               ------
EqPolynomial::evaluations/14    1.51   797.1±15.03µs        ? ?/sec    1.00   526.7±17.59µs        ? ?/sec
Polynomial::bind/14             1.00    130.9±7.75µs        ? ?/sec    1.06   138.2±19.13µs        ? ?/sec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

implementation PR contains implementation of a spec no-spec PR has no spec file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants