Hardware Requirements
We recommend that developers who want to use SP1 for non-trivial programs generate proofs on the Succinct Prover Network. The prover network distributes the generation of SP1 proofs across optimized hardware instances that result in faster + cheaper proof generation times.
We recommend that for any production benchmarking, you use the prover network to estimate latency and costs of proof generation.
Local Proving
The hardware requirements for local proof generation are listed below. These requirements depend on which types of proofs you want to generate and can also change over time as the design of SP1 evolves.
CPU is critical for performance/latency and enough memory is required to prevent out-of-memory errors.
Mock / Network | Core / Compress | Groth16 and PLONK (EVM) | |
---|---|---|---|
CPU | 1+, single-core perf matters | 16+, more is better | 16+, more is better |
Memory | 8GB+, more is better | 16GB+, more if you have more cores | 16GB+, more is better |
Disk | 10GB+ | 10GB+ | 10GB+ |
EVM Compatible | ✅ | ❌ | ✅ |
CPU
The execution & trace generation of the zkVM is mostly CPU bound, so high single-core performance is recommended for the best performance on these steps. The rest of the prover is mostly bound by hashing/field operations which can be parallelized with multiple cores.
Memory
The SP1 prover requires keeping large matrices (i.e., traces) in memory to generate proofs. Certain steps of the prover have a minimum memory requirement, so the process will OOM if you have less than this amount of memory.
This effect is most noticeable when using the Groth16 or PLONK provers. If you're running the Groth16 or PLONK provers locally using Docker, you might need to increase the memory limit for Docker desktop.
If to want to use proof aggregation with Groth16 or PLONK provers, it's recommanded to increase the memory limit for Docker desktop to at least 32GB.
Disk
Disk is required to install the SP1 zkVM toolchain and circuit artifacts, if you plan to locally generate Groth16 or PLONK proofs.
Furthermore, disk is used to checkpoint the state of the program execution, which is required to generate the proofs.