Introduction to High Performance Computing

This is Introduction to High Performance Computing (CS1645/CS2045) at the University of Pittsburgh for Spring 2017/8.

Contacts Email Office
Instructor Bryan Mills --- ---
Teaching Assistant TBD --- ---

Goal

This course is an introduction to the architecture of and software techniques for parallel and high performance computing systems. The content includes fundamental architecture aspects of shared-memory and distributed-memory systems, as well as paradigms, algorithms and languages used to program parallel systems. Students will complete a number of projects demonstrating specific applications on parallel processing systems.

The Syllabus provides more details on the class meeting times, prerequisites, grading, and topics covered.

Textbook

"An Introduction to Parallel Programming" by Peter Pacheco (Morgan Kaufman, 2011, ISBN:978-0123742605).

Schedule

Date Topic Reading Assignment
Jan 8 Introduction to HPC (notes) Chapter 1 HW1
Jan 10 Parallel Hardware and Software (notes) Chapter 2.1 & 2.2
Jan 15 No Class - MLK Day ----- -----
Jan 17 Posix Threads (notes) Chapter 4.2-4.6 HW2
Jan 22 Lab Day - Professor at conference ----- HW3
Jan 24 Lab Day - Professor at conference ----- -----
Jan 29 Posix Critical Sections (cont) Chapter 4.4-4.9 -----
Jan 31 HW1 Review + Hardware & Interconnects Chapter 2.3 HW4
Feb 5 Interconnects (notes) Chapter 2.3
Feb 7 No Class - Sick Day Chapter 2
Feb 12 OpenMP (notes) Chapter 5 HW5
Feb 14 Parallel Sorting OpenMP (notes) Chapter 5
Feb 19 Parallel Patterns (notes) ---- HW6
Feb 21 Parallel Scan (notes) ----
Feb 26 Review + MPI ----
Feb 28 Mid-term (playlist) ----
------ Spring Break ----
Mar 12 MPI (notes) Chapter 3.1-3.4.5 HW7
Mar 14 MPI ----
Mar 19 More MPI (notes) Chapter 3.4
Mar 21 HW Review HW8
Mar 26 More MPI (cont.) Chapter 3.5, 3.6 & 3.8
Mar 28 Intro to Cuda (notes)
Apr 2 Intro to Cuda HW9
Apr 4 GPU Optimization (notes)
Apr 9 GPU Algorithms (notes)
Apr 11 GPU Sorting (notes) HW10
Apr 16 Resilience + Review (final review)
Apr 18 Final Exam!
Apr 25 Graduate Report Due!

Project

Graduate students are required to work on a research project as a final project. The result of this project will be a research paper describing the project and the contribution the student has made. The project will be specified by the student in a proposal that will be due after the mid-term exam and must be approved by the instructor. Topics have to be related to one of the following:

more of me