【发布时间】:2021-01-12 20:05:24
【问题描述】:
if (threadIdx.x < 128) {
float reg[32];
// do something with reg...
} else {
return;
}
假设每个块有 256 个线程,但只有一半的线程在使用寄存器,而另一半在做其他事情(在这种情况下什么都没有)。我的问题是,这个线程块将使用多少个寄存器(仅考虑 reg)? 32 * 256 还是 32 * 128 ?
【问题讨论】:
-
除了您的问题(由罗伯特回答):请注意,数组不会最终成为(线程)本地内存!如果使用非编译时常量索引访问数组,则会发生这种情况
标签: parallel-processing cuda nvidia