import numpy загружает разделяемые библиотеки blas в другие модули

У нас есть библиотека, связанная модулем Cython (core.so). Он использует BLAS, но он компилируется с опциями -undefined, динамического поиска в надежде, что BLAS будет загружен во время выполнения.

В Enthought Python Distribution отлично работает следующее решение:

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

0 ответов

Другие вопросы по тегам