<p>好吧,这就是整个故事。首先,初始设置很慢,因为<code>BLAS</code>是一个<em>参考实现</em>,其设计不是很快。我重复一次,到今天为止,ArchLinux额外存储库中的包<code>blas</code>是参考实现。有关详细信息,请参见<code>Presentation</code>部分<a href="http://www.netlib.org/lapack/" rel="noreferrer">here</a>。在</p>
<p>第二,有<code>BLAS</code>的优化版本(实际上,相当多的版本:ATLAS、OpenBlas、Goto BLAS、MKL等等,毫无疑问)。它们的安装相当棘手。我最终安装了OpenBlas,下面是在ArchLinux上安装OpenBlas的一步一步的概述:</p>
<ol>
<li>安装<code>openblas-lapack</code><a href="https://aur.archlinux.org/packages/openblas-lapack/" rel="noreferrer">package from the AUR</a></li>
<li>按照我的理解,安装<code>python2-numpy-openblas</code><a href="https://aur.archlinux.org/packages/python2-numpy-openblas/" rel="noreferrer">package from the AUR</a>,它与普通的<code>python2-numpy</code>包不同,<code>site.cfg</code>配置文件指示{<cd9>}搜索我们在步骤1中安装的<code>openblas</code>库。在</li>
</ol>
<p>这些动作为我解决了问题,现在的速度比我在问题中提到的测试1秒以下要好得多。另外,numpy还显示它是用openblas编译的:</p>
<pre><code>>>> np.show_config()
lapack_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
blas_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
openblas_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
openblas_lapack_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
blas_mkl_info:
NOT AVAILABLE
</code></pre>
<p>我相信为<code>python3</code>设置<code>openblas</code>的过程看起来非常相似。在</p>