Lección 3: Variables de entorno y LD_LIBRARY_PATH
Las variables de entorno son la forma en que Linux pasa configuraciones a los programas en ejecución. CUDA no encontrará libcuda.so sin un LD_LIBRARY_PATH correcto, y CUDA_VISIBLE_DEVICES determina qué GPUs ve cada programa — una herramienta crítica de asignación de GPU en NVIDIA. (El concepto de 'p
Las variables de entorno son como un tablón de anuncios afuera de cada habitación: el kernel pega ahí instrucciones como 'busca librerías en /usr/local/cuda/lib64' y 'usa solo las GPUs 0 y 1'. Cada proceso lee el tablón antes de empezar a correr.
- Variable de entorno
- Un par clave-valor que el kernel pasa a cada proceso. Un proceso puede leer, definir y pasar variables de entorno a sus procesos hijos.
- PATH
- Una variable de entorno que contiene una lista de directorios separados por dos puntos. Cuando escribes un comando, el shell busca el binario en cada directorio de la lista, en orden.
- LD_LIBRARY_PATH
- Una variable que define los directorios donde buscar librerías compartidas (.so) en tiempo de ejecución. El enlazador dinámico (ld.so) busca en estos directorios antes que en /usr/lib.
- CUDA_VISIBLE_DEVICES
- Una variable que define qué tarjetas GPU son visibles para un proceso CUDA. CUDA_VISIBLE_DEVICES=0,1 oculta las GPUs 2,3 del proceso — esencial para la asignación en entornos multi-GPU.
- export
- Un comando de bash que marca una variable como variable de entorno para que se pase a los procesos hijos. Sin export, la variable solo es visible para el proceso de shell actual.