CS595:
Advanced Scientific Computing (Fall, 2008)
Wedn. 6:25-9:05pm, SB 106
Instructor: Hong Zhang,
Research Professor, Department of Computer Science, IIT.
Email:
hzhang@mcs.anl.gov
Web Page: www.mcs.anl.gov/~hzhang/teach/cs595
Office Hours and Location:
Wedn. 3:30 -
5:30pm, SB229C
Course Description:
This course is designed for graduate and upper-level undergraduate students
in the fields of science and engineering.
The objective is to introduce the
essential analytic and algorithmic ideas, as well as
broaden understanding and gain experience on advanced scientific
computing.
The course contains following subjects:
- Overview of parallel computing.
- Parallel and distributed numerical computation.
- Numerical iterative techniques for solving large sparse systems,
the error analysis and control.
- Numerical software design, analysis, implementation and
performance evaluation, including discussions
on the object-oriented programming techniques.
Students are expected to gain hands-on numerical programming experience
on state-of-the-art parallel computers. By the end of the course,
students are required to
apply the theories and techniques
learned in the class to projects
either in their own field (particularly encouraged)
or projects suggested by the instructor. Successful course project may
lead to
summer internship at the Argonne National Laboratory.
Selected examples of student project (Spring, 2006):
- "Build a Low Cost Parallel Computing Cluster", N. Johnston and M. McCourt
- "Parallel Multigrid Poisson Solver for Applications in Fluid Dynamics and High Energy Physics", M. Boghosian
- "Parallelization of a Flow in a Driven Cavity", V. Joshi
- "Performance Evaluation of Sparse and Dense Solvers for Nano-Material Simulation on an IBM Cluster", M. Ali
- "Build an Interface for SPRNG based on PETSc", X. Zeng
Prerequisites:
Advanced calculus, linear algebra, background on numerical
computing.
Programming skill.
Grading: Homework: 30%, Class
participation: 20%, Final project: 50%.
References:
- Introduction to Parallel Computing: Design and Analysis of
Algorithms, by Vipin Kuman, Ananth Grama, Anshul Gupta, and George
Karypis,
2nd Ed., 2003.
- Numerical Linear Algebra, by Lloyd N. Trefethen and David Bau,
III, SIAM ISBN 0-89871-361-7
- Iterative Methods for Sparse Linear Systems, by Yousef Saad
- Advances in Software Tools for Scientific Computing, by M.
Griebel et al.
- Using MPI: Portable Parallel Programming with the Message-Passing
Interface,
by W. Gropp, E. Lusk, and A. Skjellum.
- PETSc Users Manual, ANL-95/11 - Revision 2.3.3, Argonne
National Laboratory, 2007, by S. Balay
et al.
Lecture Notes and Assignments: blackboard.iit.edu
Course Project: