Skip to content

Hardware Acceleration

vizion3d detects the best available device automatically at runtime — no code changes required. Choose the install extra that matches your hardware.

Backend Hardware Platforms What drives inference
CPU Any processor Linux, Windows, macOS PyTorch CPU kernels
CUDA NVIDIA GPU (Kepler+) Linux, Windows CUDA cores / Tensor Cores (Ampere+)
MPS Apple Silicon (M1 / M2 / M3 / M4) macOS 12.3+ Metal GPU via unified memory
ROCm AMD GPU (RDNA2+, CDNA, CDNA2, CDNA3) Linux only ROCm HIP runtime

CPU (default)

Works on every platform with no additional drivers. This is the recommended install for most users. Inference runs on PyTorch's CPU backend and automatically upgrades to NVIDIA CUDA or Apple Silicon MPS if detected at runtime — no separate install needed for those.

pip

pip install "vizion3d[cpu]"

uv

uv add "vizion3d[cpu]"

Mac M-series users: the standard CPU extra automatically includes Metal Performance Shaders (MPS) support — no separate install needed. vizion3d will use your GPU via MPS as long as you are on macOS 12.3 or later with PyTorch ≥ 2.0.


NVIDIA CUDA

Delivers the highest throughput for depth estimation. On NVIDIA Ampere GPUs and newer (RTX 30xx / A100 and above), PyTorch additionally uses Tensor Cores for mixed-precision acceleration.

Prerequisites

Requirement Minimum version Link
NVIDIA GPU driver 520.61.05 (Linux) / 528.33 (Windows) Driver downloads
CUDA Toolkit 11.8 CUDA Toolkit installer
cuDNN 8.x cuDNN install guide

Install CUDA and cuDNN before installing vizion3d. The PyTorch wheel bundled with the cuda extra already includes its own CUDA runtime libraries, but the driver must be present on the host.

pip

pip install "vizion3d[cuda]"

uv

uv add "vizion3d[cuda]"

vizion3d detects CUDA via torch.cuda.is_available() at runtime and moves models and tensors to the GPU automatically — no configuration needed.


AMD ROCm

Provides GPU-accelerated inference on supported AMD GPUs using the ROCm open-source compute stack. ROCm exposes itself through PyTorch's CUDA namespace (torch.cuda.is_available() returns True), so vizion3d uses it transparently with no code changes.

Platform: ROCm is supported on Linux only. There is no ROCm support for Windows or macOS.

Supported hardware

Family Examples
RDNA2 RX 6700 XT, RX 6800, RX 6900 XT
RDNA3 RX 7800 XT, RX 7900 XTX
CDNA Instinct MI100
CDNA2 Instinct MI200 series
CDNA3 Instinct MI300 series

For the full supported GPU list see the AMD ROCm hardware compatibility guide.

Prerequisites

Install the ROCm stack on your system before installing the PyTorch ROCm wheel. Follow AMD's official guide:

Install

Because the ROCm PyTorch wheel is hosted on PyTorch's own index (not PyPI), it must be installed before vizion3d — vizion3d's base install has no torch dependency and will not overwrite it.

Step 1 — install ROCm PyTorch

pip3 install --pre torch torchvision torchaudio \
  --index-url https://download.pytorch.org/whl/nightly/rocm7.2

For the full list of available ROCm wheel versions see PyTorch ROCm install guide.

Step 2 — install vizion3d (no extra needed)

pip install vizion3d

Because vizion3d declares no torch dependency in its base install, pip will not touch the ROCm wheel you installed in step 1.

Warning: do not run pip install "vizion3d[cpu]" or pip install "vizion3d[cuda]" after installing the ROCm wheel — those extras pull a standard PyPI torch build and will replace your ROCm installation.

Limitations

  • Linux only — ROCm does not run on Windows or macOS.
  • Only GPUs on AMD's official support list are guaranteed to work; consumer RDNA1 cards (RX 5000 series) are not supported.
  • Some PyTorch operations fall back to CPU on ROCm; performance for those ops will match CPU speed.