使scipy.special函数并行评估

时间:2018-09-07 18:53:16

标签: python numpy scipy

这似乎太简单了,无法解决,我确定我只是在错误的地方寻找。这个问题困扰了我一段时间,所以这里...

像scipy.special.j1这样的函数可以在使用多个内核的numpy数组上执行吗?

from scipy.special import j1
import numpy as np

tester = np.random.randn(1000,1000)
out = j1(tester)

在ipython中运行一个timeit并观看系统监视器显示只有1个核心运行。 numpy和scipy是通过conda安装的,并且scipy .__ config__输出中有'mkl_rt'和'pthread'库。

运行np.exp使用4个可用内核。

out = np.exp(tester)

如果可能的话,最好将所有可用的核用于j1计算,但是4肯定比1好。这是否简单呢?

1 个答案:

答案 0 :(得分:0)

不是纯Python。

您可以将cython_special的Cython接口与prange结合使用。