Pila de softwareRuta Operación

La pila de software CUDA

Leerlo en el Capítulo 2 · checkpoint +50 XP →

Driver del kernel → driver de usuario → runtime de CUDA → bibliotecas → frameworks. En cada unión puede haber incompatibilidades de versión.

De abajo hacia arriba:

  1. Módulo del kernel (nvidia.ko y compañía). Controla el hardware, la gestión de memoria (incluida Unified Memory / UVM), las interrupciones y el reporte de errores. NVIDIA publica una versión de código abierto, open-gpu-kernel-modules, la predeterminada para Turing y posteriores. Los mensajes Xid que lees en dmesg vienen de aquí.
  2. Driver de modo usuario (libcuda.so): la driver API de CUDA, incluida con el driver.
  3. Runtime y toolkit de CUDA (libcudart, nvcc): contra lo que compilan las aplicaciones.
  4. Bibliotecas: cuBLAS, cuDNN, NCCL, CUTLASS.
  5. Frameworks: PyTorch, JAX y herramientas de más alto nivel.

Regla de compatibilidad: un driver más nuevo ejecuta runtimes de CUDA más viejos, pero no al revés. nvidia-smi muestra la versión del driver y la versión máxima de CUDA que soporta. Los contenedores traen su propio runtime pero deben usar el driver del host, inyectado por el NVIDIA Container Toolkit. Ver contenedores y GPUs.

Relacionado

Fuentes y lecturas adicionales

Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.