forked from eth-act/zkevm-benchmark-workload
-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Add benchmark automation scripts and enhance SP1 cluster infrastructure #16
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
Open
WiseMrMusa
wants to merge
60
commits into
master
Choose a base branch
from
nm/02-scripts
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
27e0006
ere-guests: update ethrex (#237)
jsign 51c7b87
ethrex: add Zisk (#239)
jsign 2f9454c
ethrex: update which fixes SP1 bug (#240)
jsign e3ac2de
Release compiled stateless validator guest when tagging (#242)
han0110 5b95a05
Refactored Stateless Validation Input Function (#244)
developeruche ae92fbc
Vendoring `openvm-revm-crypto` (#245)
han0110 c6db137
Update ere for Zisk V0.15.0 support and ethrex (#246)
jsign 8548dcc
precompiles/zisk: remove sp1_bls12_381 (#247)
jsign 4111566
Update dependencies to point to NethermindEth/ere repository and vers…
WiseMrMusa 9c044d3
Add Cluster resource support to CLI and ProverResourceType
WiseMrMusa c64f87d
Add SP1 Cluster Docker Compose and startup scripts
WiseMrMusa d7263f0
Implement validation for Cluster resource usage with SP1 zkVMs
WiseMrMusa dbb7162
feat: add reth-stateless-executor crate for execution-only benchmarking
WiseMrMusa e71daae
chore: add reth-stateless-executor to workspace configurations
WiseMrMusa 7e467d3
feat: integrate stateless executor with benchmark-runner
WiseMrMusa 0c18867
feat: add airbender, openvm, pico and zisk entry points for stateless…
WiseMrMusa acdc06a
feat: implement stateless executor functionality in benchmark-runner
WiseMrMusa 7b22ba7
feat(benchmark-runner, cli): enhance input handling for stateless exe…
WiseMrMusa 07771c7
fix(cli): update execution client argument and guest relative path fo…
WiseMrMusa aae45b2
feat(metrics): implement memory tracking for proving process
WiseMrMusa 5d8b6be
feat(benchmark-runner): add memory tracking features to Cargo.toml an…
WiseMrMusa f251be6
feat(cli): add network resource support and validation for SP1 in ben…
WiseMrMusa a2c8c2e
fix(benchmark-runner): correct reference to benchmark input execution…
WiseMrMusa deb41f7
fix(benchmark-runner): remove unused import from runner.rs
WiseMrMusa e05ec1c
chore: update dependencies to point to NethermindEth/ere repository a…
WiseMrMusa e2a67c2
fix: resolve merge conflicts in Cargo.lock
WiseMrMusa 032cb91
chore: update Rust toolchain references in workflow files to specific…
WiseMrMusa 46b65dd
refactor: clean up imports and improve code formatting across multipl…
WiseMrMusa b3a4398
chore: standardize Rust toolchain installation across workflow files
WiseMrMusa 6e3ea6c
feat(cli): add cluster resource support and enhance SP1 validation
WiseMrMusa 047a037
feat(metrics): add memory usage metrics to proving success structure
WiseMrMusa 590a0d6
fix(rpc): improve header parsing in RpcBlocksAndWitnessesBuilder
WiseMrMusa 817c03f
chore: update dependencies and source revisions for ere packages
WiseMrMusa 6d3ee5e
feat(openvm): add new workspace dependencies and module for revm crypto
WiseMrMusa 0b503e1
feat(scripts): add generate-gas-categorized-fixtures.sh for zkEVM fix…
WiseMrMusa 3142968
feat(scripts): add run-gas-categorized-benchmarks.sh for executing ga…
WiseMrMusa fb179dd
refactor(scripts): improve feature handling in run-gas-categorized-be…
WiseMrMusa b5da004
chore: update .gitignore and modify default behavior in run-gas-categ…
WiseMrMusa 858c6f9
fix(scripts): update permissions for gas benchmark scripts
WiseMrMusa ea98c31
feat(opcode_traces): add instruction breakdown and summary CSV files
WiseMrMusa b5c7270
delete: remove instruction breakdown and summary CSV files
WiseMrMusa 042c327
feat(opcode_traces): add scripts for opcode analysis and tracing
WiseMrMusa c8ced11
feat(scripts): enhance gas categorization in generate-gas-categorized…
WiseMrMusa f572ff8
feat(scripts): add support for local EEST fixtures in generate-gas-ca…
WiseMrMusa 599882a
feat(scripts): enhance gas category handling in run-gas-categorized-b…
WiseMrMusa 0896a19
delete: remove obsolete tracing guide and gas category script
WiseMrMusa 9fbfe8e
refactor(scripts): simplify and enhance option handling in run-gas-ca…
WiseMrMusa a4e1670
docs(cli): clarify network resource requirements and enhance benchmar…
WiseMrMusa d88182a
chore(script): Set default Rayon thread count in gas-categorized fixt…
WiseMrMusa 927f52b
Implement validation for Cluster resource usage with SP1 zkVMs
WiseMrMusa 5d8598a
fix(cli): update resource help text and validation for SP1 zkVM
WiseMrMusa 49336cd
feat(cli): add RISC0 keccak cycle limit option to benchmark script
WiseMrMusa b6464c4
feat(sp1-cluster): make resource limits configurable via env vars
WiseMrMusa 25f0651
feat(sp1-cluster): improve NVIDIA runtime detection and error messages
WiseMrMusa 8ae456f
feat(sp1-cluster): support both Docker Compose v1 and v2
WiseMrMusa ed8e9dd
feat(sp1-cluster): auto-create SP1 circuit cache directory
WiseMrMusa 44d0516
feat(sp1-cluster): make API and Redis ports configurable via CLI
WiseMrMusa 96773bf
feat(sp1-cluster): add health checks and HA documentation
WiseMrMusa 03695f4
refactor(main): remove redundant cluster proving validation for SP1
WiseMrMusa aaa166d
fix(sp1-cluster): update health checks and make private keys configur…
WiseMrMusa File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,120 @@ | ||
| name: Release Compiled Guests | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - master | ||
| tags: | ||
| - 'v*' | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| env: | ||
| ERE_TAG: 0.0.15-d15d36a | ||
|
|
||
| jobs: | ||
| compile-stateless-validator: | ||
| name: Compile ${{ matrix.el }}/${{ matrix.zkvm }} | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| # Reth | ||
| - el: reth | ||
| zkvm: airbender | ||
| - el: reth | ||
| zkvm: openvm | ||
| - el: reth | ||
| zkvm: pico | ||
| - el: reth | ||
| zkvm: risc0 | ||
| - el: reth | ||
| zkvm: sp1 | ||
| - el: reth | ||
| zkvm: zisk | ||
| # Ethrex | ||
| - el: ethrex | ||
| zkvm: risc0 | ||
| - el: ethrex | ||
| zkvm: sp1 | ||
| - el: ethrex | ||
| zkvm: zisk | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Install Rust toolchain | ||
| uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable | ||
| with: | ||
| toolchain: stable | ||
|
|
||
| - name: Pull compiler image | ||
| run: | | ||
| docker pull ghcr.io/eth-act/ere/ere-compiler-${{ matrix.zkvm }}:${ERE_TAG} | ||
|
|
||
| - name: Apply zkVM patch | ||
| run: | | ||
| cargo run -p xtask -- ${{ matrix.zkvm }} | ||
|
|
||
| - name: Compile guest | ||
| run: | | ||
| docker run \ | ||
| -v ./ere-guests:/guest \ | ||
| -v ./output:/output \ | ||
| ghcr.io/eth-act/ere/ere-compiler-${{ matrix.zkvm }}:${ERE_TAG} \ | ||
| --compiler-kind rust-customized \ | ||
| --guest-path /guest/stateless-validator/${{ matrix.el }}/${{ matrix.zkvm }} \ | ||
| --output-path output/${{ matrix.el }}-${{ matrix.zkvm }} | ||
|
|
||
| - name: Upload artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.el }}-${{ matrix.zkvm }} | ||
| path: output/${{ matrix.el }}-${{ matrix.zkvm }} | ||
| if-no-files-found: error | ||
|
|
||
| create-release: | ||
| name: Create release | ||
| needs: compile-stateless-validator | ||
| runs-on: ubuntu-latest | ||
| if: github.ref_type == 'tag' | ||
| steps: | ||
| - name: Download all artifacts | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| path: artifacts | ||
| merge-multiple: true | ||
|
|
||
| - name: Display structure of downloaded files | ||
| run: ls -R artifacts | ||
|
|
||
| - name: Release | ||
| uses: softprops/action-gh-release@v2 | ||
| with: | ||
| name: Compiled Guests (${{ github.ref_name }}) | ||
| files: artifacts/* | ||
| body: | | ||
| This release contains compiled guest programs for various zkVMs. | ||
|
|
||
| Built with Ere compiler version: `${{ env.ERE_TAG }}`. | ||
|
|
||
| ## Compiled guest programs | ||
|
|
||
| ### Reth stateless validator | ||
|
|
||
| - [`reth-airbender`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/reth-airbender) | ||
| - [`reth-openvm`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/reth-openvm) | ||
| - [`reth-pico`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/reth-pico) | ||
| - [`reth-risc0`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/reth-risc0) | ||
| - [`reth-sp1`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/reth-sp1) | ||
| - [`reth-zisk`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/reth-zisk) | ||
|
|
||
| ### Ethrex stateless validator | ||
|
|
||
| - [`ethrex-risc0`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/ethrex-risc0) | ||
| - [`ethrex-sp1`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/ethrex-sp1) | ||
| - [`ethrex-zisk`](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/ethrex-zisk) | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium