我最近开始学习并行编程技术,以及在尝试创建高效程序时应该注意什么。例如,如果您想要编写高效的程序,了解处理器缓存的具体细节是必不可少的。
我想知道什么是最重要的(如果其中一个比另一个更重要)缓存之间的块大小和集合的数目,例如,4路或8路关联。
发布于 2019-02-20 20:25:35
相联性比线宽更重要。HPC中的许多访问都是连续的,因此较小的行大小主要是浪费标记开销。
拥有更小的集合(因为较小的行大小)可能有助于解决直方图问题,这是很难对顺序访问进行优化的主要问题之一。
当然,延迟和带宽通常比4比8更重要。
https://stackoverflow.com/questions/54793396
复制相似问题