Numba is a Python compiler from Anaconda that can compile Python code for execution on CUDA-capable GPUs or multicore CPUs. Numba allows automatic just-in-time (JIT) compilation of Python functions, which can provide orders of magnitude speedup for Python and Numpy data processing. Numba also provides CUDA Python, an API for writing CUDA kernels in the Python language.
A new NVIDIA Developer Blog post by Anaconda’s Stanley Seibert presents seven less well-known features of Numba that make it even more useful – such as:
- Using Numba within Jupiter notebooks enables high productivity and rapid prototyping with high performance.
- Numba can compile Python functions for both CPU and GPU execution, at the same time.
- Numba’s @vectorize command is an easy way to accelerate custom functions for processing Numpy arrays.
- Numba’s built-in CUDA simulator makes it easier to debug CUDA Python code.
You can write distributed GPU-accelerated applications in Python by combining Numba with Dask