Date: Wed, 20 Nov 1996 22:28:53 GMT
Server: NCSA/1.5.1
Last-modified: Wed, 17 Apr 1996 19:35:09 GMT
Content-type: text/html
Content-length: 4491
Parallel Computation
Introduction to Parallel Computation (4 cr.) -- Sprint 1996
- Lecture
- 4:00P-5:15P MW
Contents
General Information
- Instructor
-
Dennis Gannon, email: gannon.cs.indiana.edu
- Associate Instructor
-
Vladimir Menkov, email: vmenkov.cs.indiana.edu
Office Hours
To be Anounced.
Course Description
This is a course about parallel and distributed computing.
Our approach will be based on an object oriented model of parallel
computation. We will begin with basic parallel machine and algorithm
analysis. Then we will move quickly into implementing these algorithms
in an experimental library for parallel program design, called HPC++.
We will be involved with the implementation of this library, so students
will all be required to have an extensive background in C++.
We will develop the HPC++ library as we go along this semester.
Topics include:
- Basic theoretical background of parallel algorithm design.
- Parallel programming on distributed memory multicomputers.
- Parallelism and shared memory multiprocessors.
- Parallel Object Oriented Computing.
- Parallel Programming Languages and Libraries - HPC++, MPI, HPF.
- Distributed Computing: CORBA and Nexus.
- Compilation technology for automatic parallelization.
- Performance Analysis Tools.
Course Materials
- Text
- Ian Foster Designing and Building Parallel Programs
Adison Wesley. 1995 (see here
for the electronic version of the text.
- Recommended
- Kumar, Grama, Gupta and Karypis Introduction to Parallel
Computing: Design and Analysis of Algorithms Benjamin, 1994
Syllabus
Week 1 Parallel computer designs and models.
Week 2 C++: an "advanced review". HPC++ design.
Week 3 Algorithms: parallel iteration, reduction and prefix.
Week 4 Relaxation algorithms and simple linear systems.
Week 4 Divide and conquer: searching and sorting.
Week 5 Transforms.
Week 6 MPI
Week 7 SP2 systems programming.
Week 8 HPF
Week 11 Distributed Computing: CORBA
Week 13 Distributed Computing: Nexus
Week 14 Compiler analysis.
Week 15 Parallelizing program transformations
Assignments
Assignments will be given each week. Normally these will be due the
following week. Some of the assignments will be large programming
projects which will be given longer periods of time.
Communication
The course newsgroup, ac.csci.c690g, will be
used to post announcements, such as assignments, exams, and any exceptions
to our usual office hours. You are also encouraged to use it to post
questions related to the course or share related information with the
class. Make a habit of looking for new notes a few times each week.
On individual matters, please feel free to contact your instructor or
associate instructor via email.
Evaluation
- 50% -- Homework
- 50% -- Final Exam (take home),
Policies
Incomplete grade
An incomplete (I) final grade will be given only by prior arrangement in
exceptional circumstances conforming to university and departmental policy
in which the bulk of course work has been completed in passing fashion.