¶Shared memory
在GPU上,共享内存是由32个bank组成的SRAM,每个bank为4字节。对于每个bank,每个周期只能读或写一个地址行。
Bank conflict:1个warp内的不同线程访问了同一个bank的不同地址,就需要大于1个周期的时间。
注:有点类似CPU多线程中false sharing。一种解决方式就是padding;GPU上还可以通过指令集并行来隐藏冲突带来的延迟。
在GPU上,共享内存是由32个bank组成的SRAM,每个bank为4字节。对于每个bank,每个周期只能读或写一个地址行。
Bank conflict:1个warp内的不同线程访问了同一个bank的不同地址,就需要大于1个周期的时间。
注:有点类似CPU多线程中false sharing。一种解决方式就是padding;GPU上还可以通过指令集并行来隐藏冲突带来的延迟。