Skip to content

Latest commit

 

History

176 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HPC

Support and exercise files for HPC, including the books and the course designed to help you learn and practice high-performance computing concepts. Exercises are provided to be run in an HPC cluster, and some can also be executed in Google Colab.

Structure of the Repository

  • Assignments: Practical assignments for each module of the course.
  • Chapter Examples: Example notebooks to help you practice the concepts covered in the lessons.
  • Cluster guide: Reusable SciTech HPC cluster access and Slurm instructions.
  • Session demos: Small reproducible examples used during live sessions.

SciTech HPC cluster

Reusable cluster access guide

Session 9 GPU demo


Loading Notebooks from GitHub in JupyterHub

You can load the following notebooks directly from GitHub into JupyterHub by using the "File -> Open from URL" option in Jupyter.

Assignments

M1.P1. Intro to Slurm

M1.P2. Simple Parallel Codes

M2.P1. OpenMP

M2.P2. MPI

M3.P1. Performance Tuning


Chapter Examples (Lessons)

1.M1.S1. Evolution and Fundamentals of HPC (1.1)

2.M1.S2. Architectural Overview of HPC Systems (1.2)

3.M1.S3. Resource Management & Performance Metrics in Parallel

4.M1.S4. Cloud-based HPC and Virtualization Containers in HPC

5.M1.S5. HPC in Health & Neurosciences (1.5)

7.M2.S2. OpenMP (2.2)

8.M2.S3. Deep Dive MPI (2.3)

9.M2.S4. GPU Computing, OpenACC, CUDA Basics (2.4)


How to Use

  1. HPC Cluster: These notebooks are meant to be executed on an HPC cluster, but some can also run on platforms like Google Colab.
  2. Direct URL Loading: Use the provided raw GitHub links to load the notebooks directly into Jupyter or JupyterHub using the "File -> Open from URL" option.

Contributions

Feel free to contribute to the course materials by creating pull requests, adding additional exercises, or reporting issues.


2026 Interactive Session Notebooks

Current teaching notebooks are organized by Module → Session using the canonical MxSy identifier.

Module 1

  • M1.S1 - Fundamentals of HPC: from serial code to a supercomputer

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File -> Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M1S1_fundamentals/M1S1_fundamentals.ipynb
  • M1.S2 - Evolution of supercomputing and the modern HPC landscape

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File -> Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M1S2_evolution_landscape/M1S2_evolution_landscape.ipynb
  • M1.S3 - Architecture of HPC systems

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File -> Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M1S3_hpc_architecture/M1S3_hpc_architecture.ipynb
  • M1.S4 - Resource management and performance metrics

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File -> Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M1S4_resource_management/M1S4_resource_management.ipynb
  • M1.S5 - Asynchronous Guided HPC Workflow

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File -> Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M1S5_async_hpc_workflow/M1S5_async_hpc_workflow.ipynb

Module 2

  • M2.S1 — Parallel Thinking and Decomposition

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File → Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M2S1_parallel_thinking/M2S1_parallel_thinking.ipynb
  • M2.S2 — Shared-memory computing with OpenMP

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File → Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M2S2_openmp/M2S2_openmp.ipynb
  • M2.S3 — Distributed-memory computing with MPI

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File → Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M2S3_mpi/M2S3_mpi.ipynb
  • M2.S4 — Introduction to GPU and Accelerator Computing

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File → Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M2S4_gpu_accelerators/M2S4_gpu_accelerators.ipynb
  • M2.S5 - Asynchronous Guided Lab: One Parallel Application

    • Session folder
    • Notebook
    • Raw URL for JupyterLab File -> Open from URL...: https://raw.githubusercontent.com/OscarDiez/hpc_course/main/sessions/M2S5_async_parallel_app/M2S5_async_parallel_app.ipynb

Legacy notebooks remain in chapters_examples/ and x_archive/. New 2026 notebooks use sessions/MxSy_topic/.

About

Practical course materials for High-Performance Computing: assignments, scripts, examples, and teaching resources based on the two-volume HPC textbook.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages