У меня есть виртуальная машина с windows 10 с VS 2017. Я создал две виртуальные среды. В одном из них я установил intel- numpy.
Далее я запускаю код в каждой среде:
from numpy import min as min
from timeit import Timer
def test_mm(m, n):
k_list = [64, 80, 96, 104, 112, 120,
128, 144, 160, 176, 192, 200,
208, 224, 240, 256, 384]
print ('Matrix Multiplication (double precision)')
print ('{0:4} {1:4} {2:4} {3:10}'.format('m', 'n', 'k', 'time (ms)'))
for k in k_list:
setup = 'import numpy; \
A = numpy.array(numpy.random.rand(%d, %d), dtype = numpy.double); \
B = numpy.array(numpy.random.rand(%d, %d), dtype = numpy.double)' \
% (m, n, n, k)
t = Timer('C = numpy.dot(A, B)', setup)
try:
num = 10
print ('{0:4d} {1:4d} {2:4d} {3:6.2f}'.\
format(m, n, k, min(t.repeat(5, num))/num*1000))
except:
t.print_exc()
if __name__ == '__main__':
test_mm(m=1000, n=10000)
Результаты следующие (слева numpy, справа Intel -nympu):
В чем может быть причина того, что библиотека Intel не обеспечивает ускорение? Виртуальная машина? Как проверить, используется ли библиотека Intel?