安装了Anaconda 4.0.2后,是否已经能够使用MKL运行numpy?

11

我的系统中安装了Ananconda4.0.2。我尝试使用以下命令在Python控制台中找出我的numpy配置:

import numpy as np
np.__config__.show()

它返回了以下输出

lapack_opt_info:
libraries = ['mkl_lapack95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
library_dirs = ['/home/<username>/anaconda2/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/home/<username>/anaconda2/include']
blas_opt_info:
libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
library_dirs = ['/home/<username>/anaconda2/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/home/<username>/anaconda2/include']
openblas_lapack_info:
NOT AVAILABLE
lapack_mkl_info:
libraries = ['mkl_lapack95_lp64', 'mkl_intel_lp64', 'mkl_intel_thread','mkl_core', 'iomp5', 'pthread']
library_dirs = ['/home/<username>/anaconda2/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/home/<username>/anaconda2/include']
blas_mkl_info:
libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
library_dirs = ['/home/<username>/anaconda2/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/home/<username>/anaconda2/include']
mkl_info:
libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
library_dirs = ['/home/<username>/anaconda2/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/home/<username>/anaconda2/include']

这是否意味着我的numpy已经使用了mkl?

2个回答

9

是的,从Anaconda 2.5版本开始MKL支持为默认设置

要确定,请输入以下命令:

conda search numpy

您会看到类似以下的东西:

*  1.10.4                   py27_0  defaults        
   1.10.4             py27_nomkl_0  defaults        [nomkl]

或者

.  1.10.4                   py35_0  defaults        
   1.10.4             py35_nomkl_0  defaults        [nomkl]

因此,没有安装 MKL 的版本会明确标记为 nomkl,而已安装的版本(*.)包括 MKL。

我正在尝试安装caffe,这将需要一些BLAS实现。我想知道Ananconda4.0.2默认为numpy和scipy提供MKL支持,是否可能只需将现有的MKL支持链接到caffe安装中,而不是像在https://github.com/tiangolo/caffe/blob/ubuntu-tutorial-b/docs/install_apt2.md中提到的安装OpenBLAS。如果可能的话,请帮我解决这个过程?谢谢 - nitesh kansal
似乎如此。正如安装说明所说:“在Makefile.config中设置BLAS:= mkl”。 - Mike Müller
这是有用的信息,谢谢。 - Jiadong

2

从numpy 1.15.0开始,OpenBLAS似乎是默认选项。我使用的是1.16.2版本,这一点没有变化

"Original Answer"翻译成"最初的回答"
In [2]:np.__version__
Out[2]: '1.16.2'

In [3]: np.__config__.show()
blas_mkl_info:
  NOT AVAILABLE
blis_info:
    libraries = ['blas', 'cblas', 'lapack', 'blas', 'cblas', 'lapack']
    library_dirs = ['/home/tams00/anaconda3/envs/course2019/lib']
    define_macros = [('HAVE_CBLAS', None)]
    include_dirs = ['/home/tams00/anaconda3/envs/course2019/include']
    language = c
blas_opt_info:
    libraries = ['blas', 'cblas', 'lapack', 'blas', 'cblas', 'lapack', 'blas', 'cblas', 'lapack']
    library_dirs = ['/home/tams00/anaconda3/envs/course2019/lib']
    define_macros = [('HAVE_CBLAS', None)]
    include_dirs = ['/home/tams00/anaconda3/envs/course2019/include']
    language = c
lapack_mkl_info:
  NOT AVAILABLE
openblas_lapack_info:
    libraries = ['blas', 'cblas', 'lapack', 'blas', 'cblas', 'lapack']
    library_dirs = ['/home/tams00/anaconda3/envs/course2019/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
    libraries = ['blas', 'cblas', 'lapack', 'blas', 'cblas', 'lapack', 'blas', 'cblas', 'lapack']
    library_dirs = ['/home/tams00/anaconda3/envs/course2019/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接