Course description |
|
CS529 provides to early-stage and advanced graduate
students a comprehensive coverage of patterns, models, and languages
for programming chip multiprocessors. The
course explores high-productivity programming models that help
make parallel programming a ubiquitous programming methodology for computing
devices and one that can assist the development of
applications of significant market value or societal interest. Parallel computing, once an exotic
concept of limited commercial value, is now an essential
component of information technology, while parallel programming lies on
the critical path of any attempt to sustain advances in computing
and make computing devices faster, more resilient, and more energy-efficient.
As such, CS529 puts parallel programming in a new context compared to
traditional parallel computing courses emphasizing high-performance computing systems, and attempts to answer questions such as:
| |
| The course features lectures, reading and discussion of technical papers, two take-home exams, and three significant programming projects of increasing difficulty. The research project is carried in teams of three and its purpose is to port non-trivial parallel algorithms using three programming models (this year these will be OpenMP, Cilk and SMPSs) on real multi-core hardware. Evaluation is based on take-home exams, programming assignments, paper presentations and class discussions, where participation through meaningful questions and remarks is essential. A tentative distribution of the class grade is 60% for programming projects 10% for class participation and 30% for the take-home exams. | |
Tentative list of course topics | |
|
|
Logistics | |
| Students should subscribe as soon as possible to the course mailing list (hy529-list) and visit this website regularly for updates. Students should
form groups in the first or second week of
classes. The first project will be assigned in the second week of classes.
|
|
| © copyright Dimitrios S. Nikolopoulos. Last modification: , by dsn. | |