Как заставить 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)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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