Instructor: P. Hatcher
Office: Kingsbury M204
Phone: 862-2678
E-mail: pjh@cs.unh.edu
Office Hours: MWF 12:30-2:00pm, W 5:00-6:00pm
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.
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.
Details concerning the programming assignments are available here.
The literature survey will involve the reading of an article (or collection of articles) from the current literature. Students will write a short (3 pages maximum) summary and analysis paper. You should choose your topic by October 7. There will be an initial submission of your survey on October 28. After responding to my feedback on your initial submission, a final submission will be made on November 25. It is recommended that students tie their literature survey to their programming project.
More information about the literature survey assignment is available here.
The programming project will be self-designed (within constraints) and would normally be centered on the writing of a parallel program. The project will have three graded submissions: a detailed project plan (due Oct 7), a coding checkpoint (due Nov 11) and the final submission (due Dec 9).
A list of suggestions for projects and project requirement details are provided here.
The final exam will be held during finals week: 10:30am-12:30pm, Friday, December 20. The final exam will be comprehensive.
Warning: Students are expected to do their own work on all course assignments and examinations.
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.
Comments and questions should be directed to pjh@cs.unh.edu