Skip to content

Commit 0f9cfe6

Browse files
committed
patch gpu crates
1 parent 2a8a927 commit 0f9cfe6

File tree

3 files changed

+89
-5
lines changed

3 files changed

+89
-5
lines changed

build/dockerfiles/coordinator-api.Dockerfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build libzkp dependency
2-
FROM scrolltech/go-rust-builder:go-1.22-rust-nightly-2023-12-03 as chef
2+
FROM scrolltech/cuda-go-rust-builder:cuda-11.7.1-go-1.21-rust-nightly-2023-12-03 as chef
33
WORKDIR app
44

55
FROM chef as planner
@@ -10,6 +10,8 @@ FROM chef as zkp-builder
1010
COPY ./common/libzkp/impl/rust-toolchain ./
1111
COPY --from=planner /app/recipe.json recipe.json
1212
# run ./build/dockerfiles/coordinator-api/init-openvm.sh to get openvm-gpu
13+
COPY ./build/dockerfiles/coordinator-api/plonky3-gpu /plonky3-gpu
14+
COPY ./build/dockerfiles/coordinator-api/openvm-stark-gpu /openvm-stark-gpu
1315
COPY ./build/dockerfiles/coordinator-api/openvm-gpu /openvm-gpu
1416
COPY ./build/dockerfiles/coordinator-api/gitconfig /root/.gitconfig
1517
COPY ./build/dockerfiles/coordinator-api/config.toml /root/.cargo/config.toml
@@ -20,7 +22,7 @@ RUN cargo build --release
2022

2123

2224
# Download Go dependencies
23-
FROM scrolltech/go-rust-builder:go-1.21-rust-nightly-2023-12-03 as base
25+
FROM scrolltech/cuda-go-rust-builder:cuda-11.7.1-go-1.21-rust-nightly-2023-12-03 as base
2426
WORKDIR /src
2527
COPY go.work* ./
2628
COPY ./rollup/go.* ./rollup/
@@ -40,7 +42,7 @@ COPY --from=zkp-builder /app/target/release/libzkp.so ./coordinator/internal/log
4042
RUN cd ./coordinator && CGO_LDFLAGS="-Wl,--no-as-needed -ldl" make coordinator_api_skip_libzkp && mv ./build/bin/coordinator_api /bin/coordinator_api && mv internal/logic/verifier/lib /bin/
4143

4244
# Pull coordinator into a second stage deploy ubuntu container
43-
FROM ubuntu:20.04
45+
FROM nvidia/cuda:11.7.1-runtime-ubuntu22.04
4446
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/src/coordinator/internal/logic/verifier/lib
4547
ENV CGO_LDFLAGS="-Wl,--no-as-needed -ldl"
4648
# ENV CHAIN_ID=534353

build/dockerfiles/coordinator-api/config.toml

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,74 @@ openvm-native-transpiler = { path = "/openvm-gpu/extensions/native/transpiler",
1919
openvm-pairing-guest = { path = "/openvm-gpu/extensions/pairing/guest", default-features = false }
2020
openvm-rv32im-guest = { path = "/openvm-gpu/extensions/rv32im/guest", default-features = false }
2121
openvm-rv32im-transpiler = { path = "/openvm-gpu/extensions/rv32im/transpiler", default-features = false }
22-
openvm-sdk = { path = "/openvm-gpu/crates/sdk", default-features = false, features = ["parallel", "bench-metrics"] }
22+
openvm-sdk = { path = "/openvm-gpu/crates/sdk", default-features = false, features = ["parallel", "bench-metrics", "evm-prove"] }
2323
openvm-sha256-guest = { path = "/openvm-gpu/extensions/sha256/guest", default-features = false }
2424
openvm-transpiler = { path = "/openvm-gpu/crates/toolchain/transpiler", default-features = false }
25+
26+
# stark-backend
27+
[patch."https://github.com/openvm-org/stark-backend.git"]
28+
openvm-stark-backend = { path = "/openvm-stark-gpu/crates/stark-backend", features = ["gpu"] }
29+
openvm-stark-sdk = { path = "/openvm-stark-gpu/crates/stark-sdk", features = ["gpu"] }
30+
31+
[patch."ssh://git@github.com/scroll-tech/openvm-stark-gpu.git"]
32+
openvm-stark-backend = { path = "/openvm-stark-gpu/crates/stark-backend", features = ["gpu"] }
33+
openvm-stark-sdk = { path = "/openvm-stark-gpu/crates/stark-sdk", features = ["gpu"] }
34+
35+
# plonky3
36+
[patch."https://github.com/Plonky3/Plonky3.git"]
37+
p3-air = { path = "/plonky3-gpu/air" }
38+
p3-field = { path = "/plonky3-gpu/field" }
39+
p3-commit = { path = "/plonky3-gpu/commit" }
40+
p3-matrix = { path = "/plonky3-gpu/matrix" }
41+
p3-baby-bear = { path = "/plonky3-gpu/baby-bear" }
42+
p3-koala-bear = { path = "/plonky3-gpu/koala-bear" }
43+
p3-util = { path = "/plonky3-gpu/util" }
44+
p3-challenger = { path = "/plonky3-gpu/challenger" }
45+
p3-dft = { path = "/plonky3-gpu/dft" }
46+
p3-fri = { path = "/plonky3-gpu/fri" }
47+
p3-goldilocks = { path = "/plonky3-gpu/goldilocks" }
48+
p3-keccak = { path = "/plonky3-gpu/keccak" }
49+
p3-keccak-air = { path = "/plonky3-gpu/keccak-air" }
50+
p3-blake3 = { path = "/plonky3-gpu/blake3" }
51+
p3-mds = { path = "/plonky3-gpu/mds" }
52+
p3-monty-31 = { path = "/plonky3-gpu/monty-31" }
53+
p3-merkle-tree = { path = "/plonky3-gpu/merkle-tree" }
54+
p3-poseidon = { path = "/plonky3-gpu/poseidon" }
55+
p3-poseidon2 = { path = "/plonky3-gpu/poseidon2" }
56+
p3-poseidon2-air = { path = "/plonky3-gpu/poseidon2-air" }
57+
p3-symmetric = { path = "/plonky3-gpu/symmetric" }
58+
p3-uni-stark = { path = "/plonky3-gpu/uni-stark" }
59+
p3-maybe-rayon = { path = "/plonky3-gpu/maybe-rayon" }
60+
p3-bn254-fr = { path = "/plonky3-gpu/bn254-fr" }
61+
62+
# gpu crates
63+
[patch."ssh://git@github.com/scroll-tech/plonky3-gpu.git"]
64+
p3-gpu-base = { path = "/plonky3-gpu/gpu-base" }
65+
p3-gpu-build = { path = "/plonky3-gpu/gpu-build" }
66+
p3-gpu-field = { path = "/plonky3-gpu/gpu-field" }
67+
p3-gpu-backend = { path = "/plonky3-gpu/gpu-backend" }
68+
p3-gpu-module = { path = "/plonky3-gpu/gpu-module" }
69+
p3-air = { path = "/plonky3-gpu/air" }
70+
p3-field = { path = "/plonky3-gpu/field" }
71+
p3-commit = { path = "/plonky3-gpu/commit" }
72+
p3-matrix = { path = "/plonky3-gpu/matrix" }
73+
p3-baby-bear = { path = "/plonky3-gpu/baby-bear" }
74+
p3-koala-bear = { path = "/plonky3-gpu/koala-bear" }
75+
p3-util = { path = "/plonky3-gpu/util" }
76+
p3-challenger = { path = "/plonky3-gpu/challenger" }
77+
p3-dft = { path = "/plonky3-gpu/dft" }
78+
p3-fri = { path = "/plonky3-gpu/fri" }
79+
p3-goldilocks = { path = "/plonky3-gpu/goldilocks" }
80+
p3-keccak = { path = "/plonky3-gpu/keccak" }
81+
p3-keccak-air = { path = "/plonky3-gpu/keccak-air" }
82+
p3-blake3 = { path = "/plonky3-gpu/blake3" }
83+
p3-mds = { path = "/plonky3-gpu/mds" }
84+
p3-monty-31 = { path = "/plonky3-gpu/monty-31" }
85+
p3-merkle-tree = { path = "/plonky3-gpu/merkle-tree" }
86+
p3-poseidon = { path = "/plonky3-gpu/poseidon" }
87+
p3-poseidon2 = { path = "/plonky3-gpu/poseidon2" }
88+
p3-poseidon2-air = { path = "/plonky3-gpu/poseidon2-air" }
89+
p3-symmetric = { path = "/plonky3-gpu/symmetric" }
90+
p3-uni-stark = { path = "/plonky3-gpu/uni-stark" }
91+
p3-maybe-rayon = { path = "/plonky3-gpu/maybe-rayon" }
92+
p3-bn254-fr = { path = "/plonky3-gpu/bn254-fr" }

build/dockerfiles/coordinator-api/init-openvm.sh

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
11
#!/bin/bash
22
set -uex
33

4-
OPENVM_GPU_COMMIT=ce88ec8
4+
PLONKY3_GPU_COMMIT=261b322 # v0.2.0
5+
OPENVM_STARK_GPU_COMMIT=d91dbbc # PR#47
6+
OPENVM_GPU_COMMIT=ce88ec8 # branch: patch-v1.2.0
57

68
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null 2>&1 && pwd)
79

10+
# checkout plonky3-gpu
11+
if [ ! -d $DIR/plonky3-gpu ]; then
12+
git clone [email protected]:scroll-tech/plonky3-gpu.git $DIR/plonky3-gpu
13+
fi
14+
cd $DIR/plonky3-gpu && git fetch && git checkout ${PLONKY3_GPU_COMMIT}
15+
16+
# checkout openvm-stark-gpu
17+
if [ ! -d $DIR/openvm-stark-gpu ]; then
18+
git clone [email protected]:scroll-tech/openvm-stark-gpu.git $DIR/openvm-stark-gpu
19+
fi
20+
cd $DIR/openvm-stark-gpu && git fetch && git checkout ${OPENVM_STARK_GPU_COMMIT}
21+
822
# checkout openvm-gpu
923
if [ ! -d $DIR/openvm-gpu ]; then
1024
git clone [email protected]:scroll-tech/openvm-gpu.git $DIR/openvm-gpu

0 commit comments

Comments
 (0)