Repository with talks and exercises of our Efficient GPU Programming for Exascale tutorial, to be held at ISC26.
- Date: 22 July 2026
- Occasion: ISC26 Tutorial (Full Day)
- Tutors: Andreas Herten (JSC), Laura Morgenstern (NVIDIA), Lena Oden (Uni Hagen)
- Support: David Appelhans (NVIDIA), Simon Garcia de Gonzalo (SNL), Markus Hrywniak (NVIDIA) and Jiri Kraus (NVIDIA)
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 (only possible on-site at ISC26!):
- Sign up at JuDoor
- Open Jupyter JSC: https://jupyter.jsc.fz-juelich.de
- Create new Jupyter instance on JUPITER, using training26XX account, on LoginNode 1
- Source course environment:
source $PROJECT_training26XX/env.sh - Sync material:
jsc-material-sync - Locally install NVIDIA Nsight Systems: https://developer.nvidia.com/nsight-systems
- Lecture: Tutorial Overview, Introduction to System + Onboarding Andreas
- Lecture: MPI-Distributed Computing with GPUs Lena
- Hands-on: Multi-GPU Parallelization
- Lecture: Performance / Debugging Tools Laura
- Lecture: Optimization Techniques for Multi-GPU Applications Lena
- Hands-on: Overlap Communication and Computation with MPI
- Lecture: Overview of NCCL and NVSHMEN in MPI Lena
- Hands-on: Using NCCL and NVSHMEM
- Lecture: Device-initiated Communication with NVSHMEM Laura
- Hands-on: Using Device-Initiated Communication with NVSHMEM
- Lecture: Conclusion and Outline of Advanced Topics Andreas
Footnotes
-
JUPITER is the default. In the case the tutors tell to move to the backup (JUWELS Booster), launch a new Jupyter instance here. ↩