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.