What is the file with the extension *.cuh?

I know what a *.cu file is, a *.c, and an *.h file, but what is the file with an extension of *.cuh? It seems to be combination of maybe a header file and a cuda file. I just did not find anything about it in any of the CUDA literature.



In the .cu file, you put your CUDA code, and usually also definitions of one or more C functions that are interface for the rest of your code (one of these is usually the function containing the kernel execute statement). So you may put declarations of these functions into corresponding header file; this file could also contain declaration of some datatypes and structures that are common for your both host and kernel code. By convention, you could choose .cuh extension for such header file; you could find number of examples of alike files within code samples in SDK. But it is all matters of convention - these files are processed as any other header files, and I think that none of tools involved care about the extension of these particular files.