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

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

All methods will be illustrated on simple examples, such as Hadamard products, reductions, barycenter 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, yet complex enough to be difficult for compilers to optimize without help. Each method will be broken down into simple versions, using default options, and one or more advanced versions, which will allow their advantages and disadvantages to be discussed and quantified.

For more information on its content, please consult the school website

On the University of Namur satellite site, you'll enjoy the following benefits:

  • Interaction with official LAPP trainers;
  • Group support and a good working atmosphere;
  • Lunch and a drink at the end of the day on the first day;
  • You choose what you want to follow on site. We encourage you to come on the first day, but you make up your own program on the other days.

To register for the UNamur satellite site: https://docs.google.com/forms/d/e/1FAIpQLScxikCQTfsQl9zZfnidm4xLSuDpdJGcgyLKOfJ2wo4VMgrgRw/viewform