且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Matlab矩阵乘法速度

更新时间:2022-06-17 15:36:26

这是几件事的组合:

  • Matlab确实具有多线程功能.
  • 该内核已通过矢量指令进行了优化.

这是我机器上的数字:Core i7 920 @ 3.5 GHz(4核)

Here's the numbers on my machine: Core i7 920 @ 3.5 GHz (4 cores)

>> a = rand(10000);
>> b = rand(10000);
>> tic;a*b;toc
Elapsed time is 52.624931 seconds.

任务管理器显示4个CPU使用核心.

Task Manager shows 4 cores of CPU usage.

现在进行一些数学运算

Number of multiplies = 10000^3 = 1,000,000,000,000 = 10^12

Max multiplies in 53 secs =
    (3.5 GHz) * (4 cores) * (2 mul/cycle via SSE) * (52.6 secs) = 1.47 * 10^12

因此Matlab可以在最大可能的CPU吞吐量上达到1 / 1.47 = 68%的效率.

So Matlab is achieving about 1 / 1.47 = 68% efficiency of the maximum possible CPU throughput.

我没有发现异常.