• 🎓🔗 The Gray Scott HPC Summer School
  • 2025-06-23T13:30:00+02:00
  • 2025-06-28T18:00:00+02:00
  • 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.
When

Jun 23, 2025 01:30 PM to Jun 28, 2025 06:00 PM
(Europe/Berlin / UTC200)

Where

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

Contact Name

Contact Phone

0711 685 87261

Add event to calendar

iCal

Master high-performance computing on CPUs while simulating the elegant complexity of the Gray-Scott reaction.

The school is co-organised by HLRS and LAPP (Annecy Particle Physics Laboratory) for EuroCC@GCS and CC-FR, all National Competence Centres for High-Performance Computing.

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), 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
  • Languages considered: C++17, C++20, 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): [on-site] 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): [on-site] 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): [on-site] 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): [on-site] 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): [on-site] 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): [online only]  Hands-on

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

Registration information

Register here.

Note: you will be able to join the summer school on-site at HLRS only for the first week, 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 20, 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.