1

我需要创建一个带有两个参数的数组:数组及其大小。

我有这样的功能:

__global__ void reverseArray(int *data, int size){

    int tid = blockIdx.x// Total blocks

}

如何使用此功能反转数组?

4

1 回答 1

1

这取决于你的启动参数,但你可以尝试做

__global__ void reverseArray(int *data,int count){
    const int tid = threadIdx.x + blockIdx.x*blockDim.x;
    if(tid < count/2)
    {
        const int new_tid = count - tid - 1;
        int prev_valA = data[tid];
        int prev_valB = data[new_tid];

        data[new_tid] = prev_valA;
        data[tid] = prev_valB;
    }
}

我假设这是您之前问题的延续?

另外,请注意,这假设您仅将 x 维度用于内核启动参数

于 2013-05-16T19:12:14.823 回答