Кажется, что обратная матрица Numpy использует несколько потоков - PullRequest
1 голос
/ 28 сентября 2019

Итак, у меня есть этот действительно простой код:

import numpy as np
import scipy as sp

mat = np.identity(4)
for i in range (100000):
    np.linalg.inv(mat)

for i in range (100000):
    sp.linalg.inv(mat)

Теперь, первый бит, где инверсия выполняется через numpy, по какой-то причине запускает 3 дополнительных потока (итого 4 всего, включая основной)и в совокупности они потребляют примерно 3 или мои доступные ядра, что приводит к сбою вентиляторов на моем компьютере.

Второй бит, в котором я использую Scipy, не оказывает заметного влияния на использование процессора, и есть только один поток, основной поток,Это работает примерно на 20% медленнее, чем простой цикл.

Кто-нибудь знает, что происходит?Numpy выполняет потоки на заднем плане?Почему это так неэффективно?

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