11name : GPU Tests (merge queue)
22
3- # Run the CUDA-only test groups (which CPU CI can't, since GitHub runners have no GPU) on a
4- # rented Vast.ai RTX 5090 when a PR is in the merge queue, and block the merge if they fail .
3+ # Run the GPU test suite (which CPU CI can't, since GitHub runners have no GPU) on a rented
4+ # Vast.ai RTX 5090 when a PR is in the merge queue, and block the merge if it fails .
55# Groups (see scripts/gpu_test.sh): math-cuda kernel parity, cuda_path_integration (GPU proof
6- # verifies), cuda_fallback (CPU fallback verifies). Orchestration runs on a GitHub-hosted
7- # runner; all GPU work happens on the rented box (provisioned by the template onstart). The
8- # box is ALWAYS destroyed at the end.
6+ # verifies), cuda_fallback (CPU fallback verifies), the prover/stark/crypto/ecsm suite on the
7+ # GPU path, and the comprehensive all-instructions prove. Orchestration runs on a GitHub-hosted
8+ # runner; all GPU work happens on the rented box (provisioned by the template onstart). The box
9+ # is ALWAYS destroyed at the end.
910#
1011# Triggered on `merge_group` (one rental per merge, not per push) + `workflow_dispatch` for
1112# manual runs. To gate merges, add the job name `gpu-tests` to the branch-protection required
@@ -31,8 +32,8 @@ concurrency:
3132 cancel-in-progress : true
3233
3334env :
34- # Vast offer search: RTX 5090, >=16 cores, >=32GB RAM (workloads are small), >=64GB disk ,
35- # verified + rentable, Blackwell-capable driver, <= cap.
35+ # Vast offer search: RTX 5090, >=16 cores, >=64GB RAM (the prover suite proves real ELFs ,
36+ # so allow headroom), >=64GB disk, verified + rentable, Blackwell-capable driver, <= cap.
3637 GPU_NAME : RTX_5090
3738 PRICE_CAP : " 1"
3839 VAST_IMAGE_DISK : " 64"
4950jobs :
5051 gpu-tests :
5152 runs-on : ubuntu-latest
52- # Provisioning + dual-feature cuda build (~25 min) + the three test groups (~15 min) +
53- # image-pull slack . Generous ceiling; teardown still always destroys the box.
54- timeout-minutes : 120
53+ # Provisioning + cuda builds + 5 test groups; the prover suite (single-threaded, real
54+ # ELF proves) dominates . Generous ceiling; teardown still always destroys the box.
55+ timeout-minutes : 240
5556 steps :
5657 - name : Install Vast CLI
5758 # No secrets in this step's env: install-time code can't read the API key during pip
8990 # 13.1 because the template's nvcc is 13.1 and build.rs JIT-compiles its PTX at load —
9091 # a 13.0 driver rejects 13.1 PTX (CUDA_ERROR_UNSUPPORTED_PTX_VERSION). Bump this in
9192 # lockstep if the base image's CUDA toolkit changes.
92- QUERY="gpu_name=${GPU_NAME} num_gpus=1 cpu_cores_effective>=16 cpu_ram>=32 disk_space>=64 verified=true rentable=true cuda_max_good>=13.1 dph_total<=${PRICE_CAP}"
93+ QUERY="gpu_name=${GPU_NAME} num_gpus=1 cpu_cores_effective>=16 cpu_ram>=64 disk_space>=64 verified=true rentable=true cuda_max_good>=13.1 dph_total<=${PRICE_CAP}"
9394 echo "Query: $QUERY (+ client-side driver_version major >= $MIN_DRIVER)"
9495 # Keep only offers whose driver major >= MIN_DRIVER, then most expensive first (within
9596 # the cap) — premium hosts have faster disks/network and better reliability; cheapest
0 commit comments