Computer Science 400
Parallel Processing and High Performance Computing

Fall 2017, Siena College

Course Schedule

"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 5

Lecture 01: Introduction; Overview; Setup; Lab 0: Setting Up Topic Notes: Introduction; Pacheco Ch. 1
September 7 Lecture 02: C; Lab 1: C
September 12 Lecture 03: Programming Models and Hardware; Lab 2: Accounts
September 14 Lecture 04: C Arrays; Lab 3: C Structs; Programming Project 1: Jacobi Iteration [HTML] [PDF] Pacheco Ch. 2.1-2.3
September 19 Lecture 05: Processes; MPI Introduction; Lab 4: Processes and MPI Introduction
September 21 Lecture 06: Point to Point Communication; Lab 5: Point to Point Communication Pacheco Ch 3.1-3.3
September 26 Lecture 07: MPI on Stampede2; Lab 6: Running Jobs on Stampede2
September 28 Lecture 08: Non-Blocking Communication; Lab 7: Non-Blocking Messages Pacheco Ch. 3.4
October 3 Lecture 09: Collective Communication; Lab 8: Collective Communication
October 5 Lecture 10: Project 2 Introduction; Programming Project 2: Parallelizing Jacobi Iteration
October 10 Lecture 11: More Collective Communication; Lab 9: More Collective Communication
October 12 Lecture 12: Printing Distributed Data; Lab Work
October 17 Lecture 13: Introduction to Threading; Lab 10: Introduction to pthreads Pacheco Ch. 4.1-4.2
October 19 Lecture 14: Exam Review
October 23 Midterm Exam, 7:15 PM, RB 340
October 24 Lecture 15: Critical Sections; Lab 11: Critical Sections; Programming Project 3: Multithreaded Palindromic Word Finder; Term Project Out Pacheco Ch. 4.3-4.5
October 26 No Class
October 31 Boo. Lecture 16: Exam Recap; Project Clarifications; Lab Work
November 2 Lecture 17: Performance; Lab 12: Performance Pacheco Ch. 2.6
November 7 No class: EDSIGCON presentation
November 9 Lecture 18: Lab and Project Work
November 14 Lecture 19: TSP Project Introduction; Scientific Computing Introduction; Programming Project 4: Traveling Salesperson Problem Pacheco Ch. 6.2; Topic Notes: Scientific Computing
November 16 Lecture 20: Adaptive Quadtree Computation
November 21 Lecture 21: More Adaptive Quadtree Computation
November 23 No Class: Happy Thanksgiving!
November 28 Lecture 22: Partitioning and Dynamic Load Balancing
November 30 Lecture 23: Partitioning and Dynamic Load Balancing
December 5 Lecture 24: Project Presentations
December 7 Lecture 25: Project Presentations
December 15 Final Exam, 4-6 PM