CSC Summer School in High-Performance Computing About
Updated for 7303be1 (2024-07-02 10:47:56 +0300)

Slides (HTML)

1. Introduction to supercomputing

2. Parallel computing and programming

3. Parallel algorithms

Group work: parallel sum

1. Working in supercomputers

1. Introduction to MPI

2. Point-to-point communication

3. MPI programming practices

4. Collective communication

5. Collective reductions

6. Non-blocking communication

7. User-defined communicators

8. Further MPI topics

Parallel debugging

Message Passing Game

Extra: One-sided communication

Extra: Persistent communication

Extra: Process topologies

Extra: User-defined datatypes

1. Introduction to parallel I/O

2. MPI-IO and I/O libraries

3. HDF5

1. Introduction to hybrid programming

2. Introduction to OpenMP

3. OpenMP library routines and data sharing

4. OpenMP reductions and execution control

5. Using MPI with OpenMP threads

6. OpenMP tasks

1. Introduction to GPUs in HPC

2. OpenMP offloading: introduction

3. OpenMP offloading: data movement

4. OpenMP offloading: unstructured data regions

5. OpenMP offloading: device functions

6. OpenMP interoperability with libraries and HIP

1. HIP and GPU kernels

2. Synchronization, streams, and asynchronous operations

3. Memory allocations, access, and unified memory

4. Fortran and HIP

5. Multi-GPU programming and HIP/OpenMP + MPI

1. Introduction to Application Performance

2. GPU performance optimization

3. MPI performance analysis

4. Single node performance optimization

1. Testing software

1. How to build software?


Slides (PDF)

1. Introduction to supercomputing

2. Parallel computing and programming

3. Parallel algorithms

Group work: parallel sum

1. Working in supercomputers

1. Introduction to MPI

2. Point-to-point communication

3. MPI programming practices

4. Collective communication

5. Collective reductions

6. Non-blocking communication

7. User-defined communicators

8. Further MPI topics

Parallel debugging

Message Passing Game

Extra: One-sided communication

Extra: Persistent communication

Extra: Process topologies

Extra: User-defined datatypes

1. Introduction to parallel I/O

2. MPI-IO and I/O libraries

3. HDF5

1. Introduction to hybrid programming

2. Introduction to OpenMP

3. OpenMP library routines and data sharing

4. OpenMP reductions and execution control

5. Using MPI with OpenMP threads

6. OpenMP tasks

1. Introduction to GPUs in HPC

2. OpenMP offloading: introduction

3. OpenMP offloading: data movement

4. OpenMP offloading: unstructured data regions

5. OpenMP offloading: device functions

6. OpenMP interoperability with libraries and HIP

1. HIP and GPU kernels

2. Synchronization, streams, and asynchronous operations

3. Memory allocations, access, and unified memory

4. Fortran and HIP

5. Multi-GPU programming and HIP/OpenMP + MPI

1. Introduction to Application Performance

2. GPU performance optimization

3. MPI performance analysis

4. Single node performance optimization

1. Testing software

1. How to build software?

Download a zip file containing all slides.