Math 447/627 - Introduction to Parallel Computing

Fall 2023 - Matthias K. Gobbert

Detailed Schedule - Last Updated 10/06/23


The synchronous class meetings are on Tuesdays and Thursdays, 01:00-02:15, please see the detailed schedule below for more information.
This schedule is designed to give you an overview of the material to be covered and is tentative in nature. This is a living document and will be updated throughout the semester.
The chapter numbers refer to Peter S. Pacheco, Parallel Programming with MPI, Morgan Kaufmann, 1997.
The numbers HW1a, HW1b, HW2a, etc. in the Class column indicate homeworks "HW" due as PDF upload to Blackboard on that day.
The numbers BQ0a, BQ0b, etc. in the Main Topic column indicate online Blackboard quizzes "BQ" due before that class.
The numbers GQ0a, GQ0b, GQ2a, GQ2b, etc. in the Main Topic column indicate in-class group quizzes "GQ" during that class due as PDF upload.
These numbers in the detailed schedule are designed to show the teaching philosophy and learning techniques associated with each class meeting.
See the Assignments area of the Blackboard site for our course for the precise due dates and times.


Class Date Main Topic
1, HW1a Th 08/31 Module 1: Motivation for parallel computing and overview, BQ0a, GQ0a, pre-assessment
2 Tu 09/05 Module 1: Linux and serial ANSI-C "Hello, world!" on the HPCF cluster, IQ0b
3, HW1b Th 09/07 Module 1: Parallel "Hello, world!" and running jobs on the HPCF cluster, GQ0b
4 Tu 09/12 Module 2: Chapter 3: Greetings!
5, HW2a Th 09/14 Module 2: Chapter 9: Debugging Your Program - deadlock
6 Tu 09/19 Module 2: Chapter 4: An Application: Numerical Integration, GQ2a
7 Th 09/21 Module 2: Chapter 9: Debugging Your Program - load-balancing
8 Tu 09/26 Module 2: Scientific computing: numerical error vs. accumulated round-off, GQ2b
9, HW2b Th 09/28 Module 2: Chapter 11: Performance of trapezoidal rule
10 Tu 10/03 Module 3: Chapter 5: Collective Communication
11 Th 10/05 Module 3: Scientific computing tools: Make utility, matrix representation
12, HW3a Tu 10/10 Module 3: Chapter 5: Collective Communication
13 Th 10/12 Module 3: Chapter 10: Design and Coding of Parallel Programs (power method)
14 Tu 10/17 Module 3: Chapter 11: Performance of power method
15, HW3b Th 10/19 Module 3: Chapter 11: Performance of power method
16 Tu 10/24 Module 4: Scientific computing tools: BLAS, LAPACK, BLACS, ScaLAPACK, PETSc (Chapter 15)
17, HW4a Th 10/26 Report on project background, GQ4a
18 Tu 10/31 Module 4: Scientific computing tools: BLAS
19, HW4b Th 11/02 Module 4: Scientific computing tools: BLAS
20 Tu 11/07 Module 5: Chapter 10: Design and Coding of Parallel Programs (CG method)
21, HW5a Th 11/09 Module 5: Chapter 13: Advanced Point-to-Point Communication
22, HW5b Tu 11/14 Module 5: Chapter 13: Advanced Point-to-Point Communication
23, HW5c Th 11/16 Module 5: Chapter 12: More on Performance
24 Tu 11/21 History of High-Performance Computing, IQ9a
Th 11/23 Thanksgiving Holiday
25 Tu 11/28 Update on project work
26, HW5d Th 11/30 Module 6: OpenMP Multi-Threading in Parallel Computing
27 Tu 12/05 Module 6: Chapters 2, 10 (Sorting), 6, Appendix A
28 Th 12/07 Module 6: IEEE Standard for Floating-Point Arithmetic
29 Tu 12/12 Update on project work, post-assessment
Tu 12/19 01:00 p.m. Project Presentations; note the date and time!

Copyright © 2001-2023 by Matthias K. Gobbert. All Rights Reserved.
This page version 1.3, October 2023.