Overview
Discover the power of Numba, a JIT compiler for fast numerical code, in this 30-minute EuroPython Conference talk by Antoine Pitrou. Gain insights into Numba's capabilities for speeding up numerical algorithms beyond fast linear algebra operations, with backends for both CPU and NVidia GPUs. Learn about Numba's use cases, expected performance levels, and inner workings. Explore the compilation pipeline, supported Python syntax and features, Numpy integration, and CUDA support. Understand Numba's architecture, limitations, and semantic changes. Follow along with practical examples, including the Ising model implementation. Suitable for Python programmers with some familiarity in scientific computing and Numpy, this talk offers valuable knowledge for those interested in high-performance Python solutions.
Syllabus
Intro
Specialized Tailored for number crunching
Multiple targets
Numba architecture
Compilation pipeline
Numba types
Supported Python syntax Supported constructs
Supported Python features
Supported Python modules Standard library
Supported Numpy features
Limitations
Semantic changes
Using Numba: @vectorize
@jit example: Ising models
Ising model: code
CUDA support
CUDA example
Installing Numba
Taught by
EuroPython Conference