How to optimize computation with HPC

Pierre Aubert

Prerequisites

Compiler

We are going to use the GCC-7 compiler. If you are stucked with an other compiler or with an older version of GCC you can install it with Anaconda (in your tutorial environement) :
conda install gcc7

Compilation tools

We will use CMake and Make to compile our programs.

Ploting tools

We will use Gnuplot to plot the results of our tests.

Architecture tools

We will use the program hwloc-ls to show the CPU architecture.

Optimisations

We are going to focus on the optimisation of single precision floating points computations. Basically, you can divide all the following speed-up by 2 to have the equivalent for double precision.
The double precision computation sounds more precise that single precision computation.
But, if you are doing non sence with double precision it also fails.
The correction of the whole tutorial is available here. If you want to start with the basic library you can download the minimal example here.