22C:177:001  High Performance and Parallel Computing (Part I) http://www.cs.uiowa.edu/%7Eoliveira/C177-F05/22c177-8wks.html

Classes:  E205AJB, Tu-TH 3:55 pm - 5:10 pm

Instructor: Dr. Suely Oliveira   (oliveira at cs dot uiowa dot edu)     
Address: Office: MLH 101H - phone: 353-0739
Office hours:  M-Tu 10:00-11:30 am

 Teaching Assistant:  Amlan Bhattacharya (bhattach at cs.uiowa.edu)
Address: Office: MLH 101N - phone: 353-2839
Office hours:  Tu-TH 2:30-3:30 pm

Computer Accounts:
We use an IBMp690 computer at NCSA.
This computer has 11 nodes with 32 processors each.
Accounts will be provided the first day of class. For more information:
NCSA IBMp690
Geting your NCSA account
Course Accounts (local)

Reference Textbooks:
Scientific Computing (by L. Ridgway Scott, Terry W. Clark and Babk Bagheri)

Parallel Programming in C with MPI and OpenMP, Michael J. Quinn

Parallel Computing http://www.booksites.net/kumar/

Parallel Programming with MPI  (by Peter Pacheco)

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

Tutorial on MPI: The Message-Passing Interface (by William Gropp)

Parallel Scientific Computation Using Bsp and Mpi  (by Rob Bisseling)

Some Notes on Writing Numerical Software (provided in class)


Syllabus
 
  • Introduction and Parallel Programming Platforms
  • Analytical Modeling of Parallel Programmng
  • Programming using the Message Passing Paradigm.
  • Examples of Scientific Parallel Algorithms.
  • Notes on Writing Numerical Software

  • Overview:
      Two important aspects of Scientific Computing is Parallel Algorithms and High Performance Computing. In Scientific Computing, clusters have  replaced high-end scientific workstations. In this class we  cover the basiscs of Parallel Algorithms  and implementation  for parallel computers or network of workstations.  We will work with tools for writing  parallel portable programs. We will  learn theoretical  prediction of performance and verify these with computational results form applications. The parallel algorithms we cover are from Computational Linear Algebra or Numerical Analysis. Both Sequential and Paralell versions are introduced  in this class.  So no prior knowledge  of the algorithms is necessary.

    Prerequisites
    : There are no prerequisites for this course. Knowledge of a  computer  language and an undergraduate course in algorithms or linear algebra will be helpful.
     


    SCHEDULE (FIRST 8 WEEKS):  HWs and Projects will be given in class.

    Week (dates)

     Lecture/dates

     Topics

     Reference

     due dates/notes
    (no links here).

    #1  08/23

    #1

     Basics

     Quinn (Chs 1,2)

     

    #1  08 /25

    #2

     Parallel Example

     Handout-partI

     (Karypis et al.)

    #2  08/30

    #3

     Analytical Modeling

     Handout-partII

     (Karypis et al.)

    #2  09/1

    #4

    Programming with MPI

     MPI Handout

    Hw due 9/13

    #3  09/6

    #5

    Trapezoidal Rule

     MPI Handout

     Coll. Comm.

    #3  09/8

    #6

    LAB1 ( 301 MLH)

      Send/Rec etc...


    #4  09/13

    #7

    Matrix-vector product


    Proj. 1 due 9/27

    #4  09/15

    #8

    LAB2 ( 301 MLH)

     codes

     

    #5  09/20

    #9

    Matrix-MatrixMultiply

     MPI Handout

     Communicators

    #5  09/22

    #10

    LAB3 ( B5 MLH)

     codes

     

    #6  09/27

    #11

    FEM

    Scott

     

    #6  09/29

    #12

    parallel solvers

    codes

    Proj. 2 due10/11

    #7  10/4

    #13

    LAB4 ( B5MLH)

     codes

     

    #7  10/6

    #14

    Iterative methods

    Handout

     

    #8 10/11

    #15

    Design


     

    #8  10/13

    #16

    Jun Ni starts

     

     

    GRADING:   15%  Hw, 15% Proj1, and 20% Proj 2. The other 50% will be from Grid Computing (part II)  with Jun Ni.
    For posting grades and answer sheets I use:
    ICON   (Use your HawkID and password to log in).


    We are asked to post some University Rules. Here they are :
    Note 1
    : I would like to hear from anyone who has a disability which may require seating modifications or testing acommodations or
    accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours .
    Note 2:This course is given by the College of Liberal Arts and Sciences. This means that class policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found at:   http://www.uiowa.edu/~provost/deos/crossenroll.doc
    Note3: Complaints should be initiated at the faculty or department level. The Department of Computer Science Departments has offices in 14 MLH