__global__ void add(int *a, int *b, int *c) {
int tid = blockIdx.x; // handle the data at this index if (tid < N)
}
c[tid] = a[tid] + b[tid];
kernel<<<6,1>>> // 6 blocks running the GPU.
上面的代碼是2個向量的基本總和。但我想修改正在添加的數組的索引。例如, 如果我有我的第一個數組A = [1,2,3,4,5,6]和B = [10,20,30,40,50,60]。 我想使用A和B的元素來獲得數組C = [1 + 60,2 + 50,3 + 40,4 + 30,5 + 20,6 + 10]。 blockIdx.x自動增加由1,似乎,所以我不知道如何修改它。CUDA編程修改blockIdx.x索引
發佈實際的代碼,而不是類似的東西。此外,不要發送垃圾郵件標籤,這在某種意義上與C++/c無關。順便說一句,在數組長度 –
請仔細閱讀[CUDA編程指南](http://docs.nvidia.com/cuda/cuda-c-programming-guide/),特別是第2章。簡而言之:你不能修改'blockIdx '也不'threadIdx'或類似的變量。它們是每個線程的獨特組合。 – Shadow