This class will cover the principles and practices of domain-specific programming models and compilers for dense and sparse applications in scientific computing, data science, and machine learning. We will study programming models from the recent literature, categorize them, and discuss their properties. We will also discuss promising directions for their compilation, including the separation of algorithm, schedule, and data representation, polyhedral compilation versus rewrite rules, and sparse iteration theory. Prerequisites: CS143 or equivalent
Professor: Fred Kjolstad
CA: AJ Root
Quarter: Winter 2023
Lecture Times: Tue, Thu 9:30 AM - 11:00 AM
Lecture Location: Hewlett Teaching Center Rm 101
Date | Topic | Readings | |
---|---|---|---|
Lecture 1 | January 10 | Introduction | |
Lecture 2 | January 12 | Domain-Specific Compilers | |
Lecture 3 | January 17 | Building DSLs | |
Lecture 4 | January 19 | Collection-Oriented Languages | |
Lecture 5 | January 24 | Dense Programming System | |
Lecture 6 | January 26 | Sparse Programming System | |
Lecture 7 | January 31 | Sparse Iteration Model I | |
Lecture 8 | February 2 | Sparse Iteration Model II | |
Lecture 9 | February 7 | Project Pitch | |
Lecture 10 | February 9 | Fast Compilers | |
Lecture 11 | February 14 | Project Discussion I | |
Lecture 12 | February 16 | Project Discussion II | |
Lecture 13 | February 21 | Interactive Scheduling (AJ Root) | |
Lecture 14 | February 23 | Systolic Architecture and Compiler Optimizations for AWS Inferentia (Sheng Xu and Randy Huang) | |
Lecture 15 | February 28 | Domain-Specific Accelerators | |
Lecture 16 | March 2 | Parallel Computing and its Applications | |
Lecture 17 | March 7 | Notation (Pat Hanrahan) | |
Lecture 18 | March 9 | Synthesis (Shoaib Kamil) | |
Lecture 19 | March 14 | Project demo | |
Lecture 20 | March 16 | Project demo |