У нас есть библиотека, связанная как модуль с помощью Cython (core.so).Он использует BLAS, но скомпилирован с опциями -undefined, динамический поиск в надежде, что BLAS будет загружен во время выполнения.
В дистрибутиве Enthought Python следующее решение отлично работает:
import numpy #This apparently loads the shared BLAS library
import core
Мы попробовали это на '' vanilla '' дистрибутиве Python в Ubuntu 10.04 с numpy, установленным через apt-get (и liblapack-dev, libblas-dev, установленным таким же образом).Не находит библиотеку BLAS.Как мы можем заставить его работать так же, как в EPD?
ОБНОВЛЕНИЕ :
Это сделано для того, чтобы получить тот же BLAS, что и в numpy.Например, на Mac OS X box EPD снова компилируется MKL и работает намного быстрее, чем доступный BLAS (Accelerate Framework).
Вывод numpy.show_config()
:
blas_info:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
lapack_info:
libraries = ['lapack']
library_dirs = ['/usr/lib64']
language = f77
atlas_threads_info:
NOT AVAILABLE
blas_opt_info:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
atlas_blas_threads_info:
NOT AVAILABLE
lapack_opt_info:
libraries = ['lapack', 'blas']
library_dirs = ['/usr/lib64']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
atlas_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
mkl_info:
NOT AVAILABLE