CS 554 / CSE 512: Parallel Numerical Algorithms (Fall 2021)
What | Where |
---|---|
Time | Wed/Fri 11:00-12: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 | 2-3 pm Wednesdays, 4229 Siebel + virtual via same link as lecture |
TA | Linjian Ma (email: lma16@illinois.edu) |
TA Office Hours | 2-3 pm Mondays, virtual via https://illinois.zoom.us/j/97556863368 (same password as lecture zoom) |
Class URL | https://relate.cs.illinois.edu/course/cs554-f21/ |
Class recordings | Mediaspace: https://mediaspace.illinois.edu/channel/CS%2B554%2B_%2BCSE%2B512/226512163 |
Web forum | Mattermost chat: https://chat.labpna.net/cs554-fall2021 (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)
</li> </ul>
-
Chapter 2: Parallel Thinking
<li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Parallel Algorithm Design <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_02.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec3_part2.mp4">Lecture 3.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec4_part1.mp4">Lecture 4.1</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Parallel Programming <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_03.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec4_part2.mp4">Lecture 4.2</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Parallel Perfromance <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_04.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec6_part1.mp4">Lecture 6.1</a> </li> </ul> </li> </ul> </li> </ul>
-
Chapter 3: Dense Linear Systems
-
Vector and Matrix Products
<li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec7.mp4">Lecture 7</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec8_part1.mp4">Lecture 8.1</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> LU Factorization <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_06.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec8_part2.mp4">Lecture 8.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec9.mp4">Lecture 9</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec10_part1.mp4">Lecture 10.1</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Triangular Linear Systems <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_07.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec10_part2.mp4">Lecture 10.2</a> </li> </ul> </li> </ul> </li> </ul>
-
Chapter 4: Sparse Linear Systems
-
Direct Methods
<li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec11.mp4">Lecture 11</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec12.mp4">Lecture 12</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Tridiagonal and Banded Matrices <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_09.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec13_part1.mp4">Lecture 13.1</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Sparse Iterative Methods <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_10.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec13_part2.mp4">Lecture 13.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec14.mp4">Lecture 14</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec15_part1.mp4">Lecture 15.1</a> </li> </ul> </li> </ul> </li> </ul>
-
Chapter 5: Eigenvalue Problems
-
QR Factorization
<li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec15_part2.mp4">Lecture 15.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec16_part1.mp4">Lecture 16.1</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Eigenvalue Computation <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_12.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec16_part2.mp4">Lecture 16.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec17_part1.mp4">Lecture 17.1</a> </li> </ul> </li> </ul> </li> </ul>
-
Chapter 6: Matrix Models
-
Fast Fourier Transform
<li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec17_part2.mp4">Lecture 17.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec18.mp4">Lecture 18</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Low Rank Approximation <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_14.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec19.mp4">Lecture 19</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec20.mp4">Lecture 20</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Numerical Optimization <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_15.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec21.mp4">Lecture 21</a> </li> </ul> </li> </ul> </li> </ul>
-
Chapter 7: Differential Equations
-
Ordinary Differential Equations
<li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec22.mp4">Lecture 22</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Partial Differential Equations <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_17.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec22.mp4">Lecture 22</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec23_part1.mp4">Lecture 23.1</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Particle Methods <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_18.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec23_part2.mp4">Lecture 23.2</a> </li> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec24.mp4">Lecture 24</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Electronic Structure Calculations <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_19.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec25.mp4">Lecture 25</a> </li> </ul> </li> </ul> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece", "opened": true}'> Tensor Analysis <ul> <li data-jstree='{"icon": "fa fa-book"}'> <a href="repocur:slides/slides_20.pdf">Lecture Slides</a> </li> <li data-jstree='{"icon": "fa fa-puzzle-piece"}'> Past Lecture Videos (2017/2019) <ul> <li data-jstree='{"icon": "fa fa-paperclip"}'> <a href="https://solomonik.cs.illinois.edu/teaching/cs554/videos/lec26.mp4">Lecture 26</a> </li> </ul> </li> </ul> </li> </ul>
-
Ordinary Differential Equations
-
Fast Fourier Transform
-
QR Factorization
-
Direct Methods
-
Vector and Matrix Products