Last updated on Jan. 28, 2015


 

CSC 770: Parallel Computing

Spring 2015

 


Announcements:          

Instructor:

Dr. Yumei Huo

Office:   1N-202 
Tel.:   (718) 982-2841
EMail:   yumei.huo@csi.cuny.edu
WWW:   http://www.cs.csi.cuny.edu/~yumei/

Schedule:

This course meets for 2 hours per week: two hours of lecture and 1 regularly scheduled conference hour.   Attendance is expected for all class hours.   The conference hour will be used as supplemental independent study.

 
Class hours   Wednesday   8:20pm - 10:00pm   Room: 1N114

 

Office Hours:

  Monday   10:30am - 12:00pm
    Wednesday   10:30am - 12:00pm
    or by special appointment    

Contents:

CSC770 is intended for students from computer science, engineering, mathematics, finance etc, who are interested in high performance and parallel computing.  This class will cover the fundamentals of parallel computing, including parallel computer memory architecture, parallel programming models, and parallel algorithm design etc. Some fundamental PRAM algorithms such as parallel sum, prefix sum, logical AND etc. will be introduced. Some numerical and combinatorial algorithms such as matrix multiplication, odd-even merge sort, bitonic sorting etc. will be presented and their parallel performance will be analyzed in detail. The applications of parallel computing in other areas such as finance etc. may also be covered.  Students will use CSI's cluster- Typhon for the programming part.

 Prerequisite:  Knowledge of C or C++; CSC 326

This course assumes familiarity with data structures. You will need to be able to program in C/C++ to perform the assignments in the course.

Textbook:

Required textbook: An Introduction to Parallel Computing: Design and Analysis of Algorithms, Second Edition by A. Grama, V. Kumar et al. Pearson Addison Wesley. ISBN: 0201648652. 

Reference: Using MPI - 2nd Edition: Portable Parallel Programming with the Message Passing Interface (Scientic and Engineering Computation) by William Gropp, Ewing Lusk, Anthony Skjellum. MIT Press; 2nd edition (November 26, 1999), ISBN: 0262571323.

Homeworks:

There are three/four homework. Homeworks will focus on understanding and designing parallel programs.

 
Programming Assignments:

There will be two/three programming assignments. Your tasks will be designing and implementing parallel algorithms, compiling and running your programs in the environment of cluster, evaluating a solution, and submitting your program and report.

You will use CSI’s Linux cluster to do your programming assignments. Basic Information about CSI’s Cluster can be found at http://montecarlo.csi.cuny.edu/, and then click the link of Research Linux Cluster.

In order to access CSI’s cluster:

(1) From CSI’s PC, You will need to use SSH to access CSI’s supercomputer

(2)

You can download SSH from the link: http://www.csdept.csi.cuny.edu/~linux/downloads.php. You will also need an account to access CSI’s supercomputer. You will get your account within first two weeks.

You are strongly encouraged to set up the programming environment and try to be familiar with CSI’s cluster before your first programming assignment.

The solution to each programming assignment may include the source code and a report showing the result:

  • The source code MUST be turned in by email to yumei.huo@csi.cuny.edu before midnight the date they are due.

  • The report MUST be submitted either per email or be handed in a hard-copy at the beginning of the class on the due date.
  • Handwritten or typed report will be accepted.
  • Solutions must be readable(especially handwriting!!!), clear, concise and complete.

Programming Assignments:

  • Programming Assignment 1:
Grading and Policies:
  • The exams may test on material covered only in class and on material covered only in the reading assignments.

    Your grade will be based approximately, as follows. These percentages are tentative and subject to change.
       20% - Homeworks
    30% - Programming Assignments
    25% - Midterm Exam
    25% - Final
  • Class participation is essential to succeed in this course.
  • Homework assignments and programming assignments are due at the start of class on their due date. If you think you won't be present in class on that Monday, turn the homework in earlier at instructor's office or by email.
  • Each homework or each programming assignment will receive a maximum of 100 points for full credit.
    Homework or programming assignment submitted up to 1 week late will receive a maximum of 80 points
    Homework or programming assignment submitted up to 2 weeks late will receive a maximum of 60 points.
    No Homework or programming assignment will be accepted later than two weeks after due date.
  • DO NOT USE pencils to write down your solutions for the homework, programming assignments or exams; if you decide, however, to use a pencil do not complain about grading.
  • Check the marks in a homework, programming assignments or an exam and report errors promptly. Make sure you report such problems to the instructor within four weeks from receipt but no later than May 17, 2010 . If you believe a grade you received is not representative of your effort talk to the instructor.
  • The work you turn in MUST BE your own personal work, composed and written by you. No plagiarism. Otherwise, you will get the grade of zero for the homework or project.
  • DO NOT OBTAIN YOUR SOLUTION THROUGH THE INTERNET. Or you will get the grade of zero for the homework or project.
  • Collaboration of any kind is NOT allowed in the in-class exams (midterm and final).
Specific contents (subject to change):


To be announced

  •  


References:

References to some classical books on parallel computing and c++ programming language will be posted here - these titles will be for your information only - they're not required for the course nor they will be used in any way by the instructor.

1. 2. The C++ Programming Language , by Bjarne Stroustrup

3. Algorithm Design, by Jon Kleinberg and Eva Tardos, ISBN: 0-321-29535-8

4. Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, ISBN-10: 0262032937


Links relevant to the course:

1.


Yumei Huo