如果需要将两个int2从设备内存加载到寄存器,使用int2的两个连续加载比使用int4的一个加载差多少?
最佳答案
这取决于GPU和内存访问模式。然而,假设(缺少相关信息)计算能力为2.0+GPU(费米GPU)的顺序寻址,请参见GTC 2010中this presentation by Paulius Micikevicius的幻灯片27。
幻灯片显示,对于占用率较低的多处理器(每个多处理器的活动线程数较低),int4可以比int2有很大的不同。对于高入住率,差别不大。
然而,正如幻灯片所指出的,“几个独立的较小的访问具有相同的效果
作为一个大的。例如:4个32位~=1个128位”。因此,如果需要加载的两个int2值是独立的,只需在代码中一个接一个地发出这两个加载,它的性能应该与执行一个int4几乎相同,假设如上所述的一致内存访问。
关于c - Fermi架构上的int2与int4负载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6037378/