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: Chris Gyurgyik
Quarter: Winter 2025
Lecture Times: Tue, Thu 10:30 AM - 11:50 AM
Lecture Location: Lathrop 299
Fred's office hours: Thu 3-4PM, CoDA E456
Chris's office hours: Fri 9-10AM, CoDA common area on 4th floor (by the red stairs in the middle)
For more detail see the course info page. (Note: this page is currently under construction for Winter 2025, lectures and lecture slides are subject to change.)
Date | Topic | Readings | |
---|---|---|---|
Lecture 1 | Jan 7 (Tue) | Introduction | |
Lecture 2 | Jan 9 (Thu) | Domain-Specific Compilers | |
Lecture 3 | Jan 14 (Tue) | Building DSLs | |
Lecture 4 | Jan 16 (Thu) | Collection-Oriented Languages | |
Lecture 5 | Jan 21 (Tue) | Dense Programming System | |
Lecture 6 | Jan 23 (Thu) | Sparse Programming Systems | |
Lecture 7 | Jan 28 (Tue) | Sparse Iteration Model I | |
Lecture 8 | Jan 30 (Thu) | Sparse Iteration Model II | |
Lecture 9 | Feb 4 (Tue) | Project Pitch | |
Lecture 10 | Feb 6 (Thu) | Fast Compilers | |
Lecture 11 | Feb 11 (Tue) | Project Discussion I | |
Lecture 12 | Feb 13 (Thu) | Project Discussion II | |
Lecture 13 | Feb 18 (Tue) | Pat Hanrahan: Notation | |
Lecture 14 | Feb 20 (Thu) | Christophe Gyurgyik: Compilers for ML | |
Lecture 15 | Feb 25 (Tue) | Alexander Root: Decoupling Algorithms from Accelerator Data Structures | |
Lecture 16 | Feb 27 (Thu) | Cliff Young (Google) | |
Lecture 17 | Mar 4 (Tue) | Bobby Yan: Natural Language Compilers | |
Lecture 18 | Mar 6 (Thu) | Yuka Ikarashi (MIT): Exocompilation | |
Lecture 19 | Mar 11 (Tue) | Project demo | |
Lecture 20 | Mar 13 (Thu) | Project demo |