ICS 632: Principles of High Performance Computing (Fall 2008)
 Prof. Henri Casanova  (henric@hawaii.edu)
 Lectures: Mondays and Wednesday 4:30PM-5:45PM, KUY 303
 Office Hours: Mon/Wed 3PM-4:15PM

 Announcements

 Course Description

Class Goals
This course provides students with knowledge of the fundamental concepts of high performance computing as well as hands-on experience of the core technology in the field. By the end of the course, students will be proficient in performance analysis and performance tuning for sequential programs, parallel programs on shared-memory architectures, parallel programs on distributed-memory architecture, and parallel programs on hybrid architectures.

Textbook
Parallel Algorithms, by H. Casanova, A. Legrand, and Y. Robert. Chapman & Hall, 2008. Available from amazon.com.

Syllabus
The syllabus for the class is available here in PDF format.

 Assignments

 Required Readings

These papers are to be read by all students before 11/15.

 Projects

Projects need to be chosen by students before 10/27. Guidelines for projects and possible project topics are listed here.

  Lecture Topics, Lecture Notes

Below is the list of topics that we will discuss in the class. Some of these topics will span only one lecture, some will span several lectures. Lecture notes will be made available for download about 1 week before the actual lecture.

Topic Notes, Links, Reading
Course details and Introduction [PPT] [PDF]
Parallel Architectures [PPT] [PDF]
Sequential Peformance [PPT] [PDF]
How to use our cluster (for 1-node jobs) [PPT] [PDF]
Programming with Threads [PPT] [PDF]
Concurrency and Performance [PPT] [PDF]
Shared Memory Programs [PPT] [PDF]
MPI [PPT] [PDF]
A MPI Tutorial
Virtual Topologies [PPT] [PDF]
Section 3.1.2, 4.6
Communication on a Ring [PPT] [PDF]
Section 3.3, 3.2.1
Algorithms on a Ring [PPT] [PDF]
Section 4.1, 4.2
Algorithms on a Ring (II) [PPT] [PDF]
Section 4.3, 4.4, 4.5
Algorithms on a Grid (I) [PPT] [PDF]
Section 5.2, 5.3.1, 5.3.2
Algorithms on a Grid (II) [PPT] [PDF]
Section 5.3.3, 5.3.4, 5.4
Heterogeneous Load-Balancing [PPT] [PDF]
Section 6.1, 6.2
Scheduling [PPT] [PDF]
Chapter 7 (overview only)
Map-Reduce [PPT] [PDF]
Job Scheduling [PPT] [PDF]
Grid Computing [PPT] [PDF]
Distributed Systems [PPT] [PDF]
Theoretical Parallel Computing [PPT] [PDF]



henric@hawaii.edu