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.tar -
Load the image into Docker:
docker load -i pico-proving-service-gpu.tar -
Clone the repository and enter the GPU docker folder:
git clone 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, you could enable
MAX_EMULATION_CYCLESto give a try, its value is machine specific. - Fix
-
Download dependencies and bring up the containers:
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