Glosario técnico de arquitectura y software de GPU

Fuentes: Technical glossary for GPU architecture and software

Este documento sirve como referencia técnica para comprender los componentes y modelos de programación de las unidades de procesamiento gráfico (GPU). La estructura se organiza en cuatro categorías principales: hardware de dispositivo, software de dispositivo, software de host y rendimiento.

En la sección de hardware, se detallan los componentes físicos y lógicos, como el Streaming Multiprocessor (SM), los CUDA Cores, los Tensor Cores y las unidades de memoria. Se explican conceptos clave como la jerarquía de memoria (L1, RAM global) y las unidades de especialización (SFU, LSU). El apartado de software de dispositivo cubre el modelo de programación CUDA, incluyendo ensambladores (SASS, PTX), la ejecución de hilos (warp, thread block) y herramientas de compilación (nvcc). La sección de software de host describe las librerías de drivers (nvidia.ko, libcudart.so) y las APIs de gestión (NVML, CUDA Runtime API).

Finalmente, la sección de rendimiento analiza los cuellos de botella, utilizando modelos como el Roofline Model para distinguir entre cargas computacionales y de memoria. Se definen métricas de eficiencia como la ocupación, la divergencia de warps y la coalescencia de memoria, así como conceptos de latencia y ancho de banda. Este glosario es fundamental para desarrolladores que buscan optimizar el rendimiento en arquitecturas NVIDIA, proporcionando una base común para entender desde la arquitectura física hasta las herramientas de profiling y las librerías de alto rendimiento como cuBLAS o cuDNN.