Resolving PyTorch CUDA Compatibility Errors for RTX 40-Series GPUs (sm_89)
Error Details
UserWarning:
NVIDIA GeForce RTX 4060 Laptop GPU with CUDA capability sm_89 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
If you want to use the NVIDIA GeForce RTX 4060 Laptop GPU GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
Root Cause
The installed PyTorch distribution was compiled using an older CUDA toolkit that predates the Ada Lovelace architecture. Consequently, it lacks the necessary compute capability binaries for sm_89 (which corresponds to RTX 40-series cards).
Resolution Strategies
Strategy 1: Upgrade PyTorch (Recommended)
The most straightforward fix is to install a recent version of PyTorch compiled with CUDA 11.8 or CUDA 12.x, which natively include support for sm_89. Navgiate to the official PyTorch installation portal and select the appropriate configuration for your system to get the correct pip or conda command.
Strategy 2: Align CUDA and Driver Versions
- Verify Current Hardware Capabilities
Run the following script to audit your GPU specifications and CUDA configuration:
import torch as th
gpu_available = th.cuda.is_available()
compute_cap = th.cuda.get_device_capability(0) if gpu_available else None
vram_bytes = th.cuda.get_device_properties(0).total_memory if gpu_available else 0
vram_gb = vram_bytes / (1024**3)
has_tensor_cores = compute_cap[0] >= 7 if compute_cap else False
mem_util_pct = (th.cuda.memory_allocated(0) / vram_bytes * 100) if gpu_available else 0
print(f"CUDA Toolkit: {th.version.cuda}")
print(f"PyTorch Build: {th.__version__}")
print(f"Device Usable: {gpu_available}")
print(f"GPU Count: {th.cuda.device_count()}")
print(f"GPU Model: {th.cuda.get_device_name(0) if gpu_available else 'N/A'}")
print(f"Compute Capability: {compute_cap}")
print(f"Total VRAM: {vram_gb:.2f} GB")
print(f"BF16 Support: {th.cuda.is_bf16_supported()}")
print(f"Tensor Cores: {has_tensor_cores}")
print(f"VRAM Usage: {mem_util_pct:.2f}%")
- Review Version Matrices
Consult the official NVIDIA documentation to cross-reference CUDA compute capabilities with toolkit versions, and ensure your graphics driver supports the required CUDA version.
- Reinstall CUDA Tooolkit
Uninstall the existing CUDA toolkit and install a version that supports compute capability 8.9. Ensure your NVIDIA display driver is updated to the minimum required version for the new toolkit.
Strategy 3: Hardware Substitution
As a last resort, if upgrading the software stack is not feasible, utilizing a GPU with an older architecture (such as an RTX 30-series utilizing the Ampere architecture) that is already supported by the current PyTorch installation will bypass the compatibility block.