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 2024
Lecture Times: Tue, Thu 10:30 AM - 11:50 AM
Lecture Location: Littlefield 107
Fred's office hours: Friday 11-12noon in Gates 486 (10-11am on Jan 12th)
AJ's office hours: Wednesday 3-4pm in Gates 4B common area
For more detail see the course info page.
Date | Topic | Readings | |
---|---|---|---|
Lecture 1 | January 9 | Introduction | |
Lecture 2 | January 11 | Domain-Specific Compilers | |
Lecture 3 | January 16 | Building DSLs | |
Lecture 4 | January 18 | Collection-Oriented Languages | |
Lecture 5 | January 23 | Dense Programming System | |
Lecture 6 | January 25 | Sparse Programming Systems | |
Lecture 7 | January 30 | Sparse Iteration Model I | |
Lecture 8 | February 1 | Sparse Iteration Model II | |
Lecture 9 | February 6 | Project Pitch | |
Lecture 10 | February 8 | Fast Compilers | |
Lecture 11 | February 13 | Project Discussion I | |
Lecture 12 | February 15 | Project Discussion II | |
Lecture 13 | February 20 | Performance vs. Correctness When Writing Low-Level HPC Code (Gilbert Bernstein) | |
Lecture 14 | February 22 | Codesigning Computing Systems for Artificial Intelligence (Suvinay Subramanian) | |
Lecture 15 | February 27 | Domain-Specific Accelerators | |
Lecture 16 | February 29 | Sparse Shape Operators (AJ) | |
Lecture 17 | March 5 | Automatic Scheduling (AJ) | |
Lecture 18 | March 7 | Notation (Pat Hanrahan) | |
Lecture 19 | March 12 | Project demo | |
Lecture 20 | March 14 | Project demo |