CS343D: Domain-Specific Programming Models and Compilers

Home Course Info Prior Offerings

Course Description

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

Basic Logistics

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.

Schedule

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