• Review01

    tl;dr: Thats all folks, final review
    Artifacts: [slides]

  • Graduate Student Lecture II

    tl;dr: Topical discussions by graduate students ...

    Class presentations by graduate students on HPC topics, attendance is mandatory for all students.

    Speakers for the day:


  • Graduate Student Lecture I

    tl;dr: Topical discussions by graduate students ...

    Class presentations by graduate students on HPC topics, attendance is mandatory for all students.

    Speakers for the day:


  • Future of HPC

    Artifacts: [slides]

  • MPI Hands-On II

    Artifacts: [slides]

    Readings: [Chapter 21]


  • MPI III

    tl;dr: Adding OpenMP to MPI
    Artifacts: [slides]

  • No Class Meeting

    tl;dr: Take time to explore MPI

    Spend some time coding MPI!


  • MPI II

    tl;dr: More MPI
    Artifacts: [slides]

  • MPI Hands-On I

    tl;dr: Coding with MPI
    Artifacts: [slides]

  • MPI I

    tl;dr: Introduction to Message Passing Interface
    Artifacts: [slides]

  • Visualization

    tl;dr: Introduction to visualization in HPC world
    Artifacts: [slides]

    Readings: [Chapter 08]

    Supplemental Readings:


  • Review00

    tl;dr: All lectures and readings up till today
    Artifacts: [slides]

  • Checkpointing and Performance

    tl;dr: Saving your work and measuring performance
    Artifacts: [slides]

    Readings: [Chapter 12]


  • Algorithms and Debugging

    tl;dr: Algorithms used in HPC and debugging strategies
    Artifacts: [slides]

    Readings: [Chapter 13][Chapter 20]


  • Introduction to CUDA

    tl;dr: CUDA enables general-purpose computing on Nvidia GPUs
    Artifacts: [slides]

    Guest lecture by Professor Lan (University of Illinois Chicago) on CUDA.


  • Introduction to SYCL

    tl;dr: SYCL brings heterogeneous computing to C++
    Artifacts: [code]

    Guest lecture by Professor Thiruvathukal (Loyola University) on SYCL.


  • OpenMP Hands-On II

    tl;dr: Modules and PBS Discussion
    Artifacts: [slides] [code]

  • OpenMP II

    tl;dr: More OpenMP
    Artifacts: [slides]

  • OpenMP Hands-On I

    tl;dr: Introduction to Parallel Painting OpenMP Project
    Artifacts: [slides]

  • OpenMP I

    tl;dr: Initial OpenMP discussion, basic idea and how it works
    Artifacts: [slides] [code]

  • Threads and Creating Graphs

    tl;dr: Review / introduction to C++ threads and simple python graphs
    Artifacts: [slides] [code]

    Readings: [Chapter 07]

    Supplemental Reading:

    • Multicore and GPU Programming (Gerassimos Barlas) - Shared-Memory Programming: OpenMP
    • Parallel Programming (Bertil Schmidt, Jorge Gonzalez-Martinez, Christian Hundt and Moritz Schlarb) - OpenMP

  • Benchmarking and Resource Management

    tl;dr: What's a benchmark and why? Introduction to resource management
    Artifacts: [slides]

  • Commodity Clusters

    tl;dr: Brief overview of commodity clusters and deep dive into the Aurora supercomputer
    Artifacts: [slides]

    Readings: [Chapter 04][Chapter 05 [Only 5.1 and 5.3]]


  • Systems and Technologies

    tl;dr: A brief look at systems and technologies, what are the key properties of HPC architecture
    Artifacts: [slides]

    Readings: [Chapter 03]


  • Introduction and History HPC

    tl;dr: Introduction to high performance computing and its history ...
    Artifacts: [slides]

    Readings: [Chapter 02]


  • Class Tools and Resources II

    tl;dr: C++ and Makefiles
    Artifacts: [slides] [code]

    Readings: [Chapter 01]


  • Class Tools and Resources I

    tl;dr: Git, GitHub and GitHub Classroom...
    Artifacts: [slides]

  • Welcome to HPC

    tl;dr: Discussion of course, expectations and general overview...
    Artifacts: [slides]