- The ZeroCheck protocol implementation can be found under
/src, which includes both univariate zerocheck and multilinear zerocheck. - Several tests are provided and can be run in
/src. For concrete software benchmarks, see/bin.- Example benchmark script:
/bin/run_bins.sh
- Example benchmark script:
For multilinear:
RAYON_NUM_THREADS=64 cargo run --release --bin mullin_opt_bench_multhr -- --repeat=2 --min-size=10 --max-size=10 --prepare-threads=64 --run-threads=12 --poly-commit-scheme=ligero --batch-opening-threads=48
For univariate:
RAYON_NUM_THREADS=64 cargo run --release --bin univar_opt_bench_multhr -- --repeat=2 --min-size=10 --max-size=10 --prepare-threads=64 --run-threads=12 --poly-commit-scheme=ligero --batch-opening-threads=60
The hardware architecture simulator is located in /hardware_experiments.
There are two main parts:
- SumCheck simulation: Uses
helper_funcs.py, which provides simulation and sweeping for SumCheck. - NTT simulation:
- On-chip NTT (mini-NTT) simulation: see
test_ntt_func_sim.py(run_miniNTT_fit_onchipfunction). - Large NTT (four-step NTT) simulation: see
test_ntt_func_sim.py(run_fourstep_fit_on_chipfunction).
- On-chip NTT (mini-NTT) simulation: see