CS 554 / CSE 512: Parallel Numerical Algorithms (Fall 2021)
What  Where 

Time  Wed/Fri 11:0012:15 
Physical Location  1109 Siebel 
Virtual Location  Zoom: https://illinois.zoom.us/j/81101310642 (email Edgar to ask for password) 
Instructor  Edgar Solomonik (office: 4229 Siebel, email: solomon2@illinois.edu) 
Instructor Office Hours  23 pm Wednesdays, 4229 Siebel + virtual via same link as lecture 
TA  Linjian Ma (email: lma16@illinois.edu) 
TA Office Hours  23 pm Mondays, virtual via https://illinois.zoom.us/j/97556863368 (same password as lecture zoom) 
Class URL  https://relate.cs.illinois.edu/course/cs554f21/ 
Class recordings  Mediaspace: https://mediaspace.illinois.edu/channel/CS%2B554%2B_%2BCSE%2B512/226512163 
Web forum  Mattermost chat: https://chat.labpna.net/cs554fall2021 (email Edgar to ask for invite link) 
Brief Course Description
Numerical algorithms for parallel computers: parallel algorithms in numerical linear algebra (dense and sparse solvers for linear systems and the algebraic eigenvalue problem), numerical handling of ordinary and partial differential equations, and numerical optimization techniques.
Assignments
Course organization
Virtual and physical participation for all components the course will be made possible. Late enrollment/registration is also possible (immediate participation is welcome if registration is anticpated).
Grading: 36% project, 28% homework, 18% midterm, 18% final, may be subject to upwards curve
Projects: Submit initial proposal by Oct 20, revisions may be requested and will be due Oct 29. Students will have the option of preparing a final report or a poster presentation. Projects related to ongoing investigations or overlapping with other courses are encouraged, so long as they have some component related to this course.
Slides and notes are based on the Fall 2015 slides by Michael T. Heath. Resources relevant to the course are available also on the old course webpage by Prof. Heath. See also the previous course webpage.
Course Outline

Chapter 1: Parallel Computing
 Notes
 Lecture Slides
 Past Lecture Videos (2017/2019)

Chapter 2: Parallel Thinking
 Notes

Parallel Algorithm Design
 Lecture Slides
 Past Lecture Videos (2017/2019)

Parallel Programming
 Lecture Slides
 Past Lecture Videos (2017/2019)

Parallel Perfromance
 Lecture Slides
 Past Lecture Videos (2017/2019)

Chapter 3: Dense Linear Systems

Vector and Matrix Products
 Lecture Slides
 Past Lecture Videos (2017/2019)

LU Factorization
 Lecture Slides
 Past Lecture Videos (2017/2019)

Triangular Linear Systems
 Lecture Slides
 Past Lecture Videos (2017/2019)

Vector and Matrix Products

Chapter 4: Sparse Linear Systems

Direct Methods
 Lecture Slides
 Past Lecture Videos (2017/2019)

Tridiagonal and Banded Matrices
 Lecture Slides
 Past Lecture Videos (2017/2019)

Sparse Iterative Methods
 Lecture Slides
 Past Lecture Videos (2017/2019)

Direct Methods

Chapter 5: Eigenvalue Problems

QR Factorization
 Lecture Slides
 Past Lecture Videos (2017/2019)

Eigenvalue Computation
 Lecture Slides
 Past Lecture Videos (2017/2019)

QR Factorization

Chapter 6: Matrix Models

Fast Fourier Transform
 Lecture Slides
 Past Lecture Videos (2017/2019)

Low Rank Approximation
 Lecture Slides
 Past Lecture Videos (2017/2019)

Numerical Optimization
 Lecture Slides
 Past Lecture Videos (2017/2019)

Fast Fourier Transform

Chapter 7: Differential Equations

Ordinary Differential Equations
 Lecture Slides
 Past Lecture Videos (2017/2019)

Partial Differential Equations
 Lecture Slides
 Past Lecture Videos (2017/2019)

Particle Methods
 Lecture Slides
 Past Lecture Videos (2017/2019)

Electronic Structure Calculations
 Lecture Slides
 Past Lecture Videos (2017/2019)

Tensor Analysis
 Lecture Slides
 Past Lecture Videos (2017/2019)

Ordinary Differential Equations