CS 524 - High-Performance Computing

Home | Handouts | Assignments | Quizzes Solution | Resources

General Information

Instructor: Dr. Asim Karim
E-mail: akarim at lums
Office hours: 2.30 - 4.00 PM TR
Office: 132
Phone ext: 2132

Class coordinates: TR 10.15 - 11.30 AM in A-10

TA: Muneeb Shaukat
TA office hours: after class till 13:00
Email: 04020119@lums.edu.pk
(Also can contact me in my room in hostel anytime M2- 103 ext 2612)


With advances in computer architecture, high performance single- and multi-processor computers have become readily available and affordable. As a result, high-performance and super computing is accessible to a large segment of the industry that was once restricted to military research and large corporations only. This course introduces practical performance optimization techniques for serial and parallel computing with an emphasis on algorithms in linear algebra. Popular parallel programming models such as shared- and distributed-memory and parallel libraries such as MPI and OpenMP will be discussed. Performance evaluations will be carried out on modern PCs, LUMS’s Linux Cluster, and Sun UltraSparc (suraj) server. Programming assignments will require coding in C/C++ in a Linux/UNIX environment. Students will be required to do readings before and after class from multiple sources to supplement what is discussed in class. For details, please see the course outline.


There is no comprehensive text for this course. The following books will be used during the course. Please consult the course outline for the required readings each week.

1.        Introduction to Parallel Computing: Design and Analysis of Algorithms, V. Kumar, A. Grama, A. Gupta, G. Karypis, Benjamin/Cummins Publishing Co., 1994.

2.        Using MPI – Portable Parallel Programming with the Message-Passing Interface, 2nd Ed., W. Gropp, E. Lusk, A. Skjellum, MIT Press, 1999.

3.        Parallel Programming in OpenMP, R. Chandra et al., Academic Press, 2001.

4.        Techniques for Optimizing Applications – High Performance Computing, R.P. Garg and I. Sharapov, Sun Microsystems Press, 2002

5.     Introduction to Parallel Processing, M. Sasikumar, D. Shikhare, P.R. Prakash, Prentice-Hall of India, 2000.


December 2
Welcome to the course. Regularly check this page for announcements and updates. Check the resource page for web links on high performance computing.
You are required to read outside of class. Consult the course outline for the details.

December 4
Assignment 1 has been posted. It is due at class time on December 11.
There will be no class on December 9. Stay tuned for the rescheduling announcement.

December 11
Assignment 2 has been posted. It is due on December 23 at 5PM.

December 23
Solution to quiz 2 posted. Assignment 2 is due by 12 midnight. Submit to the appropriate folder on COMMON drive (just paste your folder to the folder).
There will be no class on Dec. 30 (Tuesday). Stay tuned for the rescheduling announcement.

December 27
Assignment 3 has been posted. It is due on Jan. 6 (Tuesday).
The solution to Assignment 2 has been posted. Please go through the solution carefully.
No class and office hours on Tuesday (Dec. 30).

January 8
Solution to assignment 3 posted.

January 9
Assignment 4 has been posted. It is due on Jan. 20 (Tuesday).

January 18
Midterm exam solution posted (on quiz solution page). Please check your midterm exams during my office hours. The marks will be finalized on Jan. 22 at 5PM.

January 22
Assignment 5 has been posted. It is due on Jan. 30. Please start working on it ASAP.
Solution to quiz 3 posted.

February 16
Solutions to all assignments have been posted.

February 17
Solution to quiz 4 (retake) posted. Please go through all solutions carefully.
The final exam is on Sunday from 9 - 11 AM in A-2 (always reconfirm before the exam). Good luck!

Home | Handouts | Assignments | Quizzes Solution | Resources