title: 什么是 CUDA C++ 编程语言?
CUDA C++ 是 CUDA 编程模型 的一种实现,作为 C++ 编程语言的扩展。
CUDA C++ 向 C++ 添加了若干特性以实现 CUDA 编程模型,包括:
- 使用
__global__定义内核 (Kernel)。CUDA 内核 (Kernel) 被实现为接受指针参数且返回类型为void的 C++ 函数,并使用此关键字进行标注。 - 使用
<<<>>>启动内核 (Kernel)。内核 (Kernel) 通过三重括号语法从 CPU 主机端执行,该语法用于设置线程块网格 (Thread Block Grid) 的维度。 - 使用
shared关键字分配共享内存 (Shared Memory),使用__syncthreads()内部函数进行屏障同步,以及使用blockDim和threadIdx内置变量进行线程块 (Thread Block) 和 线程 (Thread) 索引。
CUDA C++ 程序由主机端 C/C++ 编译器驱动(如 gcc)与 NVIDIA CUDA 编译器驱动 nvcc 共同编译。