Introduction to Numba
Event description
In this workshop, we will learn how to use Numba to speed up Python code. Numba is a just-in-time compiler that translates Python functions into machine code, which can significantly boost performance for numerical and scientific tasks. We will cover the basics of applying Numba’s features, optimizing functions, and integrating with libraries like NumPy. By the end, you’ll understand how to use Numba to improve your code’s efficiency and performance.
If you have any questions regarding this training, please contact training.nci@anu.edu.au.
Prerequisites
Experience with Python.
Experience with bash or similar Unix shells.
Having a valid NCI account and vp91 membership
The training session is driven on the NCI ARE service. You can find relevant documentations here: ARE User Guide.
Learning Outcomes
After this training session, you will be able to
Learn the basic concepts of parallel programming.
Parallelise Python code using Numba.
Use GPUs in Numba.
Topics Covered
CPU Parallelisation
Working with Numba
Just-in-Time (JIT) Compiler
LLVM and Numba
Eager Compilation in Numba
Compiler Modes in Python
No GIL mode
Caching Compiled Functions
Automatic Parallelisation
Universal Functions
Vectorize
GPU Parallelisation
CUDA and Numba
Memory Management
Streams
Vectorization in GPU
Reduction in GPU
Tickets for good, not greed Humanitix dedicates 100% of profits from booking fees to charity