EuroCC trainings

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


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 July 5, 2023 is presented on this file. 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).

    International trainings

    Training at the European level are also available:

    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. 

    LUMI trainings

    3-6 October 2023 Comprehensive General LUMI course - Hybrid: Warsaw (Poland) & online (onsite is full - online few places available)

    This four-day on-site (Warsaw, Poland) and online course is a general comprehensive introduction to the LUMI architecture and programming environment. It will include lessons about compiling and using software, programming models (HIP and OpenMP offload), porting, executing jobs, and optimizing applications to run on AMD MI250X. After the course, you will be able to work efficiently on both the CPU (LUMI-C) as well as GPU partition (LUMI-G).

    Please note, that this is a comprehensive course with an emphasis on code development and analysis tools.

    The four-day course is “on-site first”: on-site participants get plenty of time to interact with the LUST, HPE, and AMD staff that is present, but we cannot organize an equivalent interaction with the online participants. For them, it is mostly a broadcast of the lectures with the option to raise questions via a shared document. Anything that would deteriorate the experience for the on-site participants is avoided. The recent course in Tallinn has shown that the direct interaction with the people present in the room gives a lot of additional value to those people that is hard to get in an online setup.

    LUST is also organizing recurring 1-day introduction courses to LUMI. It includes lessons about the most important topics needed to install and use software on LUMI and run jobs efficiently on LUMI-C and -G. All courses do expect some familiarity with HPC already, e.g., from courses organised by most local compute centres (as VSC and CÉCI), and are designed to focus on LUMI-specific elements.

    Target group

    The course is intended for users with ongoing projects on LUMI, users with project proposals in one of the national or EuroHPC channels, and support staff of local organizations of the LUMI consortium members.

    More information is available at:

    Registration - deadline: 25/09/2023 at 16:00 CEST

    Register here:

    Further expected training events in 2023:

    • One-day LUMI introductory course in the fall
    • One-week hackathon for LUMI-G, onsite-only 27 November – 1 December, in Cracow, Poland

    Trainings for (prospective) users

    The LUMI User Support Team provides two trainings on a regular basis to our (prospective) users. Those trainings focus on the actual use of LUMI and the HPE Cray programming environment installed on LUMI.

    • The one-day course focuses on users who want to get started with running jobs on LUMI. This course is organized entirely by the LUMI User Support Team and will be repeated as often as needed. 
    • The four-day course is intended for people who need more expertise in the programming environment or want to also use profiling and debugging tools. This course is organized with the help of experts from HPE and AMD and will be given three times a year, many of which will be on-site with broadcast.

    We may organize further courses on HIP, OpenMP or SYCL specifically for AMD GPUs but, for such courses or domain-specific courses, we rely mostly on courses organized 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