在我的应用程序中,我需要在一个大的连续内存数据块(100个MB)上执行计算.我想的是继续预取我的程序将来会触及的块的部分,这样当我对该部分执行计算时,数据已经在缓存中.
有人能给我一个简单的例子来说明如何用gcc实现这个目标吗?我在_mm_prefetch某处读过,但不知道如何正确使用它.另请注意,我有一个多核系统,但每个核心将并行处理不同的内存区域.
_mm_prefetch
c linux caching x86-64 prefetch
c ×1
caching ×1
linux ×1
prefetch ×1
x86-64 ×1