CUDA编程:内核kernel

内核使用__global__声明符定义,使用<<<...>>>执行配置语法指定执行某一指定内核的线程数。每一个执行内核的线程拥有一个独一无二的线程ID,通过内置的变量threadIdx访问。

下面的例子是将两个长度为N的向量A和B相加,并将结果存入向量C中。

__global__ void VecAdd(float* A, float* B, float* C)
{
    int i = threadIdx.x;
    C[i] = A[i] + B[i];
}

int main()
{
    ...
    VecAdd<<<1, N>>>(A, B, C);
    ...
}

每个线程都会执行一次VecAdd,完成一对向量元素的加法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章