Pull requests / #878

#878 # Support sm_60, sm_70, and sm_86 with CUDA 12.6 or 12.8

closed · @FearL0rd · 0 comentarios · En GitHub

Setup & installNVIDIA / CUDADocumentationLinux

Descripción

## Summary

CUDA 13 cannot compile Pascal (sm_60) or Volta (sm_70), so those cards never got a usable engine. This adds an experimental CUDA 12.6/12.8 build that covers sm_60, sm_70, and sm_86 (RTX 30), and wires setup, the Linux launcher, and the install docs to that path.

## What changed

- `setup.py` accepts `--cuda 12.6` and `--cuda 12.8`. A CUDA 12 build always emits `60;70;86` and sets `-DSTRATA_EXPERIMENTAL_SM60=ON`. CUDA 12.6 is enough for those three architectures; sm_100 and sm_120 still require 12.8.
- Local 12.6 and 12.8 builds install the matching cuBLAS and CUDA runtime wheels. The ready-made CUDA 12 zip still uses the 12.9 wheels.
- `setup.sh` looks for a 12.8 `nvcc`, then 12.6, on Pascal, Volta, and RTX 30, and passes `--build --cuda 12.6` or `--cuda 12.8`. `STRATA_NVCC` selects the toolkit when another CUDA is first on `PATH`.
- A new `.venv` gets its requirements before the already-installed start path.
- A config that still names the missing CUDA 13 binary `engine/strata` is pointed at `engine-cuda12/strata`. If that binary is gone, setup compiles it instead of stopping.
- `INSTALL.md` documents:

```bash
STRATA_NVCC=/usr/local/cuda-12.6/bin/nvcc ./setup.sh --build --cuda 12.6
STRATA_NVCC=/usr/local/cuda-12.8/bin/nvcc ./setup.sh --build --cuda 12.8
```

## Test plan

- [x] On a Tesla V100 (sm_70) with CUDA 12.6: `STRATA_NVCC=/usr/local/cuda-12.6/bin/nvcc ./setup.sh --build --cuda 12.6`
- [x] Confirm CMake gets `-DCMAKE_CUDA_ARCHITECTURES=60;70;86` and `-DSTRATA_EXPERIMENTAL_SM60=ON`
- [x] Confirm the binary is `engine-cuda12/strata` and `strata-<model>.json` points at it, not `engine/strata`
- [x] Repeat with CUDA 12.8
- [x] Start an already installed model and confirm `jinja2` imports from `.venv`
- [x] Confirm `--cuda 12.6` is refused when an sm_100 or sm_120 card is included

En el sitio

Enlaces a install, modelos, releases.