Last updated on Sep 10, 2014



CSC 429 Advanced High Performance Computing

Fall 2014



Announcements:

  • Answer to Homework 1 is posted
  • Midterm exam is on Oct. 23, 2014. Please refer to the textbook: Chapter 1, 2, 5, 6.
  • Homework 1 is assigned and due on Oct. 9, 2014
  • In order to access CSI's supercomputer:

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

    (2) From your home computer, you need to access neptune first and then access to other CSI's supercomputers.

    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 supercomputer. You will get your account within first two weeks.

     
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:

Class hours   Tuesday 10:10am - 12:05pm Room:5N106
    Thursday 10:10am - 12:05pm Room:1N111

 

Office Hours:

           
Tuesday
  12:30pm - 2:00pm
    Thursday   12:30pm - 2:00pm
    or by special appointment    


Contents:

Welcome to Advanced High Performance Computing! In this course students will learn about the foundations of parallel computing. The emphasis will be on algorithms that can be used on shared- and distributed-memory systems. The course will include both a theoretical component and a programming component. The topics covered will encompass on fundamentals of parallel computing, parallel computer architectures, performance, decomposition techniques for parallel algorithms, parallel programming models such as OpenMP and MPI models, analytical modeling of parallel algorithms. Classical parallel algorithms for matrix multiplication, sorting etc. and their implementation on parallel machines and performance analysis will be discussed.

This course meets for 5 hours per week, 3 lecture hour, 1 laboratory hour, and 1 regularly scheduled conference (online) hour.

Prerequisites: CSC 326


Textbook:

An Introduction to Parallel Computing: Design and Analysis of Algorithms, Second Edition by A. Grama, V. Kumar et al. Pearson Addison Wesley. ISBN-10: 0201648652 ; ISBN-13: 978-0201648652.

Parallel Programming: Techniques and Applications using Networked Workstations and Parallel Computers (2nd ed.) by B. Wilkinson and M. Allen, Prentice Hall. ISBN-10: 0131405632 ; ISBN-13: 978-0131405639.

Homeworks Assignments:
Lab Assignments:

The tasks will be writing appropriate scripts, and compiling and running the programs in the environment of CSI's supercomputer, evaluating the running results or solutions, and designing simple parallel programs.

Open lab: lab schedules can be found at:   www.csi.cuny.edu/studenthelpdesk

You can also use computers at the library. The following are your username & password for accessing computers at the library.
Username: your firstname.lastname (e.g.: john.smith).
Password: your date of birth using two digits for month, day, year without periods or spaces (e.g.: 051880) It is not working for you, see Tony in 1L204

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
    20% - Lab(Programming) Assignments
    10% - Project
    20% - Midterm Exam
    30% - Final
  • Class participation is essential to succeed in this course.
  • All students are expected to do the homework .
  • DO NOT USE pencils to write down your solutions for the homework, project or exams; if you decide, however, to use a pencil do not complain about grading.
  • Check the marks in a homework, lab assignment 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 Dec. 8, 2010. If you believe a grade you received is not representative of your effort talk to the instructor.
  • Homework assignments and lab assignments are due at the start of class on their due date. If you think you won't be present in class on that due day 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.
  • 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 Dec. 11, 2014. If you believe a grade you received is not representative of your effort talk to the instructor.
  • SCHOOL POLICY on Academic Integrity, Plagiarism, and Cheating - Integrity is fundamental to the academic enterprise. It is violated by such acts as borrowing or purchasing assignments (including but not limited to term papers, essays, and reports) and other written assignments, using concealed notes or crib sheets during examinations, copying the work of others and submitting it as one’s own, and misappropriating the knowledge of others. The sources from which one derives one’s ideas, statements, terms, and data, including Internet sources, must be fully and specifically acknowledged in the appropriate form; failure to do so, intentionally or unintentionally, constitutes plagiarism. Violations of academic integrity may result in a lower grade or failure in a course and in disciplinary actions with penalties such as suspension or dismissal from the College.
  • The work you turn in MUST BE your own personal work, composed and written by you. No plagiarism. MY Academic Integrity Policy –Copying someone else’s computer code, even though you changed the variable names, is called plagiarism and cheating. All cheating is rewarded with a 0 on the assignment whether you are the copyer or the copyee.
  • 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 (midterms, and final).
  • 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.


Specific contents (subject to change):

  1. (8/28/14) First Class !!!

    Lecture:

  2. (9/2/14)

    Lecture:

    • Parallel Programming Platforms: Implicit parallel computing architecture
    • Parallel Programming Platforms: Explicit Parallel Programming Platforms
    • note2
    • Suggested Reading: Chapter 2 of the textbook
  3. (9/4/14)

    Lecture:

    • Interconnection Network: static networks and evaluation
    • Suggested Reading: Chapter 2 of the textbook
  4. (9/9/14)

    Lecture:

    • Interconnection Network: static networks and evaluation (cont.), dynamic networks
    • Suggested Reading: Chapter 2 of the textbook
  5. (9/11/14) 

    Lecture:

    • Interconnection Network: dynamic networks
    • Suggested Reading: Chapter 2 of the textbook
  6. (9/16/14) 

    Lab1:

    • MPI Programming: MPI_Init, MPI_Finalize, MPI_Comm_size, MPI_Comm_rank
    • the first MPI Program
  7. (9/18/14)

    Lecture:

  8. (9/30/14)

    Lab:

  9. (10/2/14)

    Lecture:

  10. (10/7/14)

    Lab:

  11. (10/9/14)

    Lecture:

  12. (10/14/14) Midterm Exam I
  13. (10/16/14) Lecture:

    Lecture:

  14. (10/21/14)

    Lecture:

  15. (10/23/14)

    Lecture:

  16. (10/28/14)

    Lecture:

  17. (10/30/14)

    Lab5:

  18. (11/4/14)

    Lecture:

  19. (11/6/14)

    Lab6:

  20. (11/11/14)
  21. (11/13/14) 

    Lecture:

  22. (11/18/14)

    Lecture:

  23. (11/20/14) 

    Lecture:

  24. (11/25/14)

    Lab7:

  25. (12/2/14) 

    Lecture:

  26. (12/4/12) 

    Lecture:

  27. (12/9/14) 

    Lecture:

  28. (12/11/14) last class

To be announced

  • Tentative date/time of midterm exam and FINAL exam


References:

References to some classical books on c++ programming language and MPI programming will be posted here later - 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. The C++ Programming Language , by Bjarne Stroustrup


Links relevant to the course:

1.


Yumei Huo

`