gpt4 book ai didi

c - 为 x86-64 预取数据到缓存

转载 作者:IT王子 更新时间:2023-10-29 00:23:27 26 4
gpt4 key购买 nike

在我的应用程序中,有一次我需要对一大块连续的内存数据(数百 MB)执行计算。我当时想的是继续预取我的程序以后会接触到的那部分 block ,这样当我对该部分进行计算时,数据已经在缓存中了。

有人可以给我一个简单的例子来说明如何使用 gcc 实现这个吗?我在某处阅读了 _mm_prefetch,但不知道如何正确使用它。另请注意,我有一个多核系统,但每个内核将并行处理不同的内存区域。

最佳答案

gcc 使用内置函数作为低级指令的接口(interface)。特别适合您的情况__builtin_prefetch .但是,只有在访问模式不容易自动预测的情况下使用它时,您才会看到可测量的差异。

关于c - 为 x86-64 预取数据到缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10323420/

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