Librería catmu falla con la nueva versión de CUDA/Nvidia drivers de Google Colab
Tal como se describe aquí, Google Colab actualizó la versión del driver de Nvidia a 550.54.15 y la versión de CUDA a 12.5. Sin embargo, ese driver no soporta esa versión de CUDA, tal como se indica en la documentación del driver.
Temporalmente se dispone una solución alternativa que consiste en configurar Google Colab para utilizar una versión de resguardo del entorno de ejecución (Fallback runtime version) que utiliza las versiones de las librerías previas a esta actualización. De acuerdo a lo que se indica en el primer link, esta opción estará disponible hasta mediados de febrero.
Para habilitar el entorno de resguardo utilizaremos la paleta de comandos que se abre con el atajo Ctrl + Shift + P y ejecutaremos los siguientes comandos:
- Conectar a un entorno de ejecución (Connect to a runtime).
- Por defecto debería conectarse a un entorno con GPU. En caso contrario, ejecutaremos el comando Cambiar entorno de ejecución (Change runtime type).
- Usar versión de resguardo del entorno de ejecución (Use fallback runtime version).
El notebook test_cuda_bug.ipynb fue creado para reproducir el error. A continuación se explica el contenido de ese notebook.
Desde un notebook de Colab se puede revisar la versión del driver y de CUDA que está instalada en el entorno al que estamos conectados ejecutando una celda con el siguiente contenido:
!nvidia-smi
!nvcc --version
nvidia-smi muestra el driver actual instralado y la máxima versión de CUDA soportada. nvcc --version muestra la versión de CUDA que en realidad está instalada.
Antes de la actualización, estos comandos devolvían:
Fri Feb 7 22:32:13 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |
| N/A 52C P0 28W / 70W | 120MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0
Después de la actualización, devuelve:
Fri Feb 7 23:24:31 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |
| N/A 54C P8 10W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Jun__6_02:18:23_PDT_2024
Cuda compilation tools, release 12.5, V12.5.82
Build cuda_12.5.r12.5/compiler.34385749_0
Al pedir una convolución, la función de la librería compartida que computa la convolución devuelve
ERROR : exprConvolution2D(177) : CODE 222 -> the provided PTX was compiled with an unsupported toolchain.
indicando un mismatch entre el driver instalado y la versión de CUDA.