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
Thanks for the question. numba.cuda.jit targets NVIDIA CUDA supporting GPUs, numba.jit targets CPUs, numba.roc.jit targets AMD ROCm supporting GPUs. There are some elements of these targets which can be unified and at some point they will be, however, the programming model for GPU vs CPU is quite different, and the tool chains needed are also different (CPU uses a slightly customised LLVM from LLVM mainline, CUDA using NVIDIA's LLVM fork, ROCm has a special shim library https://github.com/numba/roctools built against the ROCm fork of LLVM) so total unification is not really feasible. For certain constrained cases, like @vectorize and @guvectorize, it's possible to use the same kernels on each target by simply changing the target kwarg http://numba.pydata.org/numba-doc/latest/reference/jit-compilation.html#vectorized-functions-ufuncs-and-dufuncs.
I'm new at numba. What's the difference between numba.cuda.jit and numba.jit?
If not, why not unify them?
The text was updated successfully, but these errors were encountered: