一般来说,对于 GPU,哪种访问模式更快(从连续的全局内存块中读取数据)?
(1) 具有单个或非常少线程数的for循环从全局内存块中读取数据;
(2) 让很多线程,可能来自不同的块,同时从全局内存中读取数据。
例如
if (threadIdx.x==0)
{
for (int i=0; i<1000; ++i)
buffer[i]=data[i];//data is stored in global memory
}
OR:
buffer[threadIdx.x]=data[threadIdx.x];//there are 1000 threads in this thread block