CUDA driver version is insufficient for CUDA runtime version
Your NVIDIA driver is older than what your framework's CUDA build requires. Update the driver — or install a framework build made for an older CUDA.
Updated
The error
RuntimeError: CUDA driver version is insufficient for CUDA runtime version
PyTorch sometimes reports it with numbers:
RuntimeError: The NVIDIA driver on your system is too old (found version 11040). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx
What it means
Two layers of software must agree. The driver is installed system-wide and operates the GPU. The CUDA runtime ships inside your framework build — torch compiled for CUDA 12.6 carries the 12.6 runtime with it. The rule: a driver supports its own CUDA version and everything older, but never newer. Your framework's runtime is newer than your driver allows.
The version in the PyTorch message is encoded: 11040 means the driver tops out at CUDA 11.4.
Why it happens
Frameworks move faster than drivers get updated. A fresh pip install torch today brings a recent CUDA runtime; a machine whose driver was installed two years ago cannot host it. Shared servers and older cloud images are common victims — the admin installed the driver once, and it aged.
How to fix it
1. Check what your driver supports.
nvidia-smiThe header's "CUDA Version" field is the maximum CUDA your driver can host — not what is installed. If it reads 11.4 and your torch is a cu126 build, the mismatch is confirmed.
2. Update the driver — the better fix. On Ubuntu:
sudo ubuntu-drivers install
sudo rebootOn Windows, install the latest driver from NVIDIA's site (or GeForce/RTX Experience). Newer drivers keep supporting old CUDA runtimes, so updating cannot break other environments on the machine.
3. No permission to update the driver? Install a framework built for the older CUDA. PyTorch publishes several CUDA variants per release:
pip uninstall -y torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118Pick the variant at or below the driver's supported version. This is the standard move on locked-down clusters — and check whether the cluster provides environment modules with matching builds first.
4. In containers, match the image to the host driver. A cuda:12.6 image on a host whose driver supports 11.8 produces exactly this error. Choose a base image at or below the host's ceiling.
How to prevent it
Before installing any GPU framework on a machine, run nvidia-smi and note the CUDA ceiling; choose builds accordingly. On machines you control, update the driver a couple of times a year — it is backward compatible, so the update is low-risk and keeps the ceiling above what frameworks ship.
Related errors
- NVIDIA-SMI couldn't communicate with the driver — when there is no working driver at all
- torch.cuda.is_available() returns False
- no kernel image is available for execution — the GPU-architecture cousin of this version rule
- Could not load dynamic library libcudart