2016-03-27 62 views
1

我已成功安裝來自英特爾MKL的Numpy「numpy-1.12.0.dev0 + 1380fdd-py2.7-linux-x86_64.egg」源代碼(主要遵循https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl的說明)。 numpy.show_config()顯示以下內容:無法安裝與英特爾MKL的Scipy

Python 2.7.10 (default, Sep 8 2015, 17:20:17) 
[GCC 5.1.1 20150618 (Red Hat 5.1.1-4)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> numpy.show_config() 
lapack_opt_info: 
    libraries = ['mkl_rt', 'pthread'] 
    library_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64'] 
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] 
    include_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include'] 
blas_opt_info: 
    libraries = ['mkl_rt', 'pthread'] 
    library_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64'] 
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] 
    include_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include'] 
lapack_mkl_info: 
    libraries = ['mkl_rt', 'pthread'] 
    library_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64'] 
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] 
    include_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include'] 
blas_mkl_info: 
    libraries = ['mkl_rt', 'pthread'] 
    library_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64'] 
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] 
    include_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include'] 
mkl_info: 
    libraries = ['mkl_rt', 'pthread'] 
    library_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64'] 
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)] 
    include_dirs = ['/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include'] 

而且numpy.test()沒有很好地工作:

>>> numpy.test() 
Running unit tests for numpy 
NumPy version 1.12.0.dev0+1380fdd 
NumPy relaxed strides checking option: True 
NumPy is installed in /usr/lib64/python2.7/site-packages/numpy-1.12.0.dev0+1380fdd-py2.7-linux-x86_64.egg/numpy 
Python version 2.7.10 (default, Sep 8 2015, 17:20:17) [GCC 5.1.1 20150618 (Red Hat 5.1.1-4)] 
nose version 1.3.7 
[....................SKIP..........................] 
---------------------------------------------------------------------- 
Ran 5855 tests in 51.180s 

OK (KNOWNFAIL=6, SKIP=8) 
<nose.result.TextTestResult run=5855 errors=0 failures=0> 

但由於某些原因,我無法從源通過python setup.py config --compiler=intelem --fcompiler=intelem build_clib --compiler=intelem --fcompiler=intelem build_ext --compiler=intelem --fcompiler=intelem install也不能通過pip install scipy甚至安裝SciPy的。從源我收到以下錯誤:

RuntimeError: Running cythonize failed! 

檢查用Cython:

cython -V 
Cython version 0.23 

通過PIP安裝它會導致:

Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ticToS/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-qnZ8HE-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ticToS/scipy/ 

任何想法,我做錯了嗎?

我的操作系統是Thinkpad T450s上的Fedora 23。一個側面的問題是我也認識到numpy.test()在不使用英特爾MKL的情況下要快得多。對此有何解釋?

非常感謝。

回答

1

通過groupinstall安裝redhat-rpm-config,'Development Tools'解決了這個問題。