We will focus on the use of multiple processors cooperating to solve a common task. We will study issues related to this general problem in the areas of
The course will involve programming clusters of workstations connected by high-speed networks currently at the University of Chicago.
Students will implement basic algorithms, including both non-numerical algorithms (e.g., sorting) and numerical algorithms (e.g., Gaussian elimination). There will also be written assignments emphasizing the fundamental concepts of parallel computing.
The course will focus on the state of the art in parallel algorithms for scientific computing. Some topics will be chosen based on the interests of the students in the class. Students with experience in scientific computing in their own discipline will benefit from the class, as well as computer science graduate students. General principles of parallel computing will be emphasized.