12
为什么MATLAB在矩阵乘法中如此之快?
我正在使用CUDA,C ++,C#,Java建立一些基准,并使用MATLAB进行验证和矩阵生成。当我使用MATLAB执行矩阵乘法时,2048x2048甚至更大的矩阵几乎都会立即相乘。 1024x1024 2048x2048 4096x4096 --------- --------- --------- CUDA C (ms) 43.11 391.05 3407.99 C++ (ms) 6137.10 64369.29 551390.93 C# (ms) 10509.00 300684.00 2527250.00 Java (ms) 9149.90 92562.28 838357.94 MATLAB (ms) 75.01 423.10 3133.90 只有CUDA具有竞争力,但是我认为至少C ++会比较接近,并且速度不会慢60倍。我也不知道该如何看待C#结果。该算法与C ++和Java相同,但与相比有很大2048的不同1024。 MATLAB如何快速执行矩阵乘法? C ++代码: float temp = 0; timer.start(); for(int j = 0; j …