parallel-processing - 科学计算中缓存最重要的特点是什么?
问题描述
我最近开始学习并行编程技术以及在尝试创建高效程序时要注意什么。例如,如果您想编写高效的程序,了解处理器缓存的具体细节是必不可少的。
我想知道块大小和集合数之间的缓存最重要(如果一个比另一个更重要)特性是什么,例如 4 路或 8 路关联。
解决方案
关联性比线条大小更重要。HPC 中的许多访问都是顺序的,因此较小的行大小主要只是浪费标记开销。
拥有更多更小的集合(因为更小的行大小)可能有助于解决直方图问题,这是不容易针对顺序访问优化的主要问题之一。
当然,延迟和带宽通常比 4 对 8 路更重要。
推荐阅读
- javascript - 使用 React.JS 未按预期呈现星级按钮
- javascript - 为什么 getBoundingClientRect() 将所有值返回为零?
- apache-spark - Apache Hive 使用 alter table 语句添加 TIMESTAMP 分区
- rabbitmq - 带和不带 x-queue-type 的经典队列有什么区别:RabbitMQ 中的经典
- javascript - 我想在重置我已经使用的样式之前添加一个窗口警报?
- xcode - 如何使用 Xcode 编译通用 swift 包依赖项?
- android - 是否可以将包含 %1$s 或 @string/some_string 的字符串资源包含在布局 XML 中
- python - Pythonic 方法来读取熊猫 df 中的日期以创建热图分数列表?
- java - 如何将 Web 服务数据传递到 Android 中的 RecylerView?
- buildfire - Buildfire:确认控制面板和设备中的通知行为不同(并且失败)但在本地主机中有效