3.1.1.1 : Implémentation des tests de référence



Nous allons tout d'abord devoir implémenter des tests de performance sans utilisation de valeurs exotiques afin d'avoir un point de comparaison.

Nous allons tester les différentes optimisations automatiques du compilateur avec une implémentation de base :



  • -O0
  • -O1
  • -O2
  • -O3
  • -Ofast


Ensuite, nous ajouteront les versions vectorisables :
  • -O2 -march=native -mtune=native PHOENIX_FLAG_VECTORIZED_COMPILATION
  • -O3 -march=native -mtune=native PHOENIX_FLAG_VECTORIZED_COMPILATION
  • -Ofast -march=native -mtune=native PHOENIX_FLAG_VECTORIZED_COMPILATION


et les version en fonctions intrinsèques :
  • -O2 -march=native -mtune=native PHOENIX_FLAG_VECTORIZED_COMPILATION
  • -O3 -march=native -mtune=native PHOENIX_FLAG_VECTORIZED_COMPILATION
  • -Ofast -march=native -mtune=native PHOENIX_FLAG_VECTORIZED_COMPILATION


avec PHOENIX_FLAG_VECTORIZED_COMPILATION qui décrira l'architecture de la machine hôte (l'ordinateur sur lequel vous faites ce cours).

Cela nous fait déjà 11 implémentations différentes.