gpt4 book ai didi

optimization - 在现代Intel或AMD CPU上的分散写入速度与分散读取速度?

转载 作者:行者123 更新时间:2023-12-03 17:14:20 25 4
gpt4 key购买 nike

我正在考虑通过采用线性数组并将每个元素写入另一个数组中的任意位置(从CPU角度来看是随机的)来优化程序。我只是在做简单的写,而不是读回元素。

我知道传统CPU的分散读取可能会非常慢,因为每次访问都会导致缓存未命中,从而导致处理器等待。但是我在想,从技术上讲,分散的写入可能会很快,因为处理器不等待结果,因此它可能不必等待事务完成。

不幸的是,我不熟悉经典CPU内存体系结构的所有细节,因此可能存在一些复杂性,可能会导致其运行相当缓慢。

有人尝试过吗?

(我应该说我正在尝试解决一个问题。我目前有一个线性数组,可以从中读取任意值(分散读取),并且由于所有高速缓存未命中,它的运行速度非常慢。我的想法是我可以将此操作转换为分散的写入,以显着提高速度。)

最佳答案

通常,由于您必须为每次写入加载和存储整个高速缓存行,因此对于分散写入尚未位于缓存中的地址要付出高昂的代价,因此FSB和DRAM带宽要求将比顺序写入要高得多。当然,您每次写入都会导致缓存未命中(在现代CPU中通常会发生数百个周期),并且任何自动预取机制都将无济于事。

关于optimization - 在现代Intel或AMD CPU上的分散写入速度与分散读取速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3101743/

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