Teaching

CS M151B - Computer Systems Architecture

Undergraduate course, University of California, Los Angeles, 2026

Taught in the winter quarter. The course covers the fundamentals of computer architecture, from instruction sets and pipelining to memory hierarchies.

CS 254A - Advanced GPU Microarchitecture

Graduate course, University of California, Los Angeles, 2025

Taught in the fall quarter. The course takes students to the research frontier of GPU design, including modern tensor-core architecture: the Tensor Memory Accelerator (TMA), structured sparsity, and warp-group matrix-multiply-accumulate (WGMMA) instructions. Students study these features on a full tensor-GPU stack built on Vortex, which they can read, modify, and measure end to end.

CS3220 - Processor Design

Intermediate-level Course, Georgia Institute of Technology, 2023

It is a project-driven course teaching the principles of hardware design tailored towards modern CPU and GPU implementations. The course also introduces students to the RISC-V ISA and FPGA development, with practical lab experiments to learn about Verilog RTL design and high-level synthesis.

CS3220 - Processor Design

Intermediate-level Course, Georgia Institute of Technology, 2022

It is a project-driven course teaching the principles of hardware design tailored towards modern CPU and GPU implementations. The course also introduces students to the RISC-V ISA and FPGA development, with practical lab experiments to learn about Verilog RTL design and high-level synthesis.

ECE8823 - GPU Architectures

Graduate course, Georgia Institute of Technology, 2018

Lead teaching assistant, with several guest lectures. The course covers the basic principles of parallel programming using CUDA and OpenCL, and introduces students to advanced microarchitecture concepts unique to single-instruction multiple-thread (SIMT) processors.