Compiler Optimisation

Pierre Aubert




Aim of the lecture



This will show some of compilers optimisation and how to use them and prevent them when necessary. This is not really a lecture but more a set of examples on code optimisation to illustrate the behaviour of compilers.

Prerequisites

Compilers

We will used compilers g++ 11, clang++14 and icpx 2020 00 02 or more recent compilers.

Building tools

We will use CMake and Make to compile our programs and do the performance tests.

Follow with Container

This lecture can be followed with a docker image via apptainer on your laptop or on a remote server or via docker:

  • Light image 135 MB OK : docker://gitlab-registry.in2p3.fr/cta-lapp/cours/compiler_optimisation/compiler_optimisation_alpine_light:latest
  • Code server 317 MB OK : docker://gitlab-registry.in2p3.fr/cta-lapp/cours/compiler_optimisation/compiler_optimisation_alpine_micromamba_code_server:latest
  • Jupyter-hub 466 MB OK : docker://gitlab-registry.in2p3.fr/cta-lapp/cours/compiler_optimisation/compiler_optimisation_alpine_micromamba_vscode:latest


Usages are explained in the lecture demo.