使用具有2. *或3. *的计算能力的GPU,共有32个共享存储体;但是共享内存中的数据可能超过32个字(= 128B) . 每个银行 b 负责地址中的所有数据(比如) A % nbanks == b :
+--------+---------+---------+-
Bank 0 | word 0 | word 32 | word 64 |...
+--------+---------+---------+-
Bank 1 | word 1 | word 33 | word 65 |...
+--------+---------+---------+-
Bank 2 | word 2 | word 34 | word 66 |...
+--------+---------+---------+-
... | ..... | | |
+--------+---------+---------+-
Bank 30 | word 30| word 62 | word 94 |...
+--------+---------+---------+-
Bank 31 | word 31| word 63 | word 95 |...
+--------+---------+---------+-
1 回答
使用具有2. *或3. *的计算能力的GPU,共有32个共享存储体;但是共享内存中的数据可能超过32个字(= 128B) . 每个银行
b
负责地址中的所有数据(比如)A % nbanks == b
:如果每个人都在访问字0,那么就有“广播”功能;但是如果线程0访问字0,线程1正在访问字32等,那么这些访问将被序列化 .