CSC 491, Parallel Computing
Autumn semester, 2004
Syllabus
This course is a practically oriented introduction to
using parallel computers. We start with an overview of
parallel computing and study the problem of program efficiency on
parallel computers.
Then we introduce the two major programming paradigms:
shared memory and message passing.
The last third of the course will focus on applications
of parallel computing in the sciences.
Lecture: Tuesday and Thursday,
8:00-9:20 in SE 227.
(At student request, the class time might be changed.)
Instructor: Brett van de Sande,
Office hours: By appointment.
Prerequisites: Mat 162 and 3 credits of Computer Science.
Textbook:
Barry Wilkinson and Michael Allen, Parallel Programming:
Techniques and Applications Using Networked Workstations and
Parallel Computers, Prentice Hall; 1st edition (August 12, 1998).
The computer: We will be using the
8-node Beowulf cluster
located in SE 227.
Grading:
There will be a series of homework assginments
(a mixture of reading and short programming problems) during
the first 2/3 of the semester.
There will be a final project where students learn to install
and use a parallel program important for one of the
sciences (biology, chemistry, physics, math, etc.).
For computer science majors, the final project will
be to write an application program.
Homeworks | 60% |
Project | 25% |
Final exam | 15% |
This is subject to change.
Other interesting textbooks for parallel programming include:
- Peter Pacheco, Parallel Programming with MPI,
Morgan Kaufman, Publisher.
- William Gropp, et al, Using MPI - 2nd Edition: Portable
Parallel Programming with the Message Passing Interface
(Scientific and Engineering Computation) ,
MIT Press; 2nd edition (November 26, 1999).
- Leighton, An Introduction to Parallel Algorithms and
Architectures: Arrays, Trees, Hypercubes, Morgan Kaufmann (1991).
Courses for parallel computing
- Intro. to High Performance Computing
Calvin College, Joel Adams, rough outline. Text:
- Parallel Programming with MPI, Pacheco.
- An Introduction to Parallel Algorithms & Architectures, Leighton.
- Parallel Machines and Their Algorithms
Wellesley with schedule, more math-like. Text:
- Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers by Barry Wilkinson and Michael Allen
- A User's Guide to MPI by Peter S. Pacheco (in PDF)
- Parallel Computing
U North Carlolina, Wilkinson, with lecture notes and assignments
and tests. You can guess what textbook they use.
- Parallel Computing
Haverford with outline. Text: also Wilkinson, B., and Allen.
- Parallel and Distributed Computing
Georgia State upper level undergrad, lots of material but
no course outline. Text: also Wilkinson, B., and Allen.
- Introduction to Parallel Computing
SDSC Truely intro, detailed lectures. No real textbook.
- Parallel Computing
Dartmouth undergraduated course, rough outline. Text
is "experimental."
- HIGH PERFORMANCE COMPUTING ****nice****
lsu
- Parallel Computing for Engineers and Scientists
psu
- Cluster and Grid Computing
australia undergrad/grad course with lecture notes on line, and
paper
- Parallel and Distributed Computation
uky
- High Performance Cluster Computing
duke
- Scientific Computing
denmark
- Parallel Systems
anu
- High Performance Computing
syllabus
see also
ececs
- Cluster Computing
wvu
- Parallel and Distributed Computation
wwc
- Topics in Computer Systems: Cluster Computing and the Grid ***
Santa Cruz
- Computational Science
University of South Carolina undergraduate with lecture notes.
Texts:
- Foster, Designing and Building Parallel Programs, Addison Wesley, 1995.
- Gropp, Lusk, Skjellum, Using MPI, MIT Press, 1994.
- Understanding Parallel Architectures
Jack Dongarra, Knoxville grad course, notes available.
- Parallel Computer Architectures
mtu
- Introduction to High Performance Computing
tec
- Topics in Scientific Computation and Visualization Technique
neu
- ???
uchicago
- High Performance Parallel Computing
manchester, UK
Courses in Computational Molecular Biology
Chemistry