The Gray Scott HPC Summer School

You will be able to join only the first week of the summer school, from June 23rd to June 28th.
Master high-performance computing on CPUs while simulating the elegant complexity of the Gray-Scott reaction.

The school will cover the optimisation of computations on different types of hardware (CPU, GPU), presenting their respective characteristics, architectures and bottlenecks. It will cover generic optimization methods applicable to all types of hardware, as well as the various libraries, technologies and languages available to achieve the best possible performance. Ideally, the peak performance of the machine.

The school is co-organised by HLRS and LAP for EuroCC@GCS and CC-FR, all National Competence Centres for High-Performance Computing.

Location

HLRS, University of Stuttgart
Nobelstraße 19
70569 Stuttgart, Germany
Room 0.439 / Rühle Saal
Location and nearby accommodations

Start date

Jun 23, 2025
13:30

End date

Jun 28, 2025
18:00

Language

English

Entry level

Basic

Intermediate

Course subject areas

Parallel Programming

Programming Languages for Scientific Computing

Topics

C/C++

MPI

MPI+OpenMP

Numerical Methods

OpenMP

Python

Back to list

Prerequisites and content levels

Prerequisites
  • Basic experience with C++, Fortran, Rust, Python, Julia programming
Content levels
  • Basic: 27 hours
  • Intermediate: 7.5 hours

Learn more about course curricula and content levels.

Learning outcomes

The school will cover the optimization of computations on different types of hardware (CPU, GPU), presenting their respective characteristics, architectures and bottlenecks. It will cover generic optimization methods applicable to all types of hardware, as well as the various libraries, technologies and languages available to achieve the best possible performance. Ideally, the peak performance of the machine.

  • Hardware: CPU, GPU
  • Languages considered: C++17, C++20, CUDA, Fortran, Rust, Python, Julia
  • Libraries considered: SYCL, Eve, Numpy, cunumerics, legate, Jax, Thrust, cuPy, pycuda and PyTorch
  • Compilers considered: G++, Clang++, nvc++, gfortran, nvfortran, dpc++.
  • Profiling tools: Valgrind, Maqao, Perf, NSight, Malt and NumaProf

All the methods will be illustrated on simple examples, such as Hadamard products, reductions, barycentre calculations and matrix products, in order to be applied to a single problem: the simulation of a Gray Scott reaction.

This problem is simple enough to be understood quickly and complex enough for compilers to have difficulty optimizing it without help. Each method will be broken down into a simple version, using default options, and one or more advanced versions, which will allow their advantages and disadvantages to be discussed and quantified.

Agenda

CEST time:

Day 1 (Mond, June 23): Introduction

  • 13:30  - 14:00 Registration / Welcome Coffe
  • 14:00  - 14:10 Welcome
  • 14:10  - 14:30 Gray Scott School Introduction
  • 14:30  - 15:00 CPU Architecture
  • 15:00  - 15:30 Vectorization vs. Parallelization
  • 15:30  - 16:00 Break
  • 16:00  - 17:00 What is complitation?
  • 17:00  - 18:00 Did you say Unit Test?

Day 2 (Tue, June 24): C++ 17/2023 on CPU

  • 09:00  - 10:30 C++ 17/2023 on CPU
  • 10:30  - 11:00 Break
  • 11:00  - 12:00 C++ 17/2023 on CPU
  • 12:00  - 14:00 Lunch break
  • 14:00  - 15:30 C++ Advanced Optimization (Pyramid)
  • 15:30  - 16:00 Break
  • 16:00  - 18:00 Theory and profiling tools

Day 3 (Wed, June 25): SYCL 2020 on CPU

  • 09:00  - 10:30 SYCL 2020 on CPU
  • 10:30  - 11:00 Break
  • 11:00  - 12:00 SYCL 2020 on CPU
  • 12:00  - 14:00 Lunch break
  • 14:00  - 15:30 Fortran 2018 on CPU
  • 15:30  - 16:00 Break
  • 16:00  - 17:00 Fortran 2018 on CPU
  • 17:00  - 18:30 Theory and profiling tools

Day 4 (Thu, June 26): Rust on CPU

  • 09:00  - 10:30 Rust on CPU
  • 10:30  - 11:00 Break
  • 11:00  - 12:00 Rust on CPU
  • 12:00  - 14:00 Lunch break
  • 14:00  - 15:30 Rust on CPU
  • 15:30  - 16:00 Break
  • 16:00  - 17:00 Rust on CPU
  • 17:00  - 18:30 Computation and digital precision

Day 5 (Fri, June 27): Python on CPU

  • 09:00  - 10:30 Python computing on CPU
  • 10:30  - 11:00 Break
  • 11:00  - 12:00 Python computing on CPU
  • 12:00  - 14:00 Lunch break
  • 14:00  - 15:30 Python computing on CPU
  • 15:30  - 16:00 Break
  • 16:00  - 18:00 Impact of the system on application peformances

Day 6 (Sat, June 28): Python on CPU

  • 10:00  - 12:00 Little shifted handson
  • 12:00  - 14:00 Lunch break
  • 14:00  - 16:00 QA to teachers

Registration information

Register via the button at the top of this page.

Note: you will be able to join only the first week of the summer school, from June 23rd to June 28th.

This course is offered in cooperation by HLRS, LAPP. Registration is done via https://www.lapp.in2p3.fr. Your registration data will be transferred to these partners. For legal notes see the Privacy Policy.

Registration closes on June 13, 2025 at 23:55.

Fees

  • Students without Master's degree or equivalent. Participants from EU or EuroCC countries only: 0 EUR
  • PhD students or employees at a German university or public research institute: 0 EUR
  • PhD students or employees at a university or public research institute in an EU or EuroCC country other than Germany: 0 EUR.
  • Other participants, e.g., from industry, other public service providers, or government. Participants from EU or EuroCC countries only: 0 EUR

Our course fee includes coffee breaks (in classroom courses only).

For lists of EU and EuroCC countries have a look at the Horizon Europe and EuroCC website.

Only participants from institutions belonging to these countries can take part in this course.

Contact

Maksym Deliyergiyev phone 0711 685 87261, maksym.deliyergiyev(at)hlrs.de
Tobias Haas phone 0711 685 87223, tobias.haas(at)hlrs.de

HLRS Training Collaborations in HPC

HLRS is part of the Gauss Centre for Supercomputing (GCS), together with JSC in Jülich and LRZ in Garching near Munich. EuroCC@GCS is the German National Competence Centre (NCC) for High-Performance Computing. HLRS is also a member of the Baden-Württemberg initiative bwHPC.

This course is provided within the framework of EuroCC2.

Acknowledgements

Within the scope of the EuroCC2 project this training is offered free of charge. By participating in a training free of charge, companies receive state-aid corresponding to the regular market-prices listed in the service portfolio. Please note state-aid regulations in Germany.

EuroCC 2 and EuroCC4SEE have received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101101903 and No 101191697. The JU receives support from the European Union’s Digital Europe Programme and Germany, Bulgaria, Austria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, Greece, Hungary, Ireland, Italy, Lithuania, Latvia, Poland, Portugal, Romania, Slovenia, Spain, Sweden, France, Netherlands, Belgium, Luxembourg, Slovakia, Norway, Türkiye, Republic of North Macedonia, Iceland, Montenegro, Serbia, Bosnia and Herzegovina.

Further courses

See the training overview and the Supercomputing Academy pages.

Related training

All training

June 03 - 24, 2025

Online (flexible)


June 17 - 18, 2025

Online


July 01 - 04, 2025

Hybrid Event - Stuttgart, Germany


August 18 - September 26, 2025

Online (flexible)


September 01 - October 10, 2025

Online (flexible)


September 08 - 12, 2025

Stuttgart, Germany


September 10 - 11, 2025

Garching near Munich, Germany


October 13 - 17, 2025

Stuttgart, Germany


November 03 - December 05, 2025

Online (flexible)


November 25 - 28, 2025

Hybrid Event - Stuttgart, Germany


December 01 - 04, 2025

Online by JSC


December 08 - 12, 2025

Hybrid Event - Stuttgart, Germany