Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support go corset optimisation and metadata #713

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

DavePearce
Copy link
Contributor

@DavePearce DavePearce commented Feb 19, 2025

This PR does three things:

  1. (checker) Updates the checker to include the "full suite" when running in benchmark mode. This is relevant for testing to try and gauge total work done by the prover.

  2. (optimisation) Adds the ability to specify the optimisation level that go-corset applies when compiling the zkevm.bin file down to the air.Schema which is then consumed by the prover. In particular, the bin/checker is updated to allow the optimisation level to be specified on the command-line for testing purposes. A DEFAULT_OPTIMISATION_LEVEL is provided for normal use.

  3. (metadata) Exposes the metadata map which is stored within the zkevm.bin file. This is a general purpose mechanism for embedding information within the zkevm.bin file. For example, it currently includes the git commit of the enclosing repository when the zkevm.bin file was built, and a timestamp. However, it could include other information as needed.

AlexandreBelling and others added 3 commits February 20, 2025 09:55
This adds support for passing a go-corset optimisation level via the
bin/checker.  The purpose of this is to enable testing at different
optimisation levels to see what effect this has.
This exposes the metadata stored in the zkevm.bin file, such that it can
be used for cross-checking purposes.  For example, the metadata includes
the git commit of the enclosing repository when it was built.
@DavePearce DavePearce force-pushed the feat/allow-checker-to-configure-go-corset-optimisations branch from 31da448 to 6d90e47 Compare February 19, 2025 20:55
@DavePearce DavePearce requested a deployment to docker-build-and-e2e February 19, 2025 20:55 — with GitHub Actions Waiting
@DavePearce DavePearce requested a review from gusiri February 19, 2025 20:57
@codecov-commenter
Copy link

codecov-commenter commented Feb 19, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.40%. Comparing base (b1567ab) to head (6d90e47).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #713   +/-   ##
=========================================
  Coverage     68.40%   68.40%           
  Complexity     1185     1185           
=========================================
  Files           323      323           
  Lines         13131    13131           
  Branches       1319     1319           
=========================================
  Hits           8982     8982           
  Misses         3597     3597           
  Partials        552      552           
Flag Coverage Δ *Carryforward flag
hardhat 98.52% <ø> (ø)
kotlin 66.05% <ø> (ø) Carriedforward from b1567ab

*This pull request uses carry forward flags. Click here to find out more.

Copy link
Contributor

@gusiri gusiri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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.

feat: allow checker to configure go-corset optimisations
4 participants