forked from zkMIPS/zkvm-benchmarks
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
126 lines (106 loc) · 6.1 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
bench-all:
make bench-jolt
make bench-jolt-gpu
make bench-sp1-turbo
make bench-sp1-turbo-gpu
make bench-risczero
make bench-risczero-gpu
make bench-zkm
make bench-openvm
make bench-novanet
bench-jolt:
cd jolt && \
RUSTFLAGS="-C target-cpu=native" cargo run --release --bin fibonacci && \
RUSTFLAGS="-C target-cpu=native" cargo run --release --bin sha2 && \
RUSTFLAGS="-C target-cpu=native" cargo run --release --bin ecdsa && \
RUSTFLAGS="-C target-cpu=native" cargo run --release --bin transfer-eth
bench-jolt-gpu:
cd jolt && \
ICICLE_BACKEND_INSTALL_DIR=$$(pwd)/target/release/deps/icicle/lib/backend RUSTFLAGS="-C target-cpu=native" cargo run --release --bin fibonacci -F icicle && \
ICICLE_BACKEND_INSTALL_DIR=$$(pwd)/target/release/deps/icicle/lib/backend RUSTFLAGS="-C target-cpu=native" cargo run --release --bin sha2 -F icicle && \
ICICLE_BACKEND_INSTALL_DIR=$$(pwd)/target/release/deps/icicle/lib/backend RUSTFLAGS="-C target-cpu=native" cargo run --release --bin ecdsa -F icicle && \
ICICLE_BACKEND_INSTALL_DIR=$$(pwd)/target/release/deps/icicle/lib/backend RUSTFLAGS="-C target-cpu=native" cargo run --release --bin transfer-eth -F icicle
bench-sp1:
make build-sp1
cd sp1 && RUSTFLAGS="-C target-cpu=native" cargo run --release
bench-sp1-turbo:
cd sp1-turbo && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -p sha2-script && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -p fibonacci-script && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -p ecdsa-script && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -p transfer-eth-script
bench-sp1-turbo-gpu:
cd sp1-turbo && \
RUST_BACKTRACE=1 SP1_PROVER=cuda RUSTFLAGS="-C target-cpu=native" cargo run --release -p fibonacci-script && \
RUST_BACKTRACE=1 SP1_PROVER=cuda RUSTFLAGS="-C target-cpu=native" cargo run --release -p sha2-script && \
RUST_BACKTRACE=1 SP1_PROVER=cuda RUSTFLAGS="-C target-cpu=native" cargo run --release -p ecdsa-script && \
RUST_BACKTRACE=1 SP1_PROVER=cuda RUSTFLAGS="-C target-cpu=native" cargo run --release -p transfer-eth-script
bench-zkm:
# rust toolchain path: ~/.zkm-toolchain/rust-toolchain-x86-64-unknown-linux-gnu-20241217/bin
. ~/.zkm-toolchain/env && \
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH && \
cd zkm && \
RUSTFLAGS="-C target-cpu=native" cargo run --bin fibo --release && \
RUSTFLAGS="-C target-cpu=native" cargo run --bin sha2 --release && \
RUSTFLAGS="-C target-cpu=native" cargo run --bin ecdsa --release && \
RUSTFLAGS="-C target-cpu=native" cargo run --bin transfer-eth --release
bench-zkm2:
cd zkm2 && \
RUSTFLAGS="-C target-cpu=native" cargo run --bin fibonacci --release && \
RUSTFLAGS="-C target-cpu=native" cargo run --bin sha2 --release
build-sp1:
cd sp1/fibonacci && cargo prove build
cd sp1/sha2-chain && cargo prove build
cd sp1/sha3-chain && cargo prove build
cd sp1/sha2 && cargo prove build
cd sp1/sha3 && cargo prove build
cd sp1/bigmem && cargo prove build
bench-risczero:
cd risczero && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -- --out ../benchmark_outputs/fib_risczero.csv fibonacci && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -- --out ../benchmark_outputs/sha2_risczero.csv big-sha2 && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -- --out ../benchmark_outputs/ecdsa_risczero.csv ecdsa-verify && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -- --out ../benchmark_outputs/ethtransfer_risczero.csv transfer-eth
bench-risczero-gpu:
cd risczero && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -F cuda -- --out ../benchmark_outputs/fib_risczero-gpu.csv fibonacci && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -F cuda -- --out ../benchmark_outputs/sha2_risczero-gpu.csv big-sha2 && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -F cuda -- --out ../benchmark_outputs/ecdsa_risczero-gpu.csv ecdsa-verify && \
RUSTFLAGS="-C target-cpu=native" cargo run --release -F cuda -- --out ../benchmark_outputs/ethtransfer_risczero-gpu.csv transfer-eth
bench-powdr:
cd powdr && RUSTFLAGS='-C target-cpu=native' cargo run --release
bench-openvm:
cd openvm && \
RUST_BACKTRACE=1 RUSTFLAGS="-C target-cpu=native" cargo run --release --bin fibonacci && \
RUST_BACKTRACE=1 RUSTFLAGS="-C target-cpu=native" cargo run --release --bin sha2 && \
RUST_BACKTRACE=1 RUSTFLAGS="-C target-cpu=native" cargo run --release --bin ecdsa -F std && \
RUST_BACKTRACE=1 RUSTFLAGS="-C target-cpu=native" cargo run --release --bin transfer-eth -F std
bench-nexus:
cd nexus && RUSTFLAGS="-C target-cpu=native" cargo run --release
bench-novanet:
cd novanet && \
RUSTFLAGS="-C target-cpu=native" RUST_LOG=debug cargo run --release -p runner -- --guest "fib" --benchmark-args 10 50 90 --wat fib/fib.wat && \
RUSTFLAGS="-C target-cpu=native" RUST_LOG=debug cargo run --release -p runner -- --guest "fib" --benchmark-args 10 50 90 --compress --wat fib/fib.wat
RUSTFLAGS="-C target-cpu=native" RUST_LOG=debug cargo run --release -p runner -- --guest "ethblock" --benchmark-args 1 10 100 && \
perf-all:
make perf-sp1turbo
perf-sp1turbo:
cd sp1-turbo && \
CARGO_PROFILE_RELEASE_DEBUG=true RUSTFLAGS="-C target-cpu=native" \
cargo flamegraph --release -p fibonacci-script -F 100 -o ../benchmark_outputs/flamegraph_sp1turbo.svg --no-inline -- --once
perf-risczero:
cd risczero && \
CARGO_PROFILE_RELEASE_DEBUG=true RUSTFLAGS="-C target-cpu=native" \
cargo flamegraph --release -F 100 -o ../benchmark_outputs/flamegraph_risczero.svg --no-inline -- profiling
perf-jolt:
cd jolt && \
CARGO_PROFILE_RELEASE_DEBUG=true RUSTFLAGS="-C target-cpu=native" \
cargo flamegraph --release -p jolt-benchmarks -F 100 -o ../benchmark_outputs/flamegraph_jolt.svg --no-inline --bin profiling
perf-nexus:
cd nexus && \
CARGO_PROFILE_RELEASE_DEBUG=true RUSTFLAGS="-C target-cpu=native" \
RUSTFLAGS="-C target-cpu=native" cargo flamegraph --release -p nexus -F 100 -o ../benchmark_outputs/flamegraph_nexus.svg --no-inline -- --once
perf-zkm:
cd zkm && \
CARGO_PROFILE_RELEASE_DEBUG=true RUSTFLAGS="-C target-cpu=native" \
RUSTFLAGS="-C target-cpu=native" cargo flamegraph --release -p zkm-script -F 100 -o ../benchmark_outputs/flamegraph_zkm.svg --no-inline -- --once