This course focuses on computer systems and parallel computing research for advancing machine learning, in particular, large language model (LLM) systems. Topics include GPU data compression, KV cache and memory management, profiling and parallel scaling of LLM workloads, kernel optimizations, optimizers, parallel training and inference, and hardware-software co-design.
| Lectures | Tu, Th 2:00 PM–3:15 PM · CSI 1121 |
| Instructor | Yafan Huang · IRB 5146 |
| Office Hours | By appointment at my office. |
| Instructor Email | yafan AT umd DOT edu |
| TA | Shweta Bhardwaj |
| TA Office Hours | F 12:30 PM–2:30 PM · IRB 3119 |
| TA Email | shweta12 AT umd DOT edu |
Prerequisites For graduate students: Familiarity with basic systems and machine learning concepts is recommended. Students may find prior coursework such as CMSC412, CMSC416, or CMSC422 helpful. For undergraduate students: Permission of the instructor is required.
The goal of this course is to understand the systems challenges behind modern LLM training and inference, how high-performance and parallel computing techniques can address these challenges, and what open systems problems remain. Students will learn to analyze the performance of LLM workloads and reason about the design tradeoffs across algorithms, software systems, and hardware. For each topic, the instructor will first provide one or two lectures introducing the key concepts and background, followed by student-led presentations and discussions of selected research papers.
This course will cover below topics (subject to change):
Throughout the semester, each student will participate in paper readings, paper presentation, two midterm exams, and final project. Students are expected to attend class regularly and actively engage with lectures and presentation discussions.
There is no required textbook for this course. Most lectures will be accompanied by readings from top-tier conference research papers, and a reading list with links to the relevant papers will be provided. The following books may be useful as optional references:
Grade for each student will be determined as follows:
| Component | Weight |
|---|---|
| Paper Readings | 5% |
| Paper Presentation | 15% |
| Midterm Exam 1 | 20% |
| Midterm Exam 2 | 20% |
| Final Project | 40% |
More details for each component can be found in later sections.
| Date | Topic | Readings |
|---|---|---|
| Sep. 01 (Tuesday) | Course Overview | |
| Sep. 03 (Thursday) | Introduction to HPC | |
| Sep. 08 (Tuesday) | Introduction to HPC (contd.) | |
| Sep. 10 (Thursday) | CUDA and Triton | |
| Sep. 15 (Tuesday) | CUDA and Triton (contd.) | |
| Sep. 17 (Thursday) | Transformer and Language Model | |
| Sep. 22 (Tuesday) | Transformer and Language Model (contd.) | |
| Sep. 24 (Thursday) | Parallel Training | [Reading1], [Reading2] |
| Sep. 29 (Tuesday) | Sparsity in Training | [Reading1], [Reading2] |
| Oct. 01 (Thursday) | Midterm Exam 1 | |
| Oct. 06 (Tuesday) | Optimizing GPU Kernels | [Reading1], [Reading2] |
| Oct. 08 (Thursday) | Compilers and MLIR | [Reading1], [Reading2] |
| Oct. 13 (Tuesday) | No Class — Fall Break | |
| Oct. 15 (Thursday) | LLM Inference Systems | |
| Oct. 20 (Tuesday) | Final Project Pitch Presentations | |
| Oct. 22 (Thursday) | Speculative Decoding | [Reading1], [Reading2] |
| Oct. 27 (Tuesday) | Attention Approximation | [Reading1], [Reading2] |
| Oct. 29 (Thursday) | Long Context Optimizations | [Reading1], [Reading2] |
| Nov. 03 (Tuesday) | Quantization | [Reading1], [Reading2] |
| Nov. 05 (Thursday) | KV Cache Compression I | [Reading1], [Reading2] |
| Nov. 10 (Tuesday) | KV Cache Compression II | [Reading1], [Reading2] |
| Nov. 12 (Thursday) | Mixture-of-Experts Inference | [Reading1], [Reading2] |
| Nov. 17 (Tuesday) | Midterm Exam 2 | |
| Nov. 19 (Thursday) | Reliable LLM Training | [Reading1], [Reading2] |
| Nov. 24 (Tuesday) | Reliable LLM Inference | [Reading1], [Reading2] |
| Nov. 26 (Thursday) | No Class — Thanksgiving Recess | |
| Dec. 01 (Tuesday) | Emerging AI Chips | [Reading1], [Reading2] |
| Dec. 03 (Thursday) | Final Project Presentations | |
| Dec. 08 (Tuesday) | Final Project Presentations | |
| Dec. 10 (Thursday) | Final Project Presentations | |
| Dec. 17 (Thursday) | Final Project Due | |
Note: Classes with papers listed in the Readings column include student paper presentations and require a paper reading report. Specific presentation assignments will be determined after the semester begins through a student sign-up process.
All students are expected to adhere to the University of Maryland’s standards of academic integrity. Academic dishonesty, including cheating, plagiarism, fabrication, and facilitation, is a violation of university policy and may result in disciplinary action. Students are responsible for understanding and following the UMD Academic Code of Conduct.
Collaboration. Discussion and collaboration with classmates are encouraged, particularly when reading papers and exploring course topics during lectures. However, paper readings, paper presentations, and midterm exams must be completed independently and reflect each student’s own understanding. Collaboration within your project team is only expected for the final project.
Use of Generative AI. Generative AI tools (e.g., ChatGPT and Claude) may be used as learning aids (e.g. to clarify concepts). However, submitted work must reflect your own understanding and intellectual contribution. Students must disclose substantive use of generative AI in submitted coursework and briefly describe how it was used. Generative AI tools are not permitted during midterm exams.
For each class with assigned readings, students should choose one of the two assigned papers and submit a one-page reading report. The report should briefly summarize the paper’s motivation, key ideas, main results, and your own thoughts or questions. The same set of assigned papers will also be used for the individual paper presentations described in the next section. Reports are due at 10:00 PM the day before class (Monday for Tuesday classes and Wednesday for Thursday classes). Each student may skip up to three reading reports without penalty. No make-up submission is required for skipped reports. Please note that reading report submission is only required for the lectures that are marked with assigned readings in the course schedule.
Each student will give one individual paper presentation on one of the assigned papers. Paper presentations will take place during the class meetings marked with assigned readings in the tentative course schedule. Specific presentation assignments will be determined after the semester begins through a student sign-up process. The presentation should be approximately 20 minutes, followed by a 5–7 minute Q&A session. Presentations will be evaluated based on technical understanding, clarity and organization, presentation quality, and Q&A performance. Audience feedback will also be collected and considered, particularly regarding the clarity and effectiveness of the presentation.
There will be two in-class written midterm exams. Midterm 1 primarily covers LLM training, while Midterm 2 primarily covers LLM inference. Both will also cover relevant HPC, GPU, and ML concepts. Both exams will be based on material covered in lectures and class discussions.
Students will work in groups of 2–3 on a course project related to systems for machine learning. Individual projects are allowed with instructor permission. Important project dates are listed in the tentative course schedule. Each group will give a Final Project Pitch Presentation during the semester to introduce the project motivation, proposed approach, and project plan. At the end of the semester, each group is expected to give a Final Project Presentation. The final deliverables include:
Some example project topics (including projects from past offerings) are:
Students are responsible for reviewing the University of Maryland’s Course-Related Policies and Resources, including policies regarding academic accommodations, excused absences, religious observances, academic integrity, and other course-related matters.
Powered by Jekyll and Minimal Light theme.