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 »
  • Additional Resources

Additional Resources¶

  • Texts and Other Useful References
    • Course Texts (Recommended)
    • Course Texts (Optional)
    • Other Useful References
  • Accessing Amazon Web Services (AWS) Servers
    • ssh
    • Using public-private key pairs
    • Visual Studio Code Insiders
    • X11 forwarding
    • Copying files to and from AWS
    • Rsync
  • Tutorial: Modern C++ for High Performance Computing
  • Spring 2019 AMATH 483/583
  • Spring 2020 AMATH 483/583
  • Spring 2021 AMATH 483/583
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.