Nvidia CUDA¶
With the switch from Ubuntu to Debian on our managed Linux workstations, we also re-evaluated how to install and manage Nvidia GPU drivers and CUDA. We opt for keeping the system frequently updated on the latest upstream version and a central installation with a given set of older CUDA library versions, instead of varying setups from one host to the other.
This page is primarily intended for developers who would like to compile CUDA software from source or if you need to run software linked against old major CUDA versions.
Python CUDA¶
To use CUDA capable Python packages such as PyTorch
or TensorFlow
please refer to our separate guide for
Python on Managed Linux Workstations.
We provide a set of ready to use packages in a central installation compatible with our Nvidia and CUDA drivers.
The information on this page is not relevant in that case.
Nvidia drivers¶
All Debian workstations will have the same production branch or LTS version driver installed. We will update the driver periodically (every 3 months) or when required to support newer CUDA versions, which will be carried out simultaneously across the workstation fleet.
A driver update always requires a reboot, which will be announced in the Matrix room #linux:phys.ethz.ch some days in advance. Note that security updates may require an immediate reboot without time for announcements in advance.
Refer to the data center driver lifecycle for details.
Legacy GPUs¶
Support for older GPUs (about 10 years, requiring 470
or 390
legacy drivers) was dropped by Nvidia for Debian 12.
If your Nvidia GPU does not support the latest driver version, we will install the opensource nouveau
driver,
which may lead to degraded performance or stability. To avoid that a GPU upgrade is required.
Please refer to the list of supported GPUs on the Nvidia unix drivers
page and navigate to: Latest Production Branch Version: 5xx.xx.xx
> Supported Products.
We are also happy to help you if are unsure what to do, just contact us.
System CUDA version¶
All Debian workstations will have the same (latest possible) CUDA version from the
upstream Nvidia repo installed.
We will periodically update to a new major (X.
) or minor (X.Y
) version once it is stable for production use
and at least a compatible production branch driver is available.
Release/patch CUDA version (X.Y.Z
) will be updated automatically once per day.
The installation always includes a compatible cuDNN library version.
You can check the currently installed CUDA system version using ls -la /etc/alternatives/cuda
or nvidia-smi
.
Older CUDA versions¶
We manage a central installation with a selection of older CUDA library versions in our /opt/software/
NFS mount
available on all managed Linux workstations.
In order to use it, source the corresponding environment variables depending on your required CUDA version (X.Y.Z
):
source /opt/software/cuda/env/X[.Y[.Z]]
This will setup your environment variables to point to the specific CUDA version libraries and tools.
We also made sure to include the latest compatible cuDNN
version in the set of libraries.
To check the currently loaded CUDA version you can use:
nvcc --version
After that you may compile your CUDA software from source.
cuDNN¶
You may manually load other cuDNN
by including a specific /opt/software/cuda/cudnn*
version in your environment.
CUDA version compatibility¶
There is currently only a selection of a few CUDA library versions inside /opt/software/cuda/
,
which should be enough for most usecases due to CUDA backwards compatibility.
X.Y
CUDA version are binary backwards compatible but source compatibility might be broken.
We encourage you to keep your sources up to date with recent CUDA changes, but we are also ready to install other
CUDA versions on request. Please contact us in that case.
Please refer to the docs for detailed information: