在cuda的指针列表?

时间:2011-05-25 13:25:17

标签: list pointers cuda

__global__ void finalImageGathering(float3 *lists[]) {
    unsigned int x = blockIdx.x*blockDim.x + threadIdx.x;
    unsigned int y = blockIdx.y*blockDim.y + threadIdx.y;
    float3 test;
    for(int i = 0; i<Blah; i++)
        test += lists[i][y * width + x];
}

是否可以有一个指向不同float3列表的指针列表,或者我是否需要做其他事情?

1 个答案:

答案 0 :(得分:2)

你可以这样做,CUDA对指针间接除了函数指针以外的任何东西没有特别的限制(并且这种限制大多数也在最近的硬件上消失了)。更复杂的是为这样的设备指针数组分配内存,并在需要时将其复制到主机内存中。