Course Instructor: Emil-Ioan Slusanschi Lecture Description: The Parallel Programming lecture is outlining a series of programming paradigms in the context of modern parallel computer architectures. First an overview of parallel programming models is given considering various programming models, issues such as productivity, performance, and portability and presenting a number of models for communication, synchronization, memory consistency and runtime systems. |
|
In this context, in the second part of the lecture, a series of parallel programming paradigms with shared (OpenMP, PThreads, Cilk, TBB, HPF, Chapel, Fortress, Stapl), and distributed memory (MPI, Charm++, Stapl), parallel global address shared space (UPC, X10) as well as other atypical paradigms (e.g. Linda, MapReduce, MATLAB DCE) are presented. External presentations from Industry and foreing lecturers alike on topics such as Many-core or GP-GPU programming are also typical during the Parallel Programming lecture. A basic understanding of computer architectures, operating systems, parallel and distributed algorithms and compilers is assumed. |