0
我做了一個檢查矩陣效率的應用程序。我使用各種方法(例如更改循環,2/3循環,openmp等)。還有一件事:我必須檢查數據預取。如何更改此C代碼預取一些數據?
代碼:
#define SIZE 5000
for(int i=0;i<SIZE;i++)
for(int j=0;j<SIZE;j++)
mul+=tab[i][j]
通常處理器prefetch
數據本身(當我們在單排和增量j
),但並非總是如此(例如tab[0][0]
是從未prefeched
或者當我們去到下一行(loop i++ ,tab[i][0]
))。如何修改這段代碼以幫助proc
prefetch
來自tab[0][0], tab[1][0],tab[2][0],tab[3][0]
的數據等等,然後我們會對它們進行計數?
您正在使用哪種編譯器/平臺? – Hasturkun
我使用openMP的visual studio – asss