7.4.2 : Le calcul 5x6800
Testons nos différentes implémentations pour 5 images avec 6800 étapes intermédiaires (ce qui permet de rendre négligeable la contribution des I/O à la performance finale) :
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 5 -e 6800 simulateImage : nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 16m48,695s user 16m48,533s sys 0m0,048s |
Testons l'implémentation générique en fonctions intrinsèques :
|
time ./Program/GrayScottReaction/Intrinsics/intrinsics_gray_scott -r 1080 -c 1920 -n 5 -e 6800 simulateImage : nbImage = 5, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 8m31,915s user 8m31,642s sys 0m0,068s |
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 5 -e 6800 simulateImage : nbImage = 5, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 8m44,095s user 8m43,801s sys 0m0,108s |
Testons l'implémentation générique parallélisée en fonctions intrinsèques par blocs :
|
time ./Program/GrayScottReaction/IntrinsicsLinkBlockParallel/intrinsics_link_block_parallel_gray_scott -r 1080 -c 1920 -n 5 -e 6800 simulateImage : nbImage = 5, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0ss Done real 3m43,657s user 32m23,818s sys 0m38,800s |
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 5 -e 6800 simulateImage : nbImage = 5, nbRow = 1080, nbCol = 1920 [========================================================================================================================================================|100%] 0s Done real 0m45,944s user 0m45,859s sys 0m0,048s |