Computer Science 110 or 223, and Computer Science 300 or 225, or advanced programming experience. Almassi-Gottlieb, Highly Parallel Computing, 2nd edition, Benjamin Cummings, 1994. Kumar, Grama, Gupta, and Karypis, Introduction to Parallel Computing, Benjamin Cummings, 1994. Ian Foster, Design and Building of Parallel Programs, Addison Wesley. Implementation of parallel algorithms on one or more classes of parallel computers.
Emphasis is on numerical algorithms.
16 hours Cost models and efficiency analysis of parallel programs 3 hours Parallel programming issues Locality, grain size, scheduling, load balancing, data distribution and alignment, communication analysis, synchronous programming, determinacy and nondeterminacy. 4 hours Case studies Simple case studies from application areas such as computational fluid dynamincs, computational biology, and operations research.