MCS 572 Introduction to Supercomputing, Spring 2006
This course will meet every Monday, Wednesday, and Friday
from 1 to 1:50PM in room 311 in Addams Hall,
from Monday 9 January to Friday 28 April 2006.
Prerequisites: MCS 471 or MCS 571 or consent of the instructor.
Motivation
The demand for computational power remains increasing, especially as most
interesting applications have either an exponential complexity, or must be
completed within a relatively short time period (e.g. weather prediction).
The speed of single processors increases much more slowly as in the past.
Fortunately, multi-processor computers and clusters of computers have become
much more widespread and more accessible to common usage. To meet the
increasing demands for computational power, we will learn how to design,
implement, and apply parallel algorithms to scientific problems.
Outline of the Course
The textbook we will use is
"Parallel Programming. Techniques
and Applications Using Networked Workstations and Parallel
Computers"
by Barry Wilkinson and Michael Allen, Pearson Prentice Hall,
second edition, 2005.
The table of contents is
- Part I Basic Techniques
- Parallel Computers
- Message-Passing Computing
- Embarrassingly Parallel Computations
- Partitioning and Divide-and-Conquer Strategies
- Pipelined Computations
- Synchronous Computations
- Load Balancing and Termination Detection
- Programming with Shared Memory
- Distributed Shared Memory Systems and Programming
- Part II Algorithms and Applications
- Sorting Algorithms
- Numerical Algorithms
- Image Processing
- Searching and Optimization
Computer Projects
Several computer projects will be assigned during the semester.
We will run programs on a local personal cluster of
Rocketcalc
(12 2.4Ghz nodes) and UIC's supercomputer
argo.
A course account on
NCSA
machines has been granted. The supercomputer we will use is
copper.
Follow the link to
the pdf file of tentative outline of topics.
Click on the "Notes" at the left of this page,
or following the link through Notes
to see a lecture-by-lecture summary of contents, with listings
of programs discussed in class.
Link to the last time the course was offered by Professor Floyd Hanson:
MCS 572 Introduction to Supercomputing, Spring 2003