CS 653: Class Schedule (Spring 2008)

This semester we will be reading papers about various programming models, and the impact of such programming models on application development and compiler development. A good introduction to this topic and the first paper we will be reading is The Landscape of Parallel Computing Research: A View from Berkeley. There is an associated wiki.

An outline of the class schedule is shown below. We will be focusing on the following questions:

As part of your class participation, please select 7 papers with the keyword "Programming Model", 2 papers with the keyword "auto-tuner", 2 papers with the keyword "Program Analysis and Representation", and 2 papers with the keyword "Code Generation and Optimization" from this bibtex file by January 30th. I will use the class selections to set up the course schedule.

Downloading some of the papers must be done from the csu domain.

Date Topic Paper Student Due
Jan 23 (W) Introduction How to Read an Engineering Research Paper and Basic Research Skills in Computer Science    Paper critique (for remaining weeks, there is a paper critique due once a week, either before Monday's class or before Wednesday's class)
Jan 28 (M) Parallel Programming Models The Landscape of Parallel Computing Research: A View from Berkeley. There is an associated wiki.    
Programm Models
Jan 30 (W) MapReduce Programming Model MapReduce: Simplified Data Processing on Large Clusters by Dean and Ghemawat, Can Your Language Do This?, Google: MapReduce in a Week   Have shown a preference (in email) for papers from categories.
Feb 4 (M) Programming for Parallelism Parallel Programmability and the Chapel Language by B.L. Chamberlain and D. Callahan and H.P. Zima. Also read The Next Mainstream Programming Language: A Game Developer's Perspective by Tim Sweeney.    
Feb 6 (W) Dataflow model The Sisal Model of Functional Programming and its Implementation by Gaudiot et al.   Have agreed with instructor on an open paper for presentation to the class.
Feb 11 (M) Writing a Project Proposal (slides) How to Write a Master's Thesis in Computer Science   Proposed tool example, preliminary project proposal
Feb 13 (W) Evaluating Productivity Parallel Programmer Productivity: A Case Study of Novice Parallel Programmers by Hochstein et al. open  
Feb 18 (M) Evaluating Productivity An Experiment in Measuring the Productivity of Three Parallel Programming Languages by Ebcioglu et al. open  
Feb 20 (W) Extending Java for Parallelism Titanium: a high-performance Java dialect by Yelick et al. Tomofumi  
Feb 25 (M) Data Parallel Model The high-level parallel language ZPL improves productivity and performance by Chamberlain et al.   Project proposal, tool example
Feb 27 (W) Transaction Memory Language support for lightweight transactions by Harris and Frasier open  
Mar 3 (M) X10 X10: an object-oriented approach to non-uniform cluster computing by Charles et al. Alan  
Applications
Mar 5 (W) Unstructured Meshes Improving the computational intensity of unstructured mesh applications by White et al. Dave  
March 10 (M) How to give a talk  Blue matter: approaching the limits of concurrency for classical molecular dynamics by Fitch et al.   Mini research exam proposal
March 12 (W) Out-of-town for a conference
Mar 17 (M) Spring Break
Mar 19 (W) Spring Break
March 24 (M) Sparse Matrix Optimizing Sparse Matrix-Vector Product Computations Using Unroll and Jam by Mellor and Garvin open  
March 26 (W) Project status reports     Verbal status report
Program Analysis and Representation
Mar 31 (M) Domain-Specific Program Analysis moved to next week
Apr 2 (W) Finishing the project (canceled due to DOE PI meeting) The Elevator Speech   Intermediate project report
April 7 (M) SSA Tree SSA - A New Optimization Infrastructure for GCC by Novillo, Design and Implementation of Tree SSA by Novillo, Efficiently Computing Static Single Assignment Form and the Control Dependence Graph by Cytron et al. Chris  
Code Generation and Optimization
April 9 (W) Polyhedral Model Code Generation in the Polyhedral Model Is Easier Than You Think by Bastoul, Generation of Efficient Nested Loops from Polyhedra by Quillere open  
April 10 (F) Domain-Specific Program Analysis Broadway: A Compiler for Exploiting the Domain-Specific Semantics of Software Libraries by Guyer and Lin Aritra  
April 14 (M) Optimizing Libraries Telescoping Languages: A System for Automatic Generation of Domain Languages by Kennedy et al. open  
Apr 16 (W) Auto-tuners Self Adapting Linear Algebra Algorithms and Software by Demmel et al.   Mini Research Exam writeups
Apr 21 (M) Two Mini Research exams     Mini-Research Exam
Apr 23 (W) Two Mini Research exams     Mini-Research Exam
April 28 (M) Superoptimizers Automatic generation of peephole superoptimizers by Bansal and Aiken open  
April 30 (W) Dynamic Optimization A Survey of Adaptive Optimization in Virtual Machines by Arnold et al. open  
May 5 (M) Irregular Computations Automatic support for irregular computations in a high-level languages by Su and Yelick open  
May 7 (W) Auto-tuners - FFTW The Design and Implementation of FFTW3 by Frigo   Elevator speeches and Final project report

Michelle Strout
Last modified: April 7, 2008