FZJ-JSC / tutorial-multi-gpu

Efficient Distributed GPU Programming for Exascale, an SC/ISC Tutorial

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SC23 Tutorial: Efficient Distributed GPU Programming for Exascale

DOI

Repository with talks and exercises of our Efficient GPU Programming for Exascale tutorial, to be held at SC23.

Coordinates

  • Date: 13 November 2023
  • Occasion: SC23 Tutorial
  • Tutors: Simon Garcia (SNL), Andreas Herten (JSC), Markus Hrywniak (NVIDIA), Jiri Kraus (NVIDIA), Lena Oden (Uni Hagen)

Setup

The tutorial is an interactive tutorial with introducing lectures and practical exercises to apply knowledge. The exercises have been derived from the Jacobi solver implementations available in NVIDIA/multi-gpu-programming-models.

Walk-through:

Curriculum:

  1. Lecture: Tutorial Overview, Introduction to System + Onboarding Andreas
  2. Lecture: MPI-Distributed Computing with GPUs Simon
  3. Hands-on: Multi-GPU Parallelization
  4. Lecture: Performance / Debugging Tools Markus
  5. Lecture: Optimization Techniques for Multi-GPU Applications Simon
  6. Hands-on: Overlap Communication and Computation with MPI
  7. Lecture: Overview of NCCL and NVSHMEN in MPI Jiri
  8. Hands-on: Using NCCL and NVSHMEM
  9. Lecture: Device-initiated Communication with NVSHMEM Jiri
  10. Hands-on: Using Device-Initiated Communication with NVSHMEM
  11. Lecture: Conclusion and Outline of Advanced Topics Andreas

About

Efficient Distributed GPU Programming for Exascale, an SC/ISC Tutorial

License:MIT License


Languages

Language:Cuda 44.9%Language:C++ 33.8%Language:Jupyter Notebook 12.3%Language:Makefile 7.2%Language:Shell 1.0%Language:TeX 0.6%Language:Python 0.2%