7.4.1 : Le calcul 1000x34
Testons nos différentes implémentations pour 1000 images avec 34 étapes intermédiaires.Commençons par l'implémentation générique naïve (compilée en -O3) :
|
time ./Program/GrayScottReaction/Naive/naive_gray_scott -r 1080 -c 1920 -n 1000 -e 34 simulateImage : nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 16m44,777s user 16m35,955s sys 0m5,012s |
Testons l'implémentation générique en fonctions intrinsèques :
|
time ./Program/GrayScottReaction/Intrinsics/intrinsics_gray_scott -r 1080 -c 1920 -n 1000 -e 34 simulateImage : nbImage = 1000, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 8m40,833s user 8m32,248s sys 0m5,356s |
Testons l'implémentation générique en fonctions intrinsèques par blocs :
|
time ./Program/GrayScottReaction/IntrinsicsLinkBlock/intrinsics_link_block_gray_scott -r 1080 -c 1920 -n 1000 -e 34simulateImage : nbImage = 1000, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 8m53,755s user 8m45,497s sys 0m5,408s |
Maintenant testons l'implémentation spécialisée pour des kernels 3x3 et vectorisée :
|
time ./Program/GrayScottReaction/Vectorized/vectorized_gray_scott_3x3 -r 1080 -c 1920 -n 1000 -e 34 simulateImage : nbImage = 1000, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0s Done real 0m54,412s user 0m45,882s sys 0m4,997s |