Last updated on Sep. 19, 2007
The host name is: 163.238.55.103
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.
CSC744 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 numerical and combinatorial algorithms such as FFT computations, odd-even merge sort, bitonic sorting, and matrix computations 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. will 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.
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.
There are four homework. Homeworks will focus on understanding and designing parallel programs.
There will be two 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. You will need to use SSH to access CSI’s cluster from CSI’s PC or your home computer. You can download SSH from the link: http://unixace.csi.cuny.edu/csiunix/index.php4. You will also need an account to access CSI’s cluster. You will get your account within 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:
To be announced 1. 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. 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
1.
|