Manejar múltiples versiones de CUDA - jamarma/tfm-muva GitHub Wiki

Información

En esta guía se explica como instalar varias versiones de CUDA en una misma máquina y manejar cada versión de CUDA en un entorno virtual de Python diferente. Se da por hecho que ya tenemos instalados los drivers de la tarjeta gráfica, estos servirán para todas las versiones de CUDA. La guía está basada en este artículo.

Instalación

Elegir la versión de CUDA deseada en https://developer.nvidia.com/cuda-toolkit-archive. Tiene que ser compatible con la versión del sistema operativo en el que se va a instalar. He intentado instalar versiones antiguas de CUDA (10.1) en Ubuntu 22.04 y no es posible compilarlas.

En esta guía realizaré la instalación de CUDA 12.1 en Ubuntu 22.04.

image

Descargamos el instalador.

IMPORTANTE: tiene que ser la versión runfile (local) para poder evitar que se instalen nuevos drivers en nuestra máquina.

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

Damos permisos de ejecución al instalador.

chmod +x cuda_12.1.0_530.30.02_linux.run

Instalamos CUDA. El argumento --toolkit bloquea la instalación de nuevos drivers que pueden causar conflictos y sólo instala el CUDA Toolkit.

sudo ./cuda_12.1.0_530.30.02_linux.run --silent --toolkit

Comprobamos que se ha instalado correctamente.

ls /usr/local/ | grep cuda

Debemos tener la siguiente salida. Tienen que salir todas las versiones de CUDA que hayamos instalado.

cuda
cuda-12.1

Usar en un entorno virtual

Para que nuestra máquina o entorno virtual use una versión específica de CUDA, tenemos que añadir las siguientes líneas al bashrc de la máquina o activate del entorno virtual.

export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH

Comprobamos que estamos usando la versión de CUDA deseada.

nvcc --version

Debemos obtener una salida como la siguiente.

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0