gpt4 book ai didi

cuda - 关于字长的银行冲突

转载 作者:行者123 更新时间:2023-12-01 05:44:22 25 4
gpt4 key购买 nike

我读了几篇关于共享内存的好文章;但我有关于银行冲突的初步问题据说如果线程 1 和线程 2 从 bank 0 访问 word 0 则没有 bank 冲突但是如果他们访问不同的单词,就会出现银行冲突;但我的问题是,不同的词如何可以存在于一个银行中?由于 bank 0 大小为 32 位,字大小为 32 位;最多可以有 1 个单词/库。

最佳答案

使用计算能力为 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 |...
+--------+---------+---------+-

如果每个人都在访问单词 0,那么就有“广播”功能;但是如果线程 0 正在访问字 0,线程 1 正在访问字 32 等等,那么这些访问将被序列化。

关于cuda - 关于字长的银行冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13534695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com