【发布时间】:2016-09-07 02:46:59
【问题描述】:
32 个库映射到 32 个连续的字。我想知道数据类型是否很大,比如说
struct foo{
float data[n];
};
__global__
void kernel(foo* d_ptr){
__shared__ foo sh_data[number_threads_block];
int tid = threadIdx.x;
sh_data[tid] = d_ptr[tid + blockDim.x * blockIdx.x];
__syncthreads();
sh_data[tid] = ...
}
其中 n 选择为 8(或 16、32)。那么当我们访问 sh_data[tid] 时,如果我做对了,就会有 8 个(或 16、32 个)bank 冲突。
如果是这种情况,是否有任何技术可以最大限度地减少银行冲突?
谢谢
【问题讨论】:
标签: c++ memory cuda gpu nvidia