Math 447/627 - Introduction to Parallel Computing

Fall 2022 - Matthias K. Gobbert

Detailed Schedule - Last Updated 09/07/22


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

Copyright © 2001-2022 by Matthias K. Gobbert. All Rights Reserved.
This page version 1.5, November 2022.