CS 455: Introduction to High Performance Computing

Introduction to high performance computing covering fundamental HPC architecture concepts, parallel computing systems software techniques, and hands-on experience with supercomputers.

Course Overview

This course aims to introduce students to high performance computing (HPC) in a general way that is useful to computer science students and all STEM fields. The course covers fundamental HPC architecture concepts and parallel computing systems software techniques. Students will complete several assignments investigating the use of parallel processing systems.1

Course Material

Grading

  • 50% Homeworks
  • 30% Exams
  • 20% Quizzes and Class Participation
  1. Was taught as CS 494 in the Spring of 2023 and 2024. 

Schedule

Week Topic
1 History of High Performance Computing
2 HPC Systems: Shared-Memory Architecture
3 HPC Systems: Distributed-Memory Architecture
4 Benchmarking
5 Resource Management
6 Parallel Programming: OpenMP
7 Parallel Programming: OpenMP (continued)
8 Parallel Programming: MPI
9 Parallel Programming: MPI (continued)
10 Parallel Algorithms
11 Performance Analysis and Tuning
12 Debugging and Checkpointing
13 Visualization: Performance/System and Scientific
14 Future Systems