Как заставить np.multiply использовать более одного ядра?Python

Программы на Python
Anonymous
Как заставить np.multiply использовать более одного ядра?

Сообщение Anonymous »


Название уже говорит об этом. В настоящее время я распараллеливаю свой код, и основным узким местом является поэлементное умножение двух трехмерных ndarrays. Мой системный монитор показывает, что для этой операции используется только одно из 40 доступных ядер.

Я знаю, что распараллеливание работает, потому что другие операции scipy.fft и BLAS выполняются параллельно.

Пока я не нашел каких-либо значимых вопросов/проблем в SO или GitHub. Немного странно, что ни у кого больше не было этой проблемы. Я что-то упустил?

Я пробовал экспериментировать с переменными среды BLAS и использовать dgbmv с плоскими массивами, чтобы добиться желаемого поведения, но пока безуспешно. Минимальный пример кода: (в моем случае с гораздо большим k, трехмерными массивами и широковещательной передачей):
импортировать numpy как np к = 1е6 х = np.random.rand(к) у = np.random.rand(к) z = np.multiply(x, y)

Вернуться в «Python»