You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG]: ProgramOptions(numba_debug=True) always fails on the NVVM backend #2570
ProgramOptions(numba_debug=True) never works on the NVVM backend. cuda.core emits the option to libNVVM as --numba-debug, and libNVVM accepts only the single-dashed -numba-debug, so every such compile raises NVVM_ERROR_INVALID_OPTION. libNVVM rejects the double-dashed form of every option, not just this one, so no toolkit version accepts the current spelling. The NVRTC backend tolerates both spellings and is unaffected.
This also hides itself: test_nvvm_program_numba_debug is gated on a probe that asks libNVVM about the same wrong spelling, so the test skips everywhere. It is one of the entries in #2077. The skip reason blames CTK 13.2, but the option is rejected on CTK 13.3 as well, so the toolkit version is not the cause.
Present in released cuda-core 1.1.0 and 1.1.1, and on main. Added in #2158, closing #1287.
[b'-arch=compute_89', b'-g', b'--numba-debug']
Traceback (most recent call last):
...
cuda.bindings.nvvm.nvvmError: ERROR_INVALID_OPTION (7)
NVVM program log: libnvvm : error: --numba-debug is an unsupported option
Asking libNVVM directly which spelling it accepts:
$ python -c "from cuda.bindings.utils import check_nvvm_compiler_options as c; print([(o, c([o])) for o in [\"--numba-debug\", \"-numba-debug\"]])"[('--numba-debug', False), ('-numba-debug', True)]
Expected behavior
ProgramOptions(numba_debug=True) should compile on the NVVM backend. The option should be emitted as -numba-debug, which is also what numba-cuda emits for the NVVM path.
Activity
fix(cuda.core): emit -numba-debug with a single dash for NVVM (NVIDIA…
Prepare for 13.4.1 release (#2788)