我最近开始学习并行编程技术以及在尝试创建高效程序时要注意什么。例如,如果要编写高效的程序,了解处理器高速缓存的具体细节至关重要。
我想知道块大小和集合数之间的缓存特征是什么是最重要的(如果一个比另一个更重要),例如4路或8路相关。
相关性比线条大小更重要。 HPC中的许多访问都是顺序访问,因此较小的行大小通常只是浪费标签开销。
具有更小的集合(由于较小的行大小)可能有助于直方图问题,这是不能轻易地针对顺序访问优化的主要事项之一。
当然,延迟和带宽通常比4路和8路更重要。