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à implémentations différentes.