我对掌握预取相关功能感兴趣,比如

_mm_prefetch(...)

所以当我执行循环遍历数组的操作时,内存带宽得到充分利用。了解这个的最佳资源是什么?

我正在使用英特尔Linux平台上的GCC 4系列在C中完成这项工作。

有帮助吗?

解决方案

Ulrich Drepper也有一篇优秀的论文,每位程序员应该了解的内存。他介绍了预取,以及处理内存性能优化的许多其他主题。它于2007年11月发布,与当今的处理器极为相关。如果您在非常大的阵列上执行操作并且认为您的瓶颈是记忆,那么您应该阅读它。

其他提示

网站包含有关gcc预取支持的详细信息,包括预取选项和功能,包括有关英特尔等多种架构的详细信息。 gcc 手册包含 __ builtin_prefetch 第5.46节中的内置函数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top