Chapter 3.3 : Lancement du programme
Si on lance notre programme, nous obtenons :
./simple_hadamard_product_best_init x = 0, y = 0, res = 0
Ça ne vole pas très haut, mais au moins ça fonctionne.
Note : à aucun moment nous avons du spécifier où trouver Cuda pour calculer sur GPU car nvc++ se débrouille.
Si on demande à time :
time ./simple_hadamard_product_best_init x = 0, y = 0, res = 0
real 0m0,576s user 0m0,304s sys 0m0,264s
On voit que le temps d'exécution est encore meilleur : 0.576s au lieu des 0.812s et 2.647s précédents.
C'est toujours un petit exemple, mais nous permet de contourner le fait que std::iota n'a pas de politique d'exécution. On ne peut donc pas l'appeler sur le GPU, alors que c'est possible avec std::generate . Et nous économisons une allocation mémoire, puisque nous nous passons du tableau d'index précédent (voir partie 3.