Я пытался установить Numpy/Scipy и разрешить им обоим использованию Openblas. Я следовал различным руководствам, но использовал этого в последнее время. В конце руководства существует несколько тестов для проверения скорости Numpy/Scipy. Тесты:
import numpy
import sys
import timeit
try:
import numpy.core._dotblas
print 'FAST BLAS'
except ImportError:
print 'slow blas'
print "version:", numpy.__version__
print "maxint:", sys.maxint
print
x = numpy.random.random((1000,1000))
setup = "import numpy; x = numpy.random.random((1000,1000))"
count = 5
t = timeit.Timer("numpy.dot(x, x.T)", setup=setup)
print "dot:", t.timeit(count)/count, "sec"
import timeit
setup = "import numpy;\
import scipy.linalg as linalg;\
x = numpy.random.random((1000,1000));\
z = numpy.dot(x, x.T)"
count = 5
t = timeit.Timer("linalg.cholesky(z, lower=True)", setup=setup)
print "cholesky:", t.timeit(count)/count, "sec"
t = timeit.Timer("linalg.svd(z)", setup=setup)
print "svd:", t.timeit(count)/count, "sec"
Мои результаты испытаний показывают это slow blas
используется. Однако мои результаты испытаний соответствуют результатам испытаний руководства. Мое чувство состоит в том, что openblas используется обоими Numpy/Scipy, но slow blas
печатается потому что numpy.core
не имеет _dotblas
файл (который это не делает). Как я могу далее сказать, используется ли openblas на самом деле?
Результаты испытаний руководства:
NumPy
dot: 0.0569217920303 sec
SciPy
cholesky: 0.0204758167267 sec
svd: 0.81153883934 sec
Мои результаты испытаний:
slow blas
version: 1.10.0.dev0+a419ebb
maxint: 9223372036854775807
dot: 0.0185512065887 sec
cholesky: 0.0125649929047 sec
svd: 0.293599033356 sec