Numba, a JIT compiler for fast numerical code
summary
Numba is a JIT that compiles Python bytecode to native code via LLVM 3.6 and targets x86/x86_64 CPUs and NVidia GPUs via Cuda; it specializes on Numpy arrays, offers a vectorized decorator and ufunc generation, and can drop the GIL for parallel threads. Limitations include a restricted Python subset (no recursion, no class compilation, no object-array support) and no persistent cache yet; a benchmark animation reports about 100× speedup over plain Python in a grid update example.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:40Specialized Tailored for number crunching
- 1:10Multiple targets
- 2:45Numba architecture
- 4:25Compilation pipeline
- 6:30Numba types
- 8:06Supported Python syntax Supported constructs
- 9:04Supported Python features
- 9:47Supported Python modules Standard library
- 10:39Supported Numpy features
- 11:54Limitations
- 12:55Semantic changes
- 16:05Using Numba: @vectorize
- 18:36@jit example: Ising models
- 19:22Ising model: code
- 20:43CUDA support
- 22:20CUDA example
- 23:56Installing Numba
related talks
37mUsing Numba Effectively Today
22mSupercharge Scientific Computing in Python with Numba
37mAccelerating Scientific Computing in Python with Numba: A Real-World Example
01h 33mPower up your work with compiling and profiling
27mBringing NVIDIA math libraries to Python scientific community
32mNim for Pythonistas
27mSpeed up Python with hardware accelerators
34mAccelerating GPU Algorithms in pure Python
