Development and optimisations
Pierre Aubert
Introduction
This tutorial aims to highlight the performances we can obtain with several implementations : with object programmation and table programmation.
Prerequisites
Compiler
We are going to use the
GCC-7 compiler (or
GCC-8 or
GCC-9 at least newer than
GCC-6).
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.
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.