gpt4 book ai didi

c - 非 GPU 硬件上是否会发生 Bank 冲突?

转载 作者:太空狗 更新时间:2023-10-29 16:49:50 28 4
gpt4 key购买 nike

blog post解释内存库冲突如何破坏转置函数的性能。

现在我不禁想知道:“普通”cpu(在多线程上下文中)是否也会发生同样的情况?或者这是特定于 CUDA/OpenCL 的吗?或者它甚至没有出现在现代 CPU 中,因为它们的缓存大小相对较大?

最佳答案

自从 1960 年代最早的 vector 处理 CPU 以来,就一直存在库冲突这是由交错内存或多 channel 内存访问引起的。

交错内存访问或 MCMA 通过分阶段访问来解决 RAM 访问速度慢的问题来自不同银行或通过不同 channel 的内存的每个单词。但是有一个副作用,从同一个 bank 访问内存比从相邻的 bank 访问内存需要更长的时间。

来自 1980 年代 Cray 2 的维基百科 http://en.wikipedia.org/wiki/Cray-2

“主存储体按象限排列,以便同时访问,允许程序员将数据分散到内存中以获得更高的并行性。这种方法的缺点是设置分散/收集单元的成本在前台处理器相当高。与内存库数量相对应的跨步冲突会受到性能损失(延迟),这在基于 2 次幂 FFT 的算法中偶尔会发生。因为 Cray 2 的内存比 Cray 1 或X-MPs,这个问题很容易通过在数组中添加一个额外的未使用元素来分散工作来解决”

关于c - 非 GPU 硬件上是否会发生 Bank 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308668/

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