CS 496/596 Applied Parallel Computing

The course will provide an introduction to the solution of computational problems on parallel computers. Among the topics we will discuss are processor organizations, models of parallel computation, Parallel programming languages, elementary parallel computations such as reduction and prefix operations, solving linear systems of equations in parallel, parallel sorting, etc. Students will be required to write parallel programs for some of the problems we study using the MPI (Message Passing Interface) on workstation clusters and available paralell computers. We will also consider the visualization of the computed solutions, and the measurement of computer and algorithm performance using the MPE extensions to the MPI library. The emphasis of the course will be on computational aspects.

It is open to undergraduates (senior level) and graduate students. The intended audience includes both CS students, and students from engineering and science departments with computational aptitude and prior programming experience.

Prerequisites

Students will be expected to have knowledge of algorithms and data structures, and linear algebra at an undergraduate level. Students are expected to be proficient in either FORTRAN or C, the major languages of scientific computing, and to be familiar with the Unix environment.

References

The textbooks for the course are ``Parallel Computing: Theory and Practice'' by Michael J. Quinn, McGraw-Hill Publishing Company, 1994 (ISBN 0-07-051294-9), and ``Using MPI: An Introduction to a Portable Parallel Porgramming Library'', by William Gropp et al., MIT Press, 1994.


wahab@duke.ncsl.nist.gov
Tue Apr 23 10:50:19 EDT 1996