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 | ||