Pin Tower-compatible CUDA runtime
This commit is contained in:
@@ -388,7 +388,7 @@ def test_backend_docker_context_contains_gis_import_smoke_script() -> None:
|
||||
assert (ROOT / "backend" / "scripts" / "gis_import_smoke.py").exists()
|
||||
|
||||
|
||||
def test_all_in_one_dockerfile_caches_dependencies_and_uses_cpu_torch_for_ai_runtime() -> None:
|
||||
def test_all_in_one_dockerfile_caches_dependencies_and_pins_driver_compatible_cuda_torch() -> None:
|
||||
dockerfile = (ROOT / "deploy" / "unraid" / "Dockerfile.all-in-one").read_text(encoding="utf-8")
|
||||
|
||||
metadata_copy_index = dockerfile.index("COPY backend/pyproject.toml /app/")
|
||||
@@ -398,9 +398,9 @@ def test_all_in_one_dockerfile_caches_dependencies_and_uses_cpu_torch_for_ai_run
|
||||
smoke_index = dockerfile.index("RUN python scripts/gis_import_smoke.py")
|
||||
|
||||
assert metadata_copy_index < placeholder_readme_index < dependency_install_index < backend_copy_index < smoke_index
|
||||
assert "GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu130" in dockerfile
|
||||
assert "GEOINTEL_TORCH_VERSION=2.13.0" in dockerfile
|
||||
assert "GEOINTEL_TORCHVISION_VERSION=0.28.0" in dockerfile
|
||||
assert "GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu128" in dockerfile
|
||||
assert "GEOINTEL_TORCH_VERSION=2.11.0" in dockerfile
|
||||
assert "GEOINTEL_TORCHVISION_VERSION=0.26.0" in dockerfile
|
||||
assert '--index-url "$GEOINTEL_TORCH_INDEX_URL"' in dockerfile
|
||||
|
||||
|
||||
@@ -432,4 +432,4 @@ def test_unraid_ai_runtime_requests_nvidia_and_fails_closed() -> None:
|
||||
assert 'YOLO_DEVICE="${YOLO_DEVICE:-cuda:0}"' in run_script
|
||||
assert 'YOLO_REQUIRE_CUDA="${YOLO_REQUIRE_CUDA:-true}"' in run_script
|
||||
assert '-e YOLO_REQUIRE_CUDA="$YOLO_REQUIRE_CUDA"' in run_script
|
||||
assert "https://download.pytorch.org/whl/cu130" in dockerfile
|
||||
assert "https://download.pytorch.org/whl/cu128" in dockerfile
|
||||
|
||||
@@ -9,9 +9,9 @@ RUN npm run build
|
||||
FROM postgres:16-bookworm AS runtime
|
||||
|
||||
ARG GEOINTEL_INSTALL_AI=false
|
||||
ARG GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu130
|
||||
ARG GEOINTEL_TORCH_VERSION=2.13.0
|
||||
ARG GEOINTEL_TORCHVISION_VERSION=0.28.0
|
||||
ARG GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu128
|
||||
ARG GEOINTEL_TORCH_VERSION=2.11.0
|
||||
ARG GEOINTEL_TORCHVISION_VERSION=0.26.0
|
||||
ARG GEOINTEL_ULTRALYTICS_VERSION=8.4.99
|
||||
ARG GEOINTEL_SETUPTOOLS_VERSION=83.0.0
|
||||
ARG GEOINTEL_WHEEL_VERSION=0.47.0
|
||||
|
||||
@@ -12230,3 +12230,4 @@ Open:
|
||||
### Verificatie
|
||||
- TypeScript- en Vite-productiebuild geslaagd.
|
||||
- Gerichte frontend-, backend-, browser- en productieverificatie volgen hieronder na de releasegate.
|
||||
- De eerste productieacceptatie vond een echte CUDA-compatibiliteitsregressie: `torch 2.13.0+cu130` zag de RTX 4080 SUPER maar weigerde initialisatie op de Tower-driver met CUDA 12.9-capaciteit. De AI-image is daarom teruggebracht naar de expliciet gepinde, drivercompatibele combinatie `torch 2.11.0` / `torchvision 0.26.0` via de officiële CUDA 12.8-index; promotie vereist opnieuw live `torch.cuda.is_available()` en modelpreflight.
|
||||
|
||||
@@ -46,12 +46,14 @@ not be installed by the default Docker backend image unless an explicit AI image
|
||||
or profile is introduced later.
|
||||
|
||||
The opt-in Unraid all-in-one AI build is NVIDIA-GPU-oriented. It installs the
|
||||
pinned PyTorch/torchvision pair from the CUDA 13.0 wheel index before installing
|
||||
pinned PyTorch/torchvision pair from the CUDA 12.8 wheel index before installing
|
||||
the `ai` extra. The production runtime exposes the NVIDIA device, selects
|
||||
`YOLO_DEVICE=cuda:0` and sets `YOLO_REQUIRE_CUDA=true`, so missing CUDA fails
|
||||
closed instead of silently falling back to CPU. The index and versions remain
|
||||
explicit Docker build arguments and require live driver/runtime validation on
|
||||
Tower before release promotion.
|
||||
Tower before release promotion. CUDA 12.8 is deliberately below the Tower
|
||||
driver's reported CUDA 12.9 capability; a newer wheel index may not be promoted
|
||||
merely because it exists when `torch.cuda.is_available()` fails on that driver.
|
||||
|
||||
Docker dependency metadata is copied before application source. Backend source
|
||||
changes therefore reuse the dependency layer while changes to `pyproject.toml`
|
||||
|
||||
@@ -237,7 +237,7 @@ export function LandingPage({
|
||||
<div>
|
||||
<p>Veilige toegang</p>
|
||||
<h2 id="access-title">Open de GeoIntel-workbench</h2>
|
||||
<span>Meld u aan als operator of start een beperkte demosessie.</span>
|
||||
<span>Meld u aan als operator of start een projectgebonden demosessie met volledige analysetoegang.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -301,7 +301,7 @@ export function LandingPage({
|
||||
<span className="landing-guest-icon" aria-hidden="true"><UserRound /></span>
|
||||
<div>
|
||||
<strong>Gastmodus</strong>
|
||||
<p>Open een tijdelijke, alleen-lezen demowerkruimte met voorbeelddata en een vooraf uitgevoerde kwaliteitscontrole.</p>
|
||||
<p>Gebruik dezelfde modellen, analyses en downloads als een gebruiker. Alleen beheer, instellingen en uploads blijven afgeschermd.</p>
|
||||
</div>
|
||||
<button type="button" onClick={submitGuestLogin} disabled={busy}>
|
||||
{pendingAction === 'guest' ? 'Demo voorbereiden…' : 'Als gast verkennen'}
|
||||
|
||||
Reference in New Issue
Block a user