Numba is an open source, NumPy-aware optimizing compiler for Python sponsored by Anaconda, Inc. It uses the LLVM compiler project to generate machine code from Python syntax.
Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks.
For more information about Numba, see the Numba homepage: https://numba.pydata.org
- Operating systems and CPUs:
- Linux: x86 (32-bit), x86_64, ppc64le (POWER8 and 9), ARMv7 (32-bit), ARMv8 (64-bit).
- Windows: x86, x86_64.
- macOS: x86_64, (M1/Arm64, unofficial support only).
- *BSD: (unofficial support only).
- (Optional) Accelerators and GPUs:
- NVIDIA GPUs (Kepler architecture or later) via CUDA driver on Linux and Windows.
- Python versions: 3.7-3.10
- llvmlite 0.39.*
- NumPy >=1.18 (can build with 1.11 for ABI compatibility).
Optionally:
- SciPy >=1.0.0 (for
numpy.linalg
support).
The easiest way to install Numba and get updates is by using the Anaconda Distribution: https://www.anaconda.com/download
$ conda install numba
For more options, see the Installation Guide: https://numba.readthedocs.io/en/stable/user/installing.html
https://numba.readthedocs.io/en/stable/index.html
Numba has a discourse forum for discussions: