U. of Delaware -- Dept. of Computer and Information Sciences

CISC 879 Parallel Computation -- Spring 2003 Syllabus

Meeting Time and Place

Thursdays 7-10pm, Smith 220

Prerequisites

There are no formal prerequisites. Programming experience in C, C++, or Fortran is expected. CISC 662 Computer Architecture is recommended. CISC 621 Computer Algorithms is recommended. Familiarity with a computational problem, on any subject, which would benefit from parallelization is useful but not required.

Required Textbook

Designing and Building Parallel Programs, by Ian Foster, Addison Wesley, 1995.

Other References

Using MPI: Portable Parallel Programming with the Message-Passing Interface, by W. Gropp, E. Lusk and A. Skjellum, MPI Press, 1999.

Parallel Programming with MPI, by Peter Pacheco, Morgan Kaufmann, 1997.

Computational Aspects of VLSI, by Jeffrey Ullman, Computer Science Press, 1984.

The High Performance Fortran Handbook, Koelbel et al, MIT Press, 1994.

This list will be expanded as the course progresses.

Course Objectives and Content

Study of algorithms and tools for high performance computation using many processors and memories. This course is a problem-driven study of techniques for parallel computation. Problems will be taken from the areas of interest of the course participants. Topics include: concurrency, program decomposition, data distribution, communication, load balancing, scalability, locality, granularity, debugging, and performance evaluation.

MPI programming on a cluster will be emphasized as the primary parallel programming paradigm. Other methodologies will also be studied. Application to matrix problems, for sparse and dense matrices, will be emphasized, since that is the area of research of the instructor. Other interests of participants may also be addressed such as grid based problems or particle problems.

Course Requirements and Grading

Email Questions

I have found that the quickest way to resolve ambiguities and answer questions on homework and programming assignments is via email. Any questions sent to saunders@cis.udel.edu will be anonymously posted with an answer via email to the entire class. Questions can also be posted to the whole class directly: CISC879-010-03S@udel.edu. I'll try to answer as can anyone with something to say on the subject.

Assignment Submission

The due dates are to be taken seriously and you should not expect them to be extended. The pace of work is implicit in the due dates and necessary if you expect to finish by the end of the semester. Deliverables to be graded should be turned in at the start of class on the specified due date. No late assignments will be accepted for full credit without discussion with me prior to the due date. If you cannot reach me, leave a message on my voicemail. All other assignments not delivered by the due date are considered late.

My philosophy on late assignments is: (1) Everyone should try their best to complete all assignments by the specified due date. (2) People who work conscientiously to make the deadlines should be rewarded for their promptness and sacrifice of sleep. Thus, allowing others to hand in late assignments without some penalty is not fair to these people. However, there are various circumstances that may prevent you from completing an assignment by the due date. Allowing no late assignments would not give you much incentive to continue to work on the assignment, which is a major source of learning in this course. Thus, I believe late assignments are better than no assignment.

Late assignments will be penalized 10% off the total possible points if turned in within the first 24-hour period after the specified due date and time, and 10% per 24-hour period (or fraction of a day) (including weekends) after that time, up to a week after the due date. Late assignments will be accepted with penalty up to one week after the due date. Assignments submitted at any later time without an approved excuse will not be accepted. It is up to you to determine the version of your assignment to be graded. You must weigh the late penalty against the completeness of your assignment.

Policy on Academic Dishonesty

The projects in this class will be performed in groups. Small MPI assignments will be done individually. You are permitted to consult with other students and professors on any conceptual problems or for debugging assistance on all programming assignments. Any evidence of collaboration other than this kind will be handled as stated in the Official Student Handbook of the University of Delaware. If you are in doubt regarding the requirements, please consult with me before you complete any requirement of this course.
Staff Name Office Email Phone Office Hours
Instructor David Saunders 101E Smith saunders@cis.udel.edu 831-6238 10-12am Wednesdays and Thursdays, and by appt

This document is http://www.cis.udel.edu/~saunders/courses/879-03s/syllabus.html
saunders@cis.udel.edu