AMATH 483/583 High-Performance Scientific Computing
  • Course Essentials
  • Course Calendar
  • Syllabus
    • Important Notice for Spring 2022
    • Grading Policies and Procedures
    • Computer Usage and Requirement
    • Course Collaboration
    • Academic Honesty
    • Recommendations
    • Course Errata
  • Lectures
    • Lecture 1: Course Overview and Introduction to HPC
    • Lecture 2: Starting out with C++
    • Lecture 3: Further Adventures in Programming with C++
    • Lecture 4: The Vector class
    • Lecture 5: The Matrix class
    • Lecture 6: CPUs
    • Lecture 7: Optimizing for CPUs and Hierarchial Memory
    • Lecture 8: BLAS, Roofline Model, Strassen’s Algorithm
    • Lecture 9: Strassen’s Algorithm. Sparse Matrices.
    • Lecture 10: Introduction to Concurrency and Parallel Computing
    • Lecture 11: Shared Memory Parallelism, Correctness, Performance
    • Lecture 12: Tasks, async, C++ Concurrency
    • Lecture 13: Two-Norm, PageRank, Lambda
    • Lecture 14: OpenMP
    • Lecture 15: GPUs
    • Lecture 16: GPUs
    • Lecture 17: Distributed Memory
    • Lecture 18: Message Passing
    • Lecture 19: The Message Passing Interface
    • Lecture 20: Cannon’s Algorithm
  • Assignments
    • Problem Set #1
    • Problem Set #2
    • Problem Set #3
    • Problem Set #4
    • Midterm Evaluation
    • Problem Set #5
    • Problem Set #6
    • Problem Set #7
    • Problem Set #8
    • Final Exam
  • Excursus
    • The Pre Processor
    • Docker
    • Set Up Your Development Environment (Without Docker)
    • Walkthrough of Performance Profiling
    • Memory Management (Or: I got a segmentation violation, now what?)
    • Walkthrough of the Basic Basics of Using a Symbolic Debugger
    • Function Objects
    • More on Lambda
    • Sparse vs Dense Computation (Or, How to be Faster while Being Slower)
    • Connecting to Hyak with Visual Studio Code
    • A note on encryption for those interested
  • Additional Resources
    • Texts and Other Useful References
    • Accessing Amazon Web Services (AWS) Servers
    • Tutorial: Modern C++ for High Performance Computing
    • Spring 2019 AMATH 483/583
    • Spring 2020 AMATH 483/583
    • Spring 2021 AMATH 483/583
  • Bibliography
 
AMATH 483/583 High-Performance Scientific Computing
  • Table of Contents »
  • Assignments

Assignments¶

  • Problem Set #1
    • Background
    • Preliminaries
    • Docker
    • Warm Up
    • Exercises
    • Turning in The Exercises
  • Problem Set #2
    • Background
    • Introduction
    • Preliminaries
    • Warm Up
    • Exercises
    • Turning in The Exercises
  • Problem Set #3
    • Background
    • Introduction
    • Preliminaries
    • Warm Up
    • Exercises
    • Turning in the Exercises
  • Problem Set #4
    • Background
    • Introduction
    • Preliminaries
    • Warm Up
    • Exercises
    • Submitting Your Work
  • Midterm Evaluation
    • Background
    • Introduction
    • Warm Up
    • Problems
    • Submitting Your Work
  • Problem Set #5
    • Background
    • Introduction
    • Preliminaries
    • Warm Up
    • Exercises
    • Submitting Your Work
  • Problem Set #6
    • Background
    • Introduction
    • Preliminaries
    • Warm Up
    • Exercises
  • Problem Set #7
    • Background
    • Introduction
    • Preliminaries
    • Warm Up: PS6 Reprise
    • Problems
  • Problem Set #8
    • Background
    • Introduction
    • Iterative Solvers
    • Preliminaries
    • Warm Up
    • Problems
    • Submitting Your Work
  • Final Exam
    • Background
    • Introduction
    • Eigenfaces
    • Data Files
    • test.bash and verify.bash
    • Base Case: eigenfaces_seq
    • Sequential Optimization: eigenfaces_opt
    • Parallelization
    • Blocking for Cache (AMATH 583)
    • Using dgemm library call (Extra Credit)
    • MPI: eigenfaces_mpi
    • max.bash
    • Submitting Your Work
Next Previous

Copyright © 2020-2022, Andrew Lumsdaine

Unless otherwise noted, all material on this site are licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

© Copyright 2020-2022, Andrew Lumsdaine. Created using Sphinx 4.5.0.