L'extension de fichier .cuh est un format de fichier d'en-tête spécialisé utilisé dans l'environnement de programmation NVIDIA CUDA (Compute Unified Device Architecture). Il s'agit essentiellement de l'équivalent des en-têtes C++ pour le code source compatible CUDA. Alors que les en-têtes C++ standard utilisent l'extension .h ou .hpp, l'extension .cuh est utilisée pour signaler explicitement au compilateur NVIDIA CUDA (NVCC) que le fichier contient des déclarations spécifiques à CUDA, telles que des noyaux (kernels) de périphérique, des variables globales et des fonctions hôte-périphérique utilisant l'API CUDA. Ces fichiers sont inclus dans les fichiers source .cu via la directive de préprocesseur #include. En séparant les déclarations dans des fichiers .cuh, les développeurs peuvent maintenir des bases de code modulaires, partager des prototypes de fonctions entre plusieurs unités de traduction et garantir que le compilateur gère correctement les constructions de calcul parallèle nécessaires à l'accélération GPU. Ce format est essentiel pour le calcul haute performance, les frameworks d'apprentissage profond et les simulations scientifiques qui reposent sur le déchargement de calculs mathématiques intensifs du CPU vers le GPU.