CS546 Parallel and Distributed Processing

Prerequisites

CS450 Operating Systems


Course Description

This course covers general issues of parallel processing, which include system, architectures, programming, performance evaluation, and applications. Approximately one third of the course will be devoted to basic concepts and techniques, and the remaining two third will be on programming (shared-memory programming, distributed memory programming, GPU programming) and assorted current topics in parallel computing. Several textbooks are recommended as the general guideline of the lecture. Both undergrads and grads are welcome to the class.

Course Materials

Textbook

A. Grama, V. Kumar et al.
Introduction to Parallel Computing
Addison Wesley, 2003. (highly recommended)

Gerassimos Barlas
Multicore and GPU Programming: An Integrated Approach
MOrgan Kaufmann, 2014. (highly recommended)

I. Foster
Design and Building Parallel Programs
Addison Wesley, 1995. (recommended)

W. Gropp
Using MPI: Portable Parallel Programming with the Message Passing Interface
MIT Press, 1994. (recommended)

David Kirk and Wen-Wei Hwu
Programming Massively Parallel Processors
Morgan Kaufmann (2nd Edition), 2012. (recommended)

Lectures

Grading: