Numba Workshop

Introduces participants to Numba, a tool for Just-in-Time compilation of Python code. Participants practice profiling sample application codes and accelerating them with Numba.

3 hours of instruction

Introduces participants to Numba, a tool for Just-in-Time compilation of Python code. Participants practice profiling sample application codes and accelerating them with Numba.

PREREQUISITES

Participants should be comfortable using the Python language and, in particular, working with standard Python tools for data analysis (notably NumPy, Pandas, and Jupyter). No prior experience using compiled code or Numba is required.

LEARNING OBJECTIVES

  1. Explain array-oriented programming and how to write code to take advantage of modern hardware and software systems.
  2. Understand the basics of compiling Python and Numba’s approach.
  3. Identify & assess opportunities to apply vectorization and/or compilation with Numba to address bottlenecks in application performance
  4. Implement Universal functions (ufuncs) and Generalized Universal Functions (gufuncs) with Numba to better use array-oriented computing for modern hardware.
  5. Implement code that runs on the GPU
  6. Explain the role of the Global Interpreter Lock (GIL) in Python and how it affects the performance of application code
  7. Implement GPU

Not Enrolled
This course is currently closed