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,完成一對向量元素的加法。

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