【发布时间】:2012-09-08 16:45:58
【问题描述】:
我正在测试 python enthought 分布的线性代数运行的速度,它声称与 windows 平台上的 intel MKL 链接。我在 IPython 交互式 shell 中做了以下操作:
import scipy.linalg as la
import numpy.random
M = random.rand(1000,1000)
%timeit la.svd(M);
svd() 通常需要 1.3 秒。但是,如果我使用 matlab R2011a 并使用M=rand(1000);tic;svd(M);toc,通常只需要 0.68 秒。
我之前看到过类似的问题,比较 MKL 和 ATLAS 或其他一些非 MKL 构建的 scipy 与 matlab 使用的 MKL。但是我这里的情况应该正是python调用的MKL和matlabR2011a调用的MKL的比较。所以我完全不知道为什么结果如此不同。这对于从 matlab 迁移到 python 来说是如此令人沮丧。
顺便说一下,enthough 使用的 MKL 版本是 10.3.1,而 matlab R2011a 的版本是 10.2.6。
【问题讨论】: