CS/CMPE 524 - High-Performance Computing

Home | Handouts | Assignments | Quizzes Solution | Resources

General Information

Instructor: Dr. Asim Karim
E-mail: akarim at lums
Office hours: 3.00 - 4.30 PM TR
Office: 429
Phone ext: 4429

Class coordinates: MW 3.30 - 4.45 PM in SC-3

TA: Haroon Naeem
TA office hours: 1 hour before and after class
Email: 03030068@lums.edu.pk


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.


1.        Introduction to Parallel Computing, A. Grama, A. Gupta, G. Karypis, V. Kumar, Addison Wesley, 2003.

Supplementary Texts

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.     Introduction to Parallel Processing, M. Sasikumar, D. Shikhare, P.R. Prakash, Prentice-Hall of India, 2000.


September 7
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.

September 9
Assignment 1 has been posted. It is due on September 15 at class time.

September 15
The lecture slides on data locality have been updated. If you downloaded a copy before class today, please do so again.

September 16
Assignment 2 has been posted. It is due on Sep. 24. Please start working on it right away.
Solution to quiz 1 has been posted.

September 28
Assignment 3 has been posted. It is due next Wednesday (Oct. 6) at 5 PM.
Solution to quiz 2 has been posted.

October 4
The deadline for assignment 3 has been extended to 11.59 PM on October 8 (Friday).

October 6
Solution to assignment 2 has been posted. Please read it and relate it to the concepts and principles that we have studied so far.

October 7
Solution to quiz 3 posted. Posted a descriptive example of dependency analysis on the handouts page.

October 12
Assignment 4 has been posted. It is due next Friday (Oct. 22).

October 14
Solution to midterm exam posted on quiz solution page.

October 26
Assignment 5 has been posted. It is due next Wednesday by 11.59 PM.

November 5
Assignment 6 has been posted. It is due by 11.59 PM on Nov. 11 (Thursday). It is a short assignment. However, I strongly urge you to start and finish it quickly. I have also posted the instructions on how to develop, compile, and run OpenMP programs on Chand.

November 8
Quiz 4 and 5 solutions posted.
The viva for assignment 5 is scheduled from 9 to 11 AM on Nov. 10 in my office.

Home | Handouts | Assignments | Quizzes Solution | Resources