Parallel Numerical Algorithms

Unofficially: Super Algorithms for SuperComputers


Instructor : Prof. Amanda Bienz Email : bienz@unm.edu
Classroom : Dane Smith Hall 233 Class Time : T/Th 12:30-1:45
Office : FEC 3060 Office Hours : TBD

Welcome to Super Algorithms for Supercomputers! This website contains information about the course. Course description and policies can also be found in the syllabus. Slides and due dates will be posted alongside the schedule. Lecture recordings will only be available on UNM Learn due to privacy policies.

COVID 19 Information

UNM Administrative Mandate on Required Vaccinations

All students, staff, and instructors are required by UNM Administrative Mandate on Required Vaccinations to be fully vaccinated for COVID-19 as soon as possible, but no later than September 30, 2021, and must provide proof of vaccination or of a UNM validated limited exemption or exemption no later than September 30, 2021 to the UNM vaccination verification site. Students seeking medical exemption from the vaccination policy must submit a request to the UNM verification site for review by the UNM Accessibility Resource Center. Students seeking religious exemption from the vaccination policy must submit a request for reasonable accommodation to the UNM verification site for review by the Compliance, Ethics, and Equal Opportunity Office. For further information on the requirement and on limited exemptions and exemptions, see the UNM Administrative Mandate on Required Vaccinations.

UNM Requirement on Masking in Indoor Spaces

All students, staff, and instructors are required to wear face masks in indoor classes, labs, studios and meetings on UNM campuses, see masking requirement. Qualified music students must follow appropriate specific mask policies issued by the Chair of the Department of Music and the Dean of the College of Fine Arts. Vaccinated and unvaccinated instructors teaching in classrooms must wear a mask when entering and leaving the classroom and when moving around the room. When vaccinated instructors are able to maintain at least six feet of distance, they may choose to remove their mask for the purpose of increased communication during instruction. Instructors who are not vaccinated (because of an approved medical or religious exemption), or who are not vaccinated yet, must wear their masks at all times. Students who do not wear a mask indoors on UNM campuses can expect to be asked to leave the classroom and to be dropped from a class if failure to wear a mask occurs more than once in that class. With the exception of the limited cases described above, students and employees who do not wear a mask in classrooms and other indoor public spaces on UNM campuses are subject to disciplinary actions.

Course Information

Course Format

This course will be offered face-to-face. All lectures will also be live-streamed over zoom, and recordings of lectures will be posted on UNM learn. There is no attendance policy, but you will be responsible for all material covered in each class. You will have one exam at the end of October. Beginning in early November, the course will transition into project work. You will be expected to complete one to two online lectures/recordings per week along with related questions sets. The remainder of class time will be available for you to work on your course projects.

Course Description

CS 491 / 591 Parallel Numerical Algorithms is an upper-level course on efficient numerical algorithms for supercomputers. We will cover many topics including parallel scalability, profiling tools for parallel code, dense matrix operations, LU factorization, sparse matrix operations, iterative methods, and many related methods. You will learn techniques for forming parallel algorithms, will learn to profile parallel codebases to pinpoint bottlenecks, and will learn strategies for avoiding parallel bottlenecks. This is a project-based course. You will be expected to spend a large portion of the semester working independently on with a small group on a research project related to parallel numerical algorithms.

Course Topics

A large variety of parallel numerical algorithms will be covered in this class. This includes, but is not limited to, the following. If you would like an additional numerical algorithm covered, please let me know and I will see if that is possible.

Numerical Algorithm
Dense Matrix Operations
Partitioning of Dense Matrices
LU factorization
Sparse Matrix Operations
Graph Partitioning
Krylov Methods
Jacobi and Gauss-Seidel
FFTs
Multigrid Methods

Furthermore, we will profile and analyze popular existing parallel codebases for the various algorithms covered in the course. We will investigate parallel performance bottlenecks for each, and discuss possible methods for removing these bottlenecks.

Grading

Grades are given based on the standard 10-point scale (90-100 A, 80-89.9 B, etc.). Note, there will be minuses and pluses (e.g. 90-93 A-) and I rarely give A+'s. There will be no curve for the course. The grades are broken down as follows:

Component Percentage of Grade
In-class questions 5%
Piazza discussion 5%
Exam 10%
Homework assignments 35%
Course Project 45%

