numba-dpex icon indicating copy to clipboard operation
numba-dpex copied to clipboard

Runtime error with numba v0.60 and later

Open rickybalin opened this issue 5 months ago • 0 comments

There are incompatibilities with numba-dpex and more cent version of numba. Specifically, numba-dpex gives an error for numba >= 0.60 due to some changes to numba source code.

Traceback (most recent call last):
  File "/home/balin/user_docs/dpep/numba_dpex_ex/test.py", line 15, in <module>
    dpex.call_kernel(vecadd, dpex.Range(N), a, b, c)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/dispatcher.py", line 442, in _compile_for_args
    raise e
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/dispatcher.py", line 375, in _compile_for_args
    return_val = self.compile(tuple(argtypes))
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/dispatcher.py", line 905, in compile
    cres = self._compiler.compile(args, return_type)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/dispatcher.py", line 80, in compile
    status, retval = self._compile_cached(args, return_type)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba_dpex/core/dpjit_dispatcher.py", line 34, in _compile_cached
    retval = self._compile_core(args, return_type)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/dispatcher.py", line 107, in _compile_core
    cres = compiler.compile_extra(self.targetdescr.typing_context,
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler.py", line 744, in compile_extra
    return pipeline.compile_extra(func)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler.py", line 438, in compile_extra
    return self._compile_bytecode()
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler.py", line 506, in _compile_bytecode
    return self._compile_core()
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler.py", line 481, in _compile_core
    raise e
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler.py", line 472, in _compile_core
    pm.run(self.state)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 364, in run
    raise e
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 356, in run
    self._runPass(idx, pass_inst, state)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler_lock.py", line 35, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 311, in _runPass
    mutated |= check(pss.run_pass, internal_state)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 273, in check
    mangled = func(compiler_state)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typed_passes.py", line 112, in run_pass
    typemap, return_type, calltypes, errs = type_inference_stage(
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typed_passes.py", line 93, in type_inference_stage
    errs = infer.propagate(raise_errors=raise_errors)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typeinfer.py", line 1083, in propagate
    errors = self.constraints.propagate(self)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typeinfer.py", line 182, in propagate
    raise e
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typeinfer.py", line 160, in propagate
    constraint(typeinfer)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typeinfer.py", line 583, in __call__
    self.resolve(typeinfer, typevars, fnty)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typeinfer.py", line 606, in resolve
    sig = typeinfer.resolve_call(fnty, pos_args, kw_args)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typeinfer.py", line 1577, in resolve_call
    return self.context.resolve_function_type(fnty, pos_args, kw_args)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typing/context.py", line 196, in resolve_function_type
    res = self._resolve_user_function_type(func, args, kws)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typing/context.py", line 248, in _resolve_user_function_type
    return func.get_call_type(self, args, kws)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/types/functions.py", line 312, in get_call_type
    raise e
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/types/functions.py", line 308, in get_call_type
    sig = temp.apply(nolitargs, nolitkws)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typing/templates.py", line 350, in apply
    sig = generic(args, kws)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/typing/templates.py", line 964, in generic
    result = self._definition_func(self.context, *args, **kws)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba_dpex/core/kernel_launcher.py", line 104, in _submit_kernel_sync
    return _submit_kernel(
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba_dpex/core/kernel_launcher.py", line 190, in _submit_kernel
    kcres: _SPIRVKernelCompileResult = kernel_dispatcher.get_compile_result(
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba/core/dispatcher.py", line 926, in get_compile_result
    self.compile(atypes)
  File "/home/balin/user_docs/dpep/install/dpep_env/lib/python3.10/site-packages/numba_dpex/kernel_api_impl/spirv/dispatcher.py", line 366, in compile
    disp = self._get_dispatcher_for_current_target()
AttributeError: 'SPIRVKernelDispatcher' object has no attribute '_get_dispatcher_for_current_target'

Could this be addressed?

Thank you!

rickybalin avatar Aug 28 '25 17:08 rickybalin