尝试在我使用异常处理和 oops 概念的代码中实现 @jit。 bcz of comp security reason 我不能发布表演脚本,但我发布了示例

问题描述 投票:0回答:0
`from numba import jit, cuda,njit
import numpy as np
import numba as nb
from timeit import default_timer as timer
from numba.core.errors import NumbaDeprecationWarning, NumbaPendingDeprecationWarning
import warnings
warnings.simplefilter('ignore')



# normal function to run on cpu

class test:
    def func(self,a):
        for i in range(100000000):
            a+= 1
        print(a)

    @nb.jit() # throw Error because of exception handling
    def func2(self):
         try:
             print('main block')
         except Exception:
             print('handler block')

    # @nb.jit()   # it's Working
    # def func2(self,a):
    #     for i in range(100000000):
    #         a+= 1
    #     print(a)

if __name__=="__main__":
    t=test()
    start = timer()
    t.func(10)
    print("without GPU:", timer()-start)

    start = timer()
    t.func2()
    print("with GPU:", timer()-start)`

我的期望:

100000010 没有 GPU:4.227983299992047 100000010 带 GPU:0.48296340001979843

抛出这个错误:-

numba.core.errors.NumbaNotImplementedError:对象模式管道失败(步骤:对象模式后端) , raise ("达到不可到达条件(执行操作码 RERAISE) ---------------------------------------------- ------------------------------ 这不应该发生,Numba 的内部发生了问题。 您当前使用的是 Numba 版本 0.56.4。 请报告错误消息和回溯,以及最小的复制器 在:https://github.com/numba/numba/issues/new?template=bug_report.md 如果需要更多帮助,请随时与 Numba 核心开发人员联系 直接在:https://gitter.im/numba/numba 提前感谢 帮助改进 Numba! ") During: lowering " raise (" Unreachable condition reached (op code RERAISE executed) ---------------------------------------------- ------------------------------ 这不应该发生,Numba 的内部发生了问题。 您当前使用的是 Numba 版本 0.56.4。 请报告错误消息和回溯,以及最小的复制器 在:https://github.com/numba/numba/issues/new?template=bug_report.md 如果需要更多帮助,请随时与 Numba 核心开发人员联系 直接在:https://gitter.im/numba/numba 提前感谢 帮助改进 Numba! ")" 在 C:\Users bhis\OneDrive\Desktop\Dhananjay est est.py (26) 此错误可能是由以下参数引起的:

参数 0:无法确定
    main
  • .test'> 的 Numba 类型
python python-3.x oop numba jit
© www.soinside.com 2019 - 2024. All rights reserved.