首页 > 解决方案 > 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,代码将并行运行。

标签: pythonparallel-processingjitnumba

解决方案


推荐阅读