Skip to content

fix(gpu_test): skip Vast.ai hosts whose driver predates CUDA 12.4 - #132

Merged
tetsuo-cpp merged 2 commits into
canonfrom
fix/gpu-test-cuda-driver-filter
Oct 24, 2026
Merged

tetsuo-cpp merged 2 commits into
canonfrom
fix/gpu-test-cuda-driver-filter

Conversation

@tetsuo-cpp

Copy link
Copy Markdown
Owner

GPU test runs fail at random when Vast.ai rents a host whose driver is older than the CUDA 12.4 container image. Every test then fails at cuInit with CUDA error 804. This PR stops renting those hosts.

Root cause

I confirmed this by renting offer 45600079, the host from failed run 40082840322, and running a trivial kernel on it:

NVIDIA GeForce RTX 3060, 535.154.05
	libcuda.so.1 => /usr/local/cuda-12.4/compat/libcuda.so.1
RUN FAILED: SSH command failed (rc=1):
CUDA error at /tmp/warpforth-runner.cpp:289: forward compatibility was attempted on non supported HW

The image's library search order puts its forward-compatibility libcuda (550.54.15) ahead of the host driver's. On a host with an older driver, CUDA tries forward-compatibility mode, which only datacenter GPUs support. A consumer GPU like this RTX 3060 fails with error 804. The offer search never checked which CUDA version the host driver supports.

Changes

  • CUDA_VERSION = "12.4" is now one constant. Both the image tag and a new cuda_max_good>=12.4 filter in the offer search come from it.
  • The launch log records the GPU model, driver version and cuda_max_good, so a future host problem can be diagnosed from CI logs.
  • A new unit test checks that the offer query and the image agree on the CUDA version. It is committed before the fix.

I didn't make the runner treat error 804 as an infrastructure failure, which the issue listed as optional. With the filter in place we no longer rent those hosts.

Verification

  • uv run pytest gpu_test/test_vast_session.py gpu_test/test_compiler.py passes 11 tests. The new test fails on the parent commit.
  • A live Vast.ai search with the new query, with no rental, returns 10 offers with cuda_max_good of 12.6 or higher. Offer 45600079 is not among them.
  • The gpu-test label on this PR runs the full GPU suite.

Fixes #131

Hosts with an older driver load the image's forward-compatibility libcuda,
which fails with CUDA error 804 on consumer GPUs. Filter offers on
cuda_max_good and log the rented GPU, driver and max CUDA version.

Fixes #131
@tetsuo-cpp tetsuo-cpp added the gpu-test Run GPU tests for this pull request label Oct 24, 2026
@github-actions github-actions Bot removed the gpu-test Run GPU tests for this pull request label Oct 24, 2026
@tetsuo-cpp
tetsuo-cpp merged commit 310d8fb into canon Oct 24, 2026
2 checks passed
@tetsuo-cpp
tetsuo-cpp deleted the fix/gpu-test-cuda-driver-filter branch October 24, 2026 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GPU tests fail with CUDA error 804 on Vast.ai hosts with older drivers

1 participant