CS735/CS835
Introduction to Parallel Programming
Fall 1997


Instructor: P. Hatcher
Office: Kingsbury M208
Phone: 862-3778
E-mail: pjh@cs.unh.edu
Office Hours: MWF 9:00-10:00am, MWF 11:10-11:30am, or by appointment.

The prerequisites for this course are: CS610 and either CS611 or EE612; or, consent of the instructor. Familiarity with C or C++ is also expected.

This course will explore different approaches to programming parallel computers, including threads programming, message-passing programming, and data-parallel programming. We will also study parallel computing hardware, performance evaluation of parallel programs, and the debugging of parallel programs. We will investigate parallel programs for applications such as matrix multiplication, solving linear systems, sorting, image processing, and combinatorial search.

Grading

The course requirements and the grading weights are as follows:

The programming assignments and due dates are:

Programming assignments may be handed in late at a penalty of 5% per day up to one week late. A program is not considered late unless turned in after 8am on the day after the due date.

The literature survey will involve the reading of an article (or collection of articles) from the current literature. Students will write a short (5 pages maximum) summary and analysis paper. You should choose your topic by October 10. There will be an initial submission of your survey on November 3. After responding to my feedback on your initial submission, a final submission will be made on December 8.

More information about the literature survey assignment is available here.

The final exam will be held during finals week: 1-3pm, Wednesday, December 17. The final exam will be comprehensive.

Warning: Students are expected to do their own work on all course assignments and examinations.

Textbooks

There is no required textbook for this course.

On reserve in the Kingsbury library:

Computer Accounts

{christa,hopper,alberti}.unh.edu and agate.cs.unh.edu are the primary computing resources for this course. All these machines are multiprocessor machines. Graduate students should already have accounts on all these machines. Undergraduate students should already have accounts on hopper, christa and alberti. Undergraduate students will be given special access to agate for this course.

We will also be utilizing an experimental cluster (the Galaxy cluster) of Linux machines designed for parallel processing. Details on how to access these machines will be provided later.


Last modified on November 23, 1997.

Comments and questions should be directed to pjh@cs.unh.edu