В очень широком смысле:
cuda.h
определяет функции и типы общедоступного хоста для API драйвера CUDA. cuda_runtime_api.h
определяет функции и типы общедоступного хоста дляAPI времени выполнения CUDA cuda_runtime.h
определяет все, что делает cuda_runtime_api.h
, а также встроенные определения типов и наложения функций для расширений языка CUDA и встроенных функций устройства.
Если бы вы писали код хоста для компиляции с компилятором хоста, который включает вызовы API, вы бы включили либо cuda.h
, либо cuda_runtime_api.h
.Если вам нужны другие встроенные модули языка CUDA, такие как типы, и вы используете API времени выполнения и компиляцию с компилятором хоста, вы должны включить cuda_runtime.h
.Если вы пишете код, который будет скомпилирован с использованием nvcc, это все не имеет значения, поскольку nvcc позаботится о автоматическом включении всех необходимых заголовков без вмешательства программиста.