teaching

Courses taught primarily at UIUC regular semesters.

Courses


CS 521: ML and Compilers

This class introduces compilation techniques and infrastructures used to program and compile machine learning workloads. The topics include tensor programming languages, frameworks, compilers, tensor intermediate representations, code generation for GPU and specialized accelerators. We will also cover tensor program optimizations, automatic differentiation, techniques for approximating neural networks such as pruning and quantization, and compilers for probabilistic ML models. We will discuss principles behind the modern toolchains for machine learning, such as JAX, MLIR, Pytorch 2.0, TVM, XLA.

CS 598CM: ML for Compilers and Architecture

This class explores cutting edge machine learning and search techniques used in compiler optimizations, auto-tuning, cost model designs and in architecture design space exploration. I was selected to the list of teachers ranked as Excellent by their students for all 3 editions.

CS 526: Advanced Compiler Construction

This class explores advanced compiler analysis and transformations that entail production scale compilers such as LLVM.

CS 426: Compiler Construction

This is an introductory course that teaches basic compiler construction techniques.

CS 591ACT: Advanced Compiler Technology Seminar

Weekly compiler seminar at UIUC where internal and external speakers give interesting talks on relevant recent compiler related topics.