Computer Science 335
Parallel Processing and High Performance Computing
Fall 2026, Siena University
"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 9 | Lecture 1: Introduction; Handout: Why Parallel Processing? | |
| September 11 | Lecture 2: Parallelism Basics; Programming Project 1: Introduction to Jacobi Iteration out; Handout: Parallelism Basics | Pacheco Ch. 1 |
| September 14 | Lecture 3: Java Threads; Lab 1: Java Threads Practice [HTML] [PDF] | Topic Notes: Java Threads |
| September 16 | Lecture 4: Java Threads; Decomposition Methods, Basics of Critical Sections | Pacheco Ch. 2 (see lecture page for focus sections) |
| September 18 | Lecture 5: C Programming for Scientific Computation; Programming Project 2: Jacobi Iteration in C [HTML] [PDF] out | |
| September 21 | Lecture 6: Lab 2: Chapter 2 Questions [HTML] [PDF] (no in-person meeting, sorry) | |
| September 23 | Lecture 7: Lab 2 Recap; Speedup and Scalability | |
| September 25 | Lecture 8: MPI Introduction; Lab 3: Processes and MPI Introduction [HTML] [PDF] | Pacheco Ch. 3.1-3.3 |
| September 28 | Lecture 9: MPI Point to Point Communication; Lab 4: Point to Point Communication [HTML] [PDF]; Programming Project 3: MPI Recursive Digit Sum [HTML] [PDF] out | |
| September 30 | Lecture 10: Non-Blocking Messages; Lab 5: Non-Blocking Messages [HTML] [PDF] | |
| October 2 | Lecture 11: Collective Communication; Lab 6: Collective Communication [HTML] [PDF]; Programming Project 4: Collective Communication [HTML] [PDF] | Pacheco Ch. 3.4 |
| October 5 | Lecture 12: Collective Communication; Programming Project 5: Parallelizing Jacobi Iteration [HTML] [PDF] | |
| October 7 | Lecture 13: Lab Catchup Day | |
| October 9 | Lecture 14: MPI Examples | Topic Notes: Matrix-Matrix Multiplication with MPI |
| October 12 | Lecture 15: MPI Bag of Tasks; Lab 7: Stampede3 Setup [HTML] [PDF] | |
| October 14 | Lecture 16: MPI on Stampede3; Lab 8: MPI on Stampede3 [HTML] [PDF] | |
| October 16 | No Class: October Break | |
| October 19 | No Class: October Break | |
| October 21 | Lecture 17: Review | |
| October 23 | Exam 1, During Class | |
| October 26 | Lecture 18: Introduction to Pthreads; Final Project Out; Lab 9: Introduction to Pthreads | Pacheco Ch. 4.1-4.2 |
| October 28 | Lecture 19: | |
| October 30 | Lecture 20: Critical Sections and Synchronization with Pthreads; Programming Project 6: Pthreads Programming Out | Topic Notes: Critical Sections with POSIX Threads |
| November 2 | Lecture 21: Pthreads Examples | |
| November 4 | Lecture 22: | |
| November 6 | Lecture 23: Introduction to OpenMP | Topic Notes: OpenMP |
| November 9 | Lecture 24: OpenMP Examples | |
| November 11 | Lecture 25: OpenMP Examples | |
| November 13 | Lecture 26: OpenMP Practice; Lab 10: OpenMP Practice | |
| November 16 | Lecture 27: OpenMP Wrapup; Introduction to Scientific Computation | Topic Notes: Scientific Computation |
| November 18 | Lecture 28: Scientific Computation | |
| November 20 | Lecture 29: Computing on a Quadtree | |
| November 23 | Lecture 30: | |
| November 25 | No Class: Happy Thanksgiving! | |
| November 27 | No Class: Happy Thanksgiving! | |
| November 30 | Lecture 31: Parallel Adaptive Computation | Topic Notes: Example Quadtree |
| December 2 | Exam 2 During Class | |
| December 4 | Lecture 32: Partitioning and Dynamic Load Balancing | Topic Notes: Partitioning and Dynamic Load Balancing |
| December 7 | Lecture 33: | |
| December 9 | Lecture 34: | |
| December 11 | Lecture 35: | |
| December 14 | Lecture 36: Review; Wrapup | |
| December TBD | Final Project Presentations (during exam slot as scheduled by the Registrar) | |