[問題] 如何利用cache讓程式整體效率提高?
大家好
我想讓cache增加執行效率
比如說 兩個矩陣相乘 每個矩陣的維度為1000
其程式碼假設如下
int i,j,k;
int sum;
int a[1000][1000],b[1000][1000],c[1000][1000];
for(i=0;i<1000;i++)
{
for(k=0;k<1000;k++)
{
sum=0.0;
for(j=0;j<1000;j++)
sum=sum+a[i][j]*b[j][k];
c[i][k] = sum;
}
}
由上可知 a[i][j]這個資料會反覆的利用在第一列
我要怎麼才能確定a[i][j]會在cache L1 或者 L2?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.176.25
推
03/27 23:25, , 1F
03/27 23:25, 1F
→
03/27 23:27, , 2F
03/27 23:27, 2F
→
03/27 23:27, , 3F
03/27 23:27, 3F
→
03/27 23:59, , 4F
03/27 23:59, 4F
→
03/28 00:09, , 5F
03/28 00:09, 5F
推
03/28 01:08, , 6F
03/28 01:08, 6F
→
03/28 01:08, , 7F
03/28 01:08, 7F
→
03/28 02:48, , 8F
03/28 02:48, 8F
→
03/28 02:56, , 9F
03/28 02:56, 9F
推
03/28 10:09, , 10F
03/28 10:09, 10F
→
03/28 10:10, , 11F
03/28 10:10, 11F
→
03/28 14:28, , 12F
03/28 14:28, 12F
→
03/28 15:38, , 13F
03/28 15:38, 13F
→
03/28 15:44, , 14F
03/28 15:44, 14F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):