2010-07-30 70 views
0

我收集了使用PAPI的L2緩存未命中數的數據。我用4個線程(mpirun -np 4)運行了一個MPI應用程序,每個線程都讀取L2中的緩存未命中。每個線程輸出每個時間戳的數據。 如:如何解釋papi輸出

Timestamp    data 
xxx530  thread# 0 2136 
xxx531  thread# 0 3217 
..   .   . 
.   .   . 
.   .   . 
.   .   . 
xxx550  thread# 0 412334255 

xxx530  thread #1 2456 
xxx531  thread#1  4243 
xxx532  thread #1 4567 
and so on 

現在我qstn,是我是否shud在時間戳xxx530添加所有的高速緩存未命中值線0,1,2,3,shud我取最高值的thrreda0,1, 2,3爲時間戳xxx530?

+0

你可以修改你的程序嗎?不要在某個線程中用內存做一些工作。然後你會從這個線程中得到計數器並選擇變量(換句話說就是「總和」或「最大值」 - 換句話說 - 每線程計數器或系統/ CPU範圍計數器) – osgx 2010-11-10 04:39:00

回答

0

裸露的L2高速緩存未命中計數是沒有用的。

您還應該計算緩存命中次數或內存訪問次數來獲取一些有用的信息。