計算機組織與結構›Ch3 效能評估(Performance)第 9 題/共 35 題
9. Roofline Model、Execution Time
#CC-03-009易Roofline ModelExecution Time
題組題幹(本題:Q4,共 5 小題)點擊展開
如下所示,函式 compute_distance 遍歷一串2D點並計算每一對點之間的距離。注意每個點是用single precision浮點數表示。請回答下列問題。
void compute_distance(float x[], float y[], int N, float distance[]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
float x_dist = x[i] - x[j];
float y_dist = y[i] - y[j];
distance[j + i * N] = sqrt(x_dist*x_dist + y_dist*y_dist);
}
}
}
(Q4,2分)假設上述compute_distance函式在Intel Core i7 960處理器上執行。這個處理器的roofline model如下圖所示。處理器有4個cores,每個core的Level 1 data cache容量為32KB。假設N=1024。根據roofline model,當處理器cache太小、無法容納全部的資料點時,執行完這個函式需要多久?

📄 台大112
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch3 效能評估(Performance)