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.