Это кажется слишком простым, чтобы быть неразрешенным, я уверен, что я просто не смотрю в нужном месте. Этот вопрос беспокоил меня некоторое время, так что вот так ...
Может ли такая функция, как scipy.special.j1, выполняться на массиве с несколькими ядрами?
from scipy.special import j1
import numpy as np
tester = np.random.randn(1000,1000)
out = j1(tester)
Запуск timeit в ipython и просмотр системного монитора показывает только 1 запуск ядра. numpy и scipy устанавливаются через conda, а в scipy есть библиотеки 'mkl_rt' и 'pthread' .__ config__ output.
При запуске np.exp используются 4 доступных ядра.
out = np.exp(tester)
Если возможно, было бы неплохо использовать все доступные ядра для вычисления j1, но 4, конечно, лучше, чем 1. Это как-то просто?