This repo is used for academic workshop, with the title "Benchmarking zkVMs: Efficiency, Bottlenecks, and Best Practices", at ZKProof7 in Sofia.
See bench result here
Firstly, install all toolchains:
- Jolt: https://jolt.a16zcrypto.com/usage/quickstart.html#installing
- Nexus: https://docs.nexus.xyz/zkvm/proving/sdk#1-install-the-nexus-zkvm
- RISC Zero: https://dev.risczero.com/api/zkvm/install
- SP1: https://docs.succinct.xyz/docs/sp1/getting-started/install
- ZKM: https://docs.zkm.io/introduction/installation.html
- OpenVM: https://book.openvm.dev/getting-started/install.html
- Pico: https://docs.brevis.network/getting-started/installation
Then, run:
make bench-allor
make bench-<sp1|sp1-gpu|jolt|jolt-gpu|nexus|openvm|pico|risczero|risczero-gpu|zkm>cd docker
docker compose build base
docker compose run <sp1|jolt|nexus|openvm|pico|risczero|zkm>
We are so welcome to your contribution!
| Fibonacci | SHA2 | ECDSA | ETHTransfer | Notes | |
|---|---|---|---|---|---|
| SP1 (CPU/GPU) | ✅ | ✅ | ✅ | ✅ | |
| RISC Zero (CPU/GPU) | ✅ | ✅ | ✅ | ✅ | |
| ZKM | ✅ | ✅ | ✅ | ✅ | |
| Novanet | ✅ | ❌ | ❌ | ❌ | |
| Ceno | No SDK yet | ||||
| OpenVM | ✅ | ✅ | ✅ | ✅ | |
| Jolt (CPU/GPU) | ✅ | ✅ | ✅ | ✅ | It's still in development. GPU Acceleration is still only partially implemented. |
| Nexus | ✅ | ✅ | ❌ | ❌ | std is not supported yet. |
| Pico | ✅ | ✅ | ✅ | ✅ | |
| zkWASM | |||||
| Valida | The repo is currently private, and the latest docker image is not available. | ||||
| Snarkify | |||||
| Zisk |
| Architecture | Linux x86_64 |
| vCPU | 8 |
| RAM | 128 GB |
| VRAM | 24GB |