CS525: Parallel Computing
Tu, Th, CS G66
Ananth Grama
164D, Computer Science Building , 494 6964
ayg@cs.purdue.edu
http://www.cs.purdue.edu/people/ayg
Office Hours: Wed 1:00 - 3:00 PM.
(Office hours can also be arranged by appointment).
Teaching Assistant: TBA
These grades have been computed based on 40% for 4 homeworks, 10% for
the project, 20% for the midterm, and 30% for the final.
Colombo Clause: (Restated without permission of accomplished UI Law
Educator John Colombo)
If you want to discuss your exam, you will need to
make an appointment with me (e-mail is best to arrange this).
At this point, the final exam and project grades are the only grades
open to discussion. Please do not come to me for regrades on your
homeworks or midterms. If you are coming in to argue about the two
points you need to get you from a B to an A, please save your
breath. While I sympathize with those who fall just under the cutoffs,
it is the nature of the system we work in. There will always be
someone just under the cutoff. I gave grading the best shot I
could give it.
CS525, Parallel Computing deals with emerging trends in the use of large scale
computing platforms ranging from tightly coupled SMPs and message passing
parallel computers to loosely connected clusters and multiclusters. The
course consists of four major parts:
-
Parallel computing platforms: This part of the class outlines parallel
computing hardware. Topics covered include processor and memory architectures,
SMP and message passing hardware, interconnection networks, network hardware,
and evaluation metrics for architectures. Cost models for communication are
also developed.
-
Parallel Algorithms: Starting from design principles for parallel algorithms,
this part develops parallel algorithms for a variety of problems. Various
metrics for evaluating these algorithms are also discussed.
-
Parallel Programming: Programming models and language support for programming
parallel platforms is discussed in this part. Message passing using MPI,
thread-based programming using POSIX threads, and directive-based programming
using OpenMP will be discussed. In addition, CORBA, Java RMI, NI, and threads
will also be covered. System software issues relating to threads and
distributed object systems will be studied.
-
Applications: A variety of parallel applications from diverse domains such
as data analysis, graphics and visualization, particle dynamics, and
discrete event and direct numerical simulations will be discussed.
Remember: Midterm on Thursday, Apr 8, 1999
Grading Policies:
The grade for this class will be determined by performance on midterms,
finals and homeworks/projects. The precise breakup of grades will be
announced soon.
Assignments:
Assignment 1, Due Feb 16 1999
Assignment 2, Due Mar 04 1999
Assignment 3, Due Mar 23 1999
Assignment 4, Due Apr 15 1999
Study Material:
Midterm 1, 1997
Midterm 2, 1997
Final, 1997
Midterm 1l, 1998
Final, 1998
Notes and Study Material:
In addition to handouts and other online material, the course will use
the following texts:
Other Useful Links: