Modules | |
Thread Management | |
Error Handling | |
Device Management | |
Stream Management | |
Event Management | |
Execution Control | |
Memory Management | |
OpenGL Interoperability | |
Direct3D 9 Interoperability | |
Direct3D 10 Interoperability | |
Direct3D 11 Interoperability | |
VDPAU Interoperability | |
Graphics Interoperability | |
Texture Reference Management | |
Surface Reference Management | |
Version Management | |
C++ API Routines | |
C++-style interface built on top of CUDA runtime API. | |
Interactions with the CUDA Driver API | |
Interactions between the CUDA Driver API and the CUDA Runtime API. | |
Data types used by CUDA Runtime | |
Defines | |
#define | CUDART_VERSION 3020 |
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
.