Computer Science 335
Parallel Processing and High Performance Computing
Fall 2024, Siena College
"Pacheco" indicates readings from An Introduction to Parallel Programming, First Edition, by Peter Pacheco. Additional readings will be given occasionally. Links will be added here with additional information about lectures, labs, and programming assignments. All assignment dates are subject to change, and are provided only as a general guideline until the actual assignment is handed out in class.
Date | Topic and/or Event | Readings |
September 6 | Lecture 1: Introduction; Programming Project 1: Introduction to Jacobi Iteration [PDF] out | Topic Notes: Introduction and Overview |
September 9 | Lecture 2: Java Threads; Lab 1: Java Threads Practice [HTML] [PDF] | Pacheco Ch. 1; Topic Notes: Java Threads |
September 13 | Lecture 3: Decomposition Methods, Basics of Critical Sections | Pacheco Ch. 2 (see lecture page for focus sections) |
September 16 | Lecture 4: C Programming for Scientific Computation; Lab 2: Chapter 2 Questions [HTML] [PDF]; Programming Project 2: Jacobi Iteration in C [HTML] [PDF] out | |
September 20 | Lecture 5: Speedup and Scalability | |
September 23 | Lecture 6: MPI Introduction; Lab 3: Processes and MPI Introduction [HTML] [PDF]; Lab 4: Point to Point Communication [HTML] [PDF]; Programming Project 3: MPI Recursive Digit Sum [HTML] [PDF] out | Pacheco Ch. 3.1-3.3 |
September 27 | Lecture 7: MPI Point to Point Communication | |
September 30 | Lecture 8: Non-Blocking Messages, Collective Communication; Lab 5: Non-Blocking Messages [HTML] [PDF]; Lab 6: Collective Communication [HTML] [PDF]; Programming Project 4: Collective Communication [HTML] [PDF] | Pacheco Ch. 3.4 |
October 4 | Lecture 9: Collective Communication | |
October 7 | Lecture 10: More MPI Examples; Programming Project 5: Parallelizing Jacobi Iteration [HTML] [PDF] | Topic Notes: Matrix-Matrix Multiplication with MPI |
October 11 | Lecture 11: MPI Bag of Tasks; Lab 7: Stampede3 Setup | |
October 14 | Lecture 12: MPI on Stampede3; Review; Lab 8: MPI on Stampede3 | |
October 18 | No Class: October Break | |
October 21 | No Class: October Break | |
October 25 | Midterm Exam | |
October 28 | Lecture 13: Introduction to Pthreads; Final Project Out; Lab 9: Introduction to Pthreads | Pacheco Ch. 4.1-4.2 |
November 1 | Lecture 14: Critical Sections and Synchronization with Pthreads; Programming Project 6: Pthreads Programming [HTML] [PDF] Out | Topic Notes: Critical Sections with POSIX Threads |
November 4 | Lecture 15: Pthreads Examples | |
November 8 | Class Cancelled | |
November 11 | Lecture 16: Introduction to OpenMP | Topic Notes: OpenMP |
November 15 | Lecture 17: OpenMP Examples | |
November 18 | Lecture 18: OpenMP Practice; Lab 10: OpenMP Practice [HTML] [PDF] | |
November 22 | Lecture 19: OpenMP Wrapup; Introduction to Scientific Computation | Topic Notes: Scientific Computation |
November 25 | Lecture 20: Computing on a Quadtree | |
November 29 | No Class: Happy Thanksgiving! | |
December 2 | Lecture 21: Parallel Adaptive Computation; Partitioning and Dynamic Load Balancing | Topic Notes: Partitioning and Dynamic Load Balancing; Example Quadtree |
December 6 | Lecture 22: Parallelizations of Traveling Salesperson; Lab 11: Traveling Salesperson Problem | |
December 9 | Lecture 23: Final Project Presentations | |
December 11 | Final Exam, 4-6 PM. RB 302 (as scheduled by the Registrar) | |