22C:177 and 22M:178 Parallel and High Performance Algorithms  in Scientific Computing


Classes: Tu-Th 10:55am--12:10pm -- 110 MLH
Professor:   Dr.Suely Oliveira, Room: 101H  MLH

Office Hours: M-Tu-Th 2:00-3:00 pm
.  Phone:335-0731  
After Spring Break also: M 3:30-:4:45 pm -- B5
(this will be worked out with students in the first day of class)                 



PREREQUISITES: Knowledge of one  Programming language (C, Fortran, C++, Java, Pascal, CS)

SYLLABUS:

PART I: Parallel Algorithms and MPI (6-8 weeks)
PART II: Open MP (3 weeks)
PART III: Advanced and Scientific Programming & Projects (4 weeks)
 
TEXTBOOK:  There is no textbook required although I strongly recommend my book as a reference for
scientific programming in general: Writing Scientific Software (Cambridge University Press).

COURSE DESCRIPTION: This is a graduate class on parallel algorithms, but advanced undergraduate students will be able to take this class without any problems. All the material  is covered starting from  sequential implementation. We cover the basics  of parallel programming starting with MPI and data parallelism. Multicore computers are becoming more and more important, so we also cover OpenMP for shared memory programming. Finally problems encountered in parallel programming and scientific computing in general are addressed, including  floating point arithmetic.

GRADES: During the course, your grade will be based on programming assignments and lab participation (40%), attendance (20%) and projects (40%). We should have 2-3 projects the last one will be presented in class during the last 3 weeks of class. The report for the project is due on the Final exam day.

REFERENCES:  For sequential algorithms we will we will use various books, summaries are given out in class in the form of  handouts. The books below will be reserve at the Division of Mathematical Sciences Library (first level of McLean Hall). The books listed below are only reference books and you are not required to buy them for this course.  I will mention in class when you should consult these books.

  1. P. Pacheco.
    Parallel Programming with MPI.
    Morgan Kaufmann Publishers, Inc, San Francisco, 1997.
  2. Numerical Computing with IEEE Floating Point Arithmetic, Michael L. Overton.
    published by SIAM.
  3. J. Dongarra, I. Duff, Sorensen, D., and H. Van der Vorst.
    Numerical Linear Algebra for High-Performance Computers.
    SIAM, Philadelphia, PA, 1998.
  4. V. Kumar, A. Grama, A. Gupta, and G. Karypis.
    Introduction to Parallel Computing.
    Benjamin/Cummings, 1994.
  5. M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra.
    MPI:The Complete Reference.
    MIT Press, Boston, 1996.
  6. James W. Demmel.
    Applied Numerical Linear Algebra.
    SIAM Publ., Philadelphia, PA, 1997.
  7. G. W. Stewart.
    Afternotes on numerical analysis.
    SIAM Publ., Philadelphia, PA, 1996.
  8. L. N. Trefethen and D. Bau, III.
    Numerical Linear Algebra.
    SIAM Publ., Philadelphia, PA, 1997.
  9. B. Chapman, G. Jost, and R. van der Pas.
    Using OpenMP.
    MIT Press, Cambridge, 2007.

Some Links:  

Another Rebirth of Mathematical Software for Linear Algebra (Dongarra, 2007)

Top 500 List

The Recent Revolution in High-Performance Computing (by Horst D. Simon)

Parallel Numerical Linear Algebra ( by James W. Demmel, Michael  T. Heath and Henk A. van der Vorst)

MPI The Complete Reference  (by Snier, Otto, Huss-Lederman, Walker, Dongarra)

Matlab

Matlab Help Desk (local access file: file:/usr/apps/matlab/=/help/helpdesk.html )                                         


We are asked to post some University Rules:

Note: The Department of Computer Science has offices in 14 MLH.

Administrative Home of the Course
The College of Liberal Arts and Sciences is the administrative home of this course and governs such academic matters as the add/drop deadlines, the second-grade-only option, issues concerning academic fraud or academic probation, and how credits are applied for various graduation requirements. Different colleges may have different policies. Students with questions about these or other CLAS policies should speak with an academic advisor or with the staff in 120 Schaeffer Hall.  Details of the University policy of cross enrollments may be found at:   http://www.uiowa.edu/~provost/deos/crossenroll.doc. Also see the CLAS Academic Handbook: www.clas.uiowa.edu/students/academic_handbook/index.shtml

Academic Fraud
Plagiarism and any other activities that result in a student presenting work that is not his or her own are academic fraud. Academic fraud is reported to the departmental DEO and then to the Associate Dean for Academic Programs and Services in the College of Liberal Arts and Sciences who deals with academic fraud according to these guidelines: www.clas.uiowa.edu/students/academic_handbook/ix.shtml

Making a Suggestion or a Complaint
Students have the right to make suggestions or complaints and should first visit with the instructor, then with the course supervisor if appropriate, and next with the departmental DEO. All complaints must be made within six months of the incident. www.clas.uiowa.edu/students/academic_handbook/ix.shtml#5

Accommodations for Disabilities
A student seeking academic accommodations should first register with Student Disability Services and then meet with a SDS counselor who determines eligibility for services. A student approved for accommodations should meet privately with the course instructor to arrange particular accommodations. See www.uiowa.edu/~sds/

Understanding Sexual Harassment
Sexual harassment subverts the mission of the University and threatens the well-being of students, faculty, and staff. See www.sexualharassment.uiowa.edu/

Reacting Safely to Severe Weather
If severe weather is indicated by the UI outdoor warning system, class members will seek shelter in the innermost part of the building, if possible at the lowest level, staying clear of windows and of free-standing expanses which might prove unstable. The class will resume after the severe weather has ended. See the Operations Manual section 16.14. i.

Student Classroom Behavior
The ability to learn is lessened when students engage in inappropriate classroom behavior, distracting others; such behaviors are a violation of the Code of Student Life. When disruptive activity occurs, a University instructor has the authority to determine classroom seating patterns and to request that a student exit immediately for the remainder of the period. One-day suspensions are reported to appropriate departmental, collegiate, and Student Services personnel (Office of the Vice President for Student Services and Dean of Students).

University Examination Policies
Missed exam policy. University policy requires that students be permitted to make up examinations missed because of illness, mandatory religious obligations, certain University activities, or unavoidable circumstances. Excused absence forms are available at the Registrar web site: www.registrar.uiowa.edu/forms/absence.pdf

Final Examinations. An undergraduate student who has two final examinations scheduled for the same period or more than three examinations scheduled for the same day may file a request for a change of schedule before the published deadline at the Registrar's Service Center, 17 Calvin Hall, 8-4:30 M-F, (384-4300).