Performance-aware C++ programming
Tue, 06 Jun
|Online Training
Online course
Time & Location
06 Jun 2023, 09:00 – 11:30 CEST
Online Training
About the Event
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:
Having some understanding of the hardware (bandwidth, latency, caches)
Data-Oriented Programming versus Object-Oriented Programming
Vectorization and parallelization
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)