正如上文所述,我正在制定一些矩阵乘法基准 为什么 MATLAB 的矩阵乘法这么快?
现在我还有另一个问题,当两个2048x2048矩阵相乘时,C # 和其他矩阵之间有很大的区别。当我尝试只乘2047x2047矩阵时,它似乎是正常的。还增加了一些其他的作为比较。
10秒。
10秒。
90秒。
300秒。
2049x2049-91秒
2500x2500-166秒
这是3.5分钟的差距,为2k 乘2k 的情况下。
使用2dim 数组
//Array init like this
int rozmer = 2048;
float[,] matice = new float[rozmer, rozmer];
//Main multiply code
for(int j = 0; j < rozmer; j++)
{
for (int k = 0; k < rozmer; k++)
{
float temp = 0;
for (int m = 0; m < rozmer; m++)
{
temp = temp + matice1[j,m] * matice2[m,k];
}
matice3[j, k] = temp;
}
}