CS343D: Domain-Specific Programming Models and Compilers

Current Offering

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 2023

Lecture Times: Tue, Thu 9:30 AM - 11:00 AM

Lecture Location: Hewlett Teaching Center Rm 101

Schedule

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