【CUDA】CUDA Hello World 级别:kernel函数写法(global)+ <<<grid, block>>> 启动配置

📅 2026/7/18 20:45:48
【CUDA】CUDA Hello World 级别:kernel函数写法(global)+ <<<grid, block>>> 启动配置
一、先建立一个整体框架:CUDA程序长什么样一个最基础的CUDA程序,本质上是"C代码"里嵌入了几个特殊的部分: ① 用 __global__ 标记的函数 —— 这是"kernel"(核函数), 写法长得和普通C函数很像,但它是跑在GPU(Device)上的, 不是跑在CPU(Host)上的 ② 调用kernel时,多了一个 ... 这样的特殊语法 —— 这是在告诉GPU:"用多少个线程、怎么组织这些线程" 去执行这个kernel ③ 其余的部分(内存分配cudaMalloc、数据拷贝cudaMemcpy等) 还是普通的C函数调用写法,只是函数名带cuda前缀 这一节先集中搞懂①和②这两个CUDA特有的语法点, 内存管理部分不在这里展开。二、kernel函数写法:__global__2.1__global__是什么__global__ 是CUDA C++给函数加的一个"函数执行空间限定符" (function execution space specifier),加了这个限定符的函数: 会被编译成运行在GPU(Device)上的代码 在最基础的用法里,是从CPU(Host)代码里被调用(发起执行)的 实际执行的位置是Device,不是Host 写法上,就是在普通C函数定义前面加这个关键字: __global__ void myKernel(int *data) { //