feat(ere-sp1): add SP1 cluster proving support#1
Open
WiseMrMusa wants to merge 11 commits into
Open
Conversation
Add support for distributed proof generation using SP1 Cluster infrastructure. Changes: - Add ClusterProverConfig and Cluster variant to ProverResourceType - Implement SP1ClusterClient with gRPC API and Redis artifact storage - Support compressed artifacts with zstd and chunked downloads - Add exponential backoff polling for proof completion - Integrate cluster proving flow into EreSP1 Configuration: - SP1_CLUSTER_ENDPOINT: gRPC endpoint (default: http://172.17.0.1:50051/) - SP1_CLUSTER_REDIS_URL: Redis URL for artifacts
51df9cc to
3a969af
Compare
72903fe to
ce6dfc5
Compare
…mplementations Changes: - Updated panic messages to include Cluster resource type for EreOpenVM, EreRisc0, EreZiren, and EreZisk. - Adjusted match patterns to handle both Network and Cluster resource types consistently across implementations.
ce6dfc5 to
4bac87e
Compare
680cadb to
e2bbae8
Compare
- Source environment file after zkmup installation to ensure PATH is set - Add explicit error handling for zkmup list-available command - Add fallback logic to find toolchain directory - Add debug output when toolchain path resolution fails This fixes the CI failure where rustup toolchain link was called with missing PATH argument due to zkmup not being in PATH after installation.
The Dockerfile.base for ziren already sets nightly as the default toolchain via 'rustup default nightly', so using 'cargo +nightly' is unnecessary and can fail with 'no such command' error in some Docker environments where the +toolchain syntax isn't recognized.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds support for distributed proof generation using SP1 Cluster infrastructure, enabling multi-GPU proving through a gRPC API with Redis-based artifact storage.
Changes
zkvm-interfaceClusterProverConfigstruct with configurable endpoint and Redis URLClustervariant toProverResourceTypeenumto_args()for CLI argument generationere-sp1cluster.protofor gRPC service definitionsSP1ClusterClientwith:Proverenum withClustervariantEreSP1::prove()flowConfiguration
SP1_CLUSTER_ENDPOINThttp://172.17.0.1:50051/SP1_CLUSTER_REDIS_URLredis://:redispassword@172.17.0.1:6379/0Since the cluster will be run as an independent docker, the default IP is the default docker gateway IP. when this is not the case, the two environmental variables needs to be set and will be picked up when loaded.