L'estensione di file .cuh è un formato di file di intestazione specializzato utilizzato nell'ambiente di programmazione NVIDIA CUDA (Compute Unified Device Architecture). È essenzialmente l'equivalente di un'intestazione C++ per il codice sorgente abilitato per CUDA. Mentre le intestazioni C++ standard utilizzano l'estensione .h o .hpp, l'estensione .cuh viene utilizzata per segnalare esplicitamente al compilatore NVIDIA CUDA (NVCC) che il file contiene dichiarazioni specifiche per CUDA, come kernel di dispositivo, variabili globali e funzioni host-device che utilizzano l'API CUDA. Questi file vengono inclusi nei file sorgente .cu utilizzando la direttiva del preprocessore #include. Separando le dichiarazioni in file .cuh, gli sviluppatori possono mantenere basi di codice modulari, condividere prototipi di funzioni tra più unità di traduzione e garantire che il compilatore gestisca correttamente i costrutti di calcolo parallelo necessari per l'accelerazione GPU. Questo formato è fondamentale per il calcolo ad alte prestazioni, i framework di deep learning e le simulazioni scientifiche che si basano sullo scaricamento di calcoli matematici intensivi dalla CPU alla GPU.