Trainings

 

EuroCC trainings

6 June 2023 - Performance-aware C++ programming (Registrations closed)

Description

The C++ programming language is a systems-level language pervasive in many areas including scientific computing. This complex language provides users with a multitude of approaches to solving complex tasks, but not all programming paradigms or approaches are equal in terms of performance.

This 'back-to-basics' training shifts slightly away from over-abstraction or potential overuse of libraries and focuses primarily on performance through the use of the language itself. We show significant speedups are possible through several key principles:

  1. Having some understanding of the hardware (bandwidth, latency, caches)
  2. Data-Oriented Programming versus Object-Oriented Programming
  3. Vectorization and parallelization
  4. Compiler and how to get the most out of it

By the end of the training you will have some intuition on performance and what affects it, as well as pointers for improving performance in your own projects.

Whether your goal is shortening the calculation time of your simulations/workloads or enabling solutions which are otherwise impractical, extracting the most out of the available hardware is a key skill. This training provides an introduction to this topic with a few exploratory trips into the core details. 

Target audience:

Intermediate level, some experience with C++ is recommended
Anyone with an interest in performance-critical applications

Practical information 

Date & time: 6/06/2023 - from 9.00 am to 11.30 am 

Location: online (after registration, a link will be sent to you a few days prior to the training)

Registrations for this training are now closed. 

National trainings

At the Belgian level, different lectures are proposed by the regional centers. Find a list:

  • Here, for the CÉCI;
  • Here, for the VSC.

A nearly exhaustive list of past national training courses up to August 2023 is presented on this file (see table below). This may be an indication of the future training courses you can expect. As new training courses are constantly being proposed, for more information on upcoming trainings, please consult the information directly on the CÉCI and VSC website (see above).

Table containing the main training course given in Belgium

Overview table of the training courses regularly provided by the different belgian organization

 

International trainings

Training courses at all levels are also provided by various organizations and other national competence centers at the European level. They are listed in the EuroCC portal and the HPC portal.

A screenshot of the EuroCC acess portal

The EuroCC training Portal

Training videos and recording

Recording of past trainings and other videos can be found on the youtube channels of the CÉCI and of the VSC.

Many of them are presented in our Training Videos page. 

HPC Teaching Kit

The HPC teaching kit is a set of documents and videos that can be used as support to present HPC in computer science courses. At the moment, only the english and french versions are availabe. The kit consists firstly of a 2-part slide deck on HPC (English: part 1 and part 2; French: part 1 and part 2), highlighting examples of applications, the Belgian infrastructure, the structure of a supercomputer and the principle of parallelization. Recording of these presentations are also available on YouTube (English and French)

It also contains a starting kit (English, French), a 2 pages document giving all the relevant information for anyone wanting to get started in HPC in Belgium.

Feel free to distribute these documents to anyone who might be interested. The powerpoint versions of the slide deck and of the starting kit are also available, on request, for anyone wishing to modify it.

LUMI trainings

Advanced LUMI course - 28-31/10/2024 (Amsterdam) 
 

This four-day course on-site in Amsterdam serves as a comprehensive discussion of the LUMI architecture and programming environment. It will include lessons on compiling and using software, programming models (HIP and OpenMP offload), porting, executing jobs, and optimizing applications to run on AMD MI250X. After completing the course, you will be able to work efficiently on both the CPU (LUMI-C) and the GPU partition (LUMI-G).

Please note that this is an advanced, comprehensive course with an emphasis on code development.

More information & registration: https://lumi-supercomputer.eu/events/advanced-lumi-course-2024/ (deadline: 21/10/2024)

 


We may organise further courses on HIP, OpenMP or SYCL specifically for AMD GPUs but, for such courses or domain-specific courses, we rely mostly on courses organised by other European programs.

Basic training on parallel computing is taken care of by the local courses organized by the VSC and CÉCI. We also plan a regular user meeting at the Belgian level.

Local organisations, such as the national competence centres, may also organise courses that are open to others, so this offering may be augmented with further courses.

Specific LUMI trainings and events organised by the LUMI support team are announced on the LUMI website