- Instructor: Dr. Howard E. Motteler
- Class Time: MW 4:00-5:15, MP 105
- Office Hours: MW 5:30-6:30 and by appointment
- office: Physics 428
- phone: 410 455 1936
- e-mail: motteler@umbc.edu
- Course webpage:
http://www.umbc.edu/~motteler/parpro
- Text: Parallel Programming: Techniques and Applications
Using Networked Workstations and Parallel Computers,
second edition, Wilkinson and Allen, Prentice Hall, 2004
The goal of the course is to introduce students to parallel
and distributed processing, including both theory and hands-on
experience with state-of-the-art hardware. The prerequisite is
undergraduate operating systems. Due to the importance of matrix
operations in parallel processing, undergraduate linear algebra is
strongly recommended. If you are not sure about your background,
ask.
The course will for the most part follow the text, with some outside
material added on architecture, languages for parallel processing,
and systems administration. The topics to be covered are:
- An overview of parallel computing
- Languages and programming environments
- 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.
- Algorithms and applications
Material from the section on algorithms and applications will be
interspersed with the topics above. This material includes matrix
multiplication, solving systems of equations, matrix iterative
methods, sorting and searching, image processing, and
optimization.
There will be regular problem sets, three or four projects, a
midterm, a final exam, and a short review or survey paper assigned.
Many students find the projects are the most difficult part of the
course. Students may propose their own projects, if a detailed
description and design sketch is first submitted, but ask beforehand
about this. Coursework is divided up as follows.
projects | 40% | 200 points |
midterm exam | 20% | 100 points |
final exam | 20% | 100 points |
homework | 20% | 100 points |
------------- | ----- | ----------- |
total | 100% | 500 points |
I don't grade on a curve, and try instead to rely on experience and
student feedback to balance the workload as the course proceeds. I
will use the following break points: 85%=425 points gets you an "A",
70%=350 points a "B", 55%=275 a "C", and so on. All points have the
same value, so an exam point is worth the same as a project, paper,
or homework point; that way you can always add up your points to
date and know how you are doing. The 483 and 691p students will
cover the same material but students enrolled for 483 get 50 extra
points added to whatever their total would be otherwise, just for
showing up.
The course webpage is at
http://www.umbc.edu/~motteler/parpro. This has more detailed
information and other course resources, and is updated regularly
with class announcements, projects, assignments, current readings,
and examples.
|
|