Skip to content

Runtime error with numba v0.60 and later #1506

@rickybalin

Description

@rickybalin

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions