Modules | |
Thread Management | |
Error Handling | |
Device Management | |
Stream Management | |
Event Management | |
Execution Control | |
Memory Management | |
OpenGL Interoperability | |
Direct3D 9 Interoperability | |
Direct3D 10 Interoperability | |
Texture Reference Management | |
Version Management | |
C++ API Routines | |
C++-style interface built on top of CUDA runtime API. | |
Data types used by CUDA Runtime |
The C API (cuda_runtime_api.h) is a C-style interface that does not require compiling with nvcc
.
The C++ API (cuda_runtime.h) is a C++-style interface built on top of the C API. It wraps some of the C API routines, using overloading, references and default arguments. These wrappers can be used from C++ code and can be compiled with any C++ compiler. The C++ API also has some CUDA-specific wrappers that wrap C API routines that deal with symbols, textures, and device functions. These wrappers require the use of nvcc
because they depend on code being generated by the compiler. For example, the execution configuration syntax to invoke kernels is only available in source code compiled with nvcc
.