Overview
Explore the power of Numba, a JIT compiler for Python and Numpy, in this 30-minute EuroPython Conference talk. Learn how Numba translates Python and Numpy code into fast machine code, maximizing CPU potential for numerical algorithms. Discover the inner workings of Numba, including bytecode compilation, performance optimization techniques, and the use of decorators like @numba.jit and @numba.vectorize. Gain insights into multi-threading, vector instructions, and fast math operations to enhance CPU utilization. Compare Numba with other high-performance computing options such as PyPy, C, C++, Cython, Numexpr, Dask, PyTorch, Tensorflow, and Google JAX. Suitable for those with basic Python and Numpy knowledge, this talk covers Numba's applications, limitations, and its adoption in various libraries, concluding with a Q&A session.
Syllabus
Introduction
Introducing Numba
What does Numba do
Numba Info
Multithreading
Parallelizing
Fast Math
Universal Universal Functions
Number
Number compilers
Who uses Numba
Libraries using Numba
Summary
Questions
Taught by
EuroPython Conference