Numba v2 Compiler Design No description has been provided for this image¶

This book describes the compiler design of the next generation Numba compiler. This compiler and its components are extremely experimental and under rapid development. If you have questions, raise an issue on the GitHub repository.

Chapters¶

  • Chapter 1 - Basic Compiler Design
  • Chapter 2 - EGraph Basics
  • Chapter 3 - Rewriting Programs with EGraphs
  • Chapter 4 - Scalar Type Inference with EGraphs
    • Part 0 - Type inference for scalar operations
    • Part 1 - Fully typing a scalar function with if-else branch
    • Part 2 - Fully typing a scalar function with loops
  • Chapter 5 - Array Type Inference with EGraphs
  • Chapter 6 - MLIR Backend for Scalar Functions
  • Chapter 7 - MLIR Backend for Array Functions
  • Chapter 8 - MLIR Backend for Array Offload to the GPU
  • Chapter 9 - Whole Program Compiler Driver
  • Chapter 10 - Tensor Graph Extraction
  • Chapter 11 - Tensor Optimization
  • Chapter 12 - Implementing Alternative GEMMS

Demos¶

  • Demo 1 - GELU tanh approximation
  • Demo 2 - GELU tanh approximation CUDA offload (pre-rendered)
  • Demo 3.0 - Matrix Multiplication Associativity
  • Demo 3.1 - Tensor Optimization
  • Demo 4: Energy Efficient GEMMs