Course Materials

There will be no textbook for this course. You will be given papers to read on relevant topics.

Prerequisites

There are no official pre-requisites for this course. It will be helpful if you have taken either a parallel programming (e.g. CS 442) or a numerical analysis course (e.g. CS471). If you have no background in parallel programming, you will be expected to go through a tutorial in the first weeks of class to learn the needed background. If you have limited numerics background, you will be expected to read PDFs on the various topics covered in this class that cover serial numerical algorithms. For example, before we cover parallel LU factorization in class, you will be expected to read a given PDF on what LU factorization is and how it works serially.

Class Schedule

Date Content Due Reading
08/24/21 Introduction to Parallel Processing When Is Good Office Hour Poll
08/26/21 Parallel Communication
08/31/21
09/02/21 Parallel Performance Assignment 1
09/07/21
09/09/21 Profiling and Tracing
09/14/21 Overview of CARC Systems
09/16/21 Dense Matrix Operations
09/21/21
09/23/21
09/28/21
09/30/21
10/05/21
10/07/21
10/12/21
10/14/21
10/19/21
10/21/21
10/26/21 Iterative Methods
10/28/21
11/02/21
11/04/21
11/09/21
11/11/21
11/16/21
11/18/21
11/23/21
11/25/21 No Class - Thanksgiving
11/30/21
12/02/21
12/07/21
12/09/21
Finals Period Project Posters / Presentations
Last Day of Finals Project Reports

Course Policies

Attendance Policy

All classes can be attended online. Attendance is not required, but you will be responsible for material covered during each class. There are micro-assessments due throughout the semester (in class-questions). Missed micro-assessments cannot be made up. The purpose of these micro-assessments is to show how much of the covered material is understood and to determine if further time should be spent on a topic. In total, they only count for 5% of the final grade for the course.

Incomplete and Late Assignments

Late assignments are accepted but penalized unless a valid excuse is communicated well before the deadline. If the deadline is missed due to unforeseeable circumstances, we will work something out. Barring a valid excuse, an assignment will be accepted for a 50% reduction once grading has begun. Late work will not be accepted after solutions have been posted.

Regrading Requests

Requests for regrading of assignments or exams should be made within two weeks of the date from which the assignment is returned. Assignments will not be regraded after that point. Regrading requests can be made via email.

Academic Integrity

Each student is expected to maintain the highest standards of honesty and integrity in academic and professional matters. The University reserves the right to take disciplinary action, up to and including dismissal, against any student who is found guilty of academic dishonesty or otherwise fails to meet the standards. Any student judged to have engaged in academic dishonesty in course work may receive a reduced or failing grade for the work in question and/or for the course.Academic dishonesty includes, but is not limited to, dishonesty in quizzes, tests, or assignments; claiming credit for work not done or done by others; hindering the academic work of other students; misrepresenting academic or professional qualifications within or without the University; and nondisclosure or misrepresentation in filling out applications or other University records.

Accomodations for Disabilities

In accordance with University Policy 2310 and the Americans with Disabilities Act (ADA), academic accommodations may be made for any student who notifies the instructor of the need for an accommodation. It is imperative that you take the initiative to bring such needs to the instructor’s attention, as he/she are not legally permitted to inquire. Students who may require assistance in emergency evacuations should contact the instructor as to the most appropriate procedures to follow. Contact Accessibility Resource Center at 277-3506 for additional information.

If you need accommodation regarding the course format or course requirements, please contact me as soon as possible. We will work with the Disability Services Office to develop a plan for accommodation.

Sexual Harassment and Title XI

In an effort to meet obligations under Title IX, UNM faculty, Teaching Assistants, and Graduate Assistants are considered “responsible employees” by the Department of Education \\ (see pg 15 http://www2.ed.gov/about/offices/list/ocr/docs/qa-201404-title-ix.pdf).\\ This designation requires that any report of gender discrimination which includes sexual harassment, sexual misconduct and sexual violence made to a faculty member, TA, or GA must be reported to the Title IX Coordinator at the Office of Equal Opportunity (oeo.unm.edu). For more information on the campus policy regarding sexual misconduct, see: https://policy.unm.edu/university-policies/2000/2740.html