【发布时间】:2018-09-08 04:17:23
【问题描述】:
这似乎太简单了,无法解决,我确定我只是没有找对地方。这个问题困扰了我一段时间,所以这里......
像 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 好。这是否简单?
【问题讨论】: