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: Caleb Donovick
Lecture Times: Tue, Thu 9:45 AM - 11:15 AM
Lecture Location: Sequoia Hall 200
Date | Topic | Readings | |
---|---|---|---|
Lecture 1 | September 21 | Introduction | |
Lecture 2 | September 23 | Domain-Specific Compilers | |
Lecture 3 | September 28 | Building DSLs I | |
Lecture 4 | September 30 | Collection-Oriented Languages | |
Lecture 5 | October 5 | Dense Programming Systems | |
Lecture 6 | October 7 | Sparse Programming Systems | |
Lecture 7 | October 12 | Sparse Iteration Model I | |
Lecture 8 | October 14 | Sparse Iteration Model II | |
Lecture 9 | October 19 | Project Pitch | |
Lecture 10 | October 21 | Building DSLs in Python (Caleb Donovick) |
|
Lecture 11 | October 26 | Project Discussion I | |
Lecture 12 | October 28 | Project Discussion II | |
November 2 | Democracy Day (no classes) | ||
Lecture 13 | November 4 | Building DSLs II (Pat Hanrahan) |
|
Lecture 14 | November 9 | Guest speaker: Towards Automated Construction of Compiler Optimizations (Charith Mendis) | |
Lecture 15 | November 11 | Notation (Pat Hanrahan) | |
Lecture 16 | November 16 | Guest speaker: Mehdi Amini on MLIR |
|
Lecture 17 | November 18 | Fast Compilers | |
November 23 | Thanksgiving Break (no classes) | ||
November 25 | Thanksgiving Break (no classes) | ||
Lecture 18 | November 30 | Project demo | |
Lecture 19 | December 3 | Project demo |