Deploy GPU Prover
-
Follow multi-machine-setup.md to prepare the GPU box.
-
Install Docker and add your user to the
dockergroup:sudo groupadd docker 2>/dev/null || true && sudo usermod -aG docker $USERIf Docker reports
could not select device driver "" with capabilities: [[gpu]], install the NVIDIA Container Toolkit and restart Docker:sudo systemctl restart docker -
Download the GPU Pico proving service image from
/home/ubuntu:curl -sL -O https://pico-proofs.s3.us-west-2.amazonaws.com/prover-network/mainnet/pico_proving_service_gpu_v1_0_1.tar -
Load the image into Docker:
# If old image exists, delete it firstly docker rmi -f pico-proving-service-gpu:latest # Load the new downloaded image docker load -i pico_proving_service_gpu_v1_0_1.tar docker tag pico-proving-service-gpu:v1.0.1 pico-proving-service-gpu:latest -
Clone the repository and enter the GPU Docker folder:
# must switch to tag `v1.0.1` if you have already cloned pico-proving-service git clone --branch v1.0.1 https://github.com/brevis-network/pico-proving-service cd pico-proving-service/docker/gpu -
Copy the environment template:
cp .env.example .env- Fix
PROVER_COUNTto the number of GPUs on your machine. - The
SPLIT_THRESHOLD,CHUNK_SIZE,MEM_POOL_RESERVE_SIZEandPICO_GPU_MEMare set to default for RTX 5090. For RTX 4090, comment the settings for 5090 and enable the settings for 4090.
Leave the others unless you are sure they need to change. If you encounter a GPU memory allocation issue, try enabling
MAX_EMULATION_CYCLES. Its value is machine specific. - Fix
-
Download dependencies and bring up the containers:
# delete the old gnark files for upgrade if exist rm -rf ../gnark_downloads make download-gnark make up -
Verify the containers:
docker psYou should see
pico-proving-serviceandpico_gnark_server. The Gnark server produces the final on-chain verifiable proof. -
Review the
Makefilefor other targets (down/restart/clean). For logs, run:make logs-server make logs-gnark