Topics and schedule:
Aug
31 Course introduction
Knights landing
Bit Twiddling Hacks
Hackers Delight
September
5 Autotuning: ATLAS and BLAS generation (Pingali)
Link to ATLAS
Is Search Really Necessary to Generate High-Performance BLAS?
Slides
7 Capri: Proactive Control of Approximate Programs (Pingali)
Program synthesis from algorithmic specifications
12 FFTW (link to the site): The Design and Implementation of FFTW3
(Yongkee Kwon)
14 Spiral (link to the site): SPIRAL: Code Generation for DSP Transforms
(Michael He)
19 Prefix-scan on GPUs (Michael He)
21 Tensor contraction engine (link to the site):
Synthesis of High-Performance Parallel Programs for a Class of Ab Initio Quantum Chemistry Models
(Ian Hendrickson)
26 Stencil compilers: Pochoir The Pochoir Stencil Compiler
(Sepideh Maleki)
28 Operator formulation of algorithms: The Tao of Parallelism in Algorithms (Pingali)
October
3 Elixir:
Elixir: A System for Synthesizing Concurrent Graph Programs
Synthesizing Parallel Graph Programs via Automated Planning
The dissertation: Elixir: Synthesis of Parallel Irregular Algorithms
(Ian Hendrickson)
Program synthesis from incomplete programs
5 SAT and SMT solvers: Lecture 3 and 4 from http://www.cs.utexas.edu/~isil/cs389L/
(Esha Chokse)
10 Super-optimizer: Denali
The first superoptimizer paper: Superoptimizer -- A Look at the Smallest Program
Preliminary report: Denali: A Goal-directed Superoptimizer
Denali-2 superoptimizer: Denali: A Practical Algorithm for Generating Optimal Code
(Sepideh Maleki)
12 Sketching for finite programs: Combinatorial Sketching for Finite Programs
(Ahmet Celik)
17 Sketching for stencils: Sketching Stencils
(Joshua Landgraf)
19 Sketching concurrent data structures: Sketching Concurrent Data Structures
(Ahmet Celik)
24 QBF (Yan Pei) and project discussion
26 Optimizing synthesis with metasketches: Optimizing Synthesis with Metasketches
(Shikhar Singh)
Programming by example
31 Automating string processing in spreadsheets using input-output examples
(Pengyu Nie)
November
2 Spreadsheet table transformations from examples
(Pengyu Nie)
7 Flashextract: a framework for data extraction by examples
(Shikhar Singh)
9 Synthesizing data structure transformations from input-output examples
(Yan Pei)
14 Synthesizing transformations on hierarchically structured data
(Yan Pei)
Informal specifications to programs
16 Course project progress report (10min)
21 SQLizer: query synthesis from natural language
(Joshua Landgraf)
23 Thanksgiving
28 Program synthesis using natural language
(Yongkee Kwon)
30 Kalman Filter (Yan Pei)
Submit version
Complete version
December
5 Superoptimizor (Shikhar)
7
Course project important dates:
Oct 27th, choose an idea
Nov 14th, short 1-page progress report
Nov 16th, in-class presentation
Dec 11th (Monday), project presentation (25min)
Dec 12th (Tuesday) noon, 10-page paper