python - Ipyparallel 和 numba (jit)
问题描述
我一直在尝试使用 ipyparallel 运行代码。但是,由于我的一些函数通过 jit. 这最终在 ipython 控制台中不做任何事情并冻结。这是一个例子:
import time
import numpy
from numba import jit
from ipyparallel import Client
client = Client() # create client and direct view to all engines available
dview = client[:]
dview.block = True
with dview.sync_imports():
import numpy
@jit
def TestingFnc(x):
a=x[0]
b=x[1]
c=x[2]
Result=0
for i in range(100000):
Result = Result + ((a+i)**2 + (b-i)**3) /(c+i)**3
return numpy.array([Result,1])
d=numpy.array([[0.,0.,0.],[0.,0.,1.],[0.,0.,2]])
Results = dview.map(TestingFnc, d)
如果没有 @jit,代码将并行运行。
解决方案
推荐阅读
- oracle - Oracle - 从另一个表更新
- job-scheduling - 使用 OR-Tools 连续改变“护士调度”问题?
- javascript - 用于反应反馈的电子邮件弹出窗口
- php - 遍历 PHP 中返回的 SELECT COUNT
- javascript - 为什么运行 firebase 模拟器也会执行我的一项功能?
- api - 创建没有数据库和身份验证的 Rest API
- sql - 使用 patindex 从以下格式 M_D_YY 的字符串中提取日期
- azure - 带有 spa 和 webapi 的 azure ad b2c
- python - 如何在不使用拆分功能的情况下将字符串转换为列表
- matrix - Leetcode 1314 中的堆溢出