GPU架构

(1 min to read)

Shared memory

在GPU上,共享内存是由32个bank组成的SRAM,每个bank为4字节。对于每个bank,每个周期只能读或写一个地址行。

Bank conflict:1个warp内的不同线程访问了同一个bank的不同地址,就需要大于1个周期的时间。

注:有点类似CPU多线程中false sharing。一种解决方式就是padding;GPU上还可以通过指令集并行来隐藏冲突带来的延迟。