Code Optimization

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Live (synchronous)

Venue Information

Country: Belgium
Venue Details: Click here

Training Content and Scope

Scientific Domain
Technical Domain
Level of Instruction
Sector of the Target Audience
Research and Academia
Public Sector
HPC Profile of Target Audience
Application Developers
Language of Instruction

Other Information

Supporting Project(s)
Event/Course Description

Attention to the quality of code in terms of its computational efficiency is a rather important aspect of using HPC system effectively.
In the introduction, we will cover how to quantify performance, and how to dimension computations to ensure optimal use of the compute resources. 
In order to write efficient scientific code, the developer should be familiar with a number of important aspects of modern CPU architecture.
The impact of the NUMA memory architecture, vectorization and out-of-order execution will be discussed. The NUMA memory architecture also has its impact at the level of a compute node, while the interconnect properties will determine performance of distributed applications.
Several tools will help the developer to profile his application to discover performance hot spots, and make informed decisions on how to improve the efficiency of the code, or the use of resources. 

Target audience
This info session is primarily targeted at VSC users, although other interested parties are welcome as well.

Prior knowledge required
Participants have a good working knowledge of a programming language such as C, C++, or Fortran. Some knowledge of multithreaded programming and distributed programming with MPI are required as well.