Python: Scipy очень медленный на Windows10 по сравнению с MacOS - PullRequest
1 голос
/ 29 апреля 2019

подчеркнул, что texti попытался выполнить простую программу на python на моем MacBook Pro 15 на двух моих разделах: MacOS Mojave и Windows 10.

Я использую функцию spsolve для решения разреженной линейной системы на некоторой матрице, и я вижу, что один и тот же код с той же матрицей намного медленнее в Windows по сравнению с Macos.

Например:

  • матрица 1 -> MacOs : 29 секунд / Windows : 377 секунд

В MacOS, когда я выполняю эти вычисления, процессор переходит на на полной скорости , и я чувствую, что вентилятор сильно вращается. В Windows этого не происходит, процессор остается на уровне 20% .

Я использую Python 3 64bit в обеих системах.

from scipy import array, linalg, dot
import scipy.io as sio
import numpy as np
import time
from scipy.sparse.linalg import spsolve

matrix_names = ['cfd1']

for matrice in matrix_names:
    mat = sio.loadmat('/matrix_path/%s' %matrice)

    A = mat['Problem']['A']
    A=A[0][0]
    matrix_size = np.shape(A)[0]
    xe = np.ones(matrix_size)
    b = A * xe

    start = time.time()
    X = spsolve(A, b) 
    end = time.time()

    print("Times %.6f sec" %(end-start))

Медленная функция

X = spsolve(A, b)

1 Ответ

0 голосов
/ 30 апреля 2019

Я нахожу проблему.

Библиотека MKL по умолчанию не реализована в Windows. Я не уверен, что в MacOS он интегрирован, однако с помощью Anaconda в Windows (которая реализует Scipy с библиотекой MKL) файл Python выполняется так же быстро, как и в MacOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...