La extensión de archivo .cuh es un formato de archivo de cabecera especializado utilizado en el entorno de programación NVIDIA CUDA (Compute Unified Device Architecture). Es esencialmente el equivalente a una cabecera de C++ para código fuente compatible con CUDA. Mientras que las cabeceras estándar de C++ utilizan la extensión .h o .hpp, la extensión .cuh se emplea para indicar explícitamente al compilador de NVIDIA CUDA (NVCC) que el archivo contiene declaraciones específicas de CUDA, tales como kernels de dispositivo, variables globales y funciones de host-dispositivo que utilizan la API de CUDA. Estos archivos se incluyen en los archivos fuente .cu mediante la directiva de preprocesador #include. Al separar las declaraciones en archivos .cuh, los desarrolladores pueden mantener bases de código modulares, compartir prototipos de funciones entre múltiples unidades de traducción y asegurar que el compilador maneje correctamente las construcciones de computación paralela necesarias para la aceleración por GPU. Este formato es fundamental para la computación de alto rendimiento, los marcos de trabajo de aprendizaje profundo y las simulaciones científicas que dependen de delegar cálculos matemáticos intensivos de la CPU a la GPU.