Question Details

No question body available.

Tags

python cuda numba heisenbug

Answers (1)

Accepted Answer Available
Accepted Answer
October 29, 2025 Score: 1 Rep: 53,550 Quality: High Completeness: 80%

I started getting an "error 700" on the cuda.synchronize() line.

An error 700 is AFAIK an illegal memory access. So it is typically an out of bounds.

Is there at least a way I can debug this?

Debugging CUDA code tends to be harder than CPU ones, especially with Numba. Fortunately, you can use tools to better track this issue. This is mentioned in the documentation:

By setting the debug argument to cuda.jit to True (@cuda.jit(debug=True)), Numba will emit source location in the compiled CUDA code. Unlike the CPU target, only filename and line information are available, but no variable type information is emitted. The information is sufficient to debug memory error with cuda-memcheck.
[...]
We can use cuda-memcheck to find the memory error:
$ cuda-memcheck python chkcudadebug.py

This should certainly be enough to track the illegal access in your Numba code.