En gros tu passes de 109 ms SUR GPU à 220 ms sur GPU, du coup c'est 2 fois plus long sur GPU. Sachant que la fréquence d'un GPU et à peu près 2 fois plus lent qu'un CPU c'est comme si aucune parallélisation n'était effectuer ...
Tu peux tester ça si tu veux mais je ne suis pas sur que ça aide beaucoup ...
Au lieu de faire une boucle de 1 à 1000 fait plutôt :
cosinus <<<1000, s>>> (dev_c, dev_angle);
ou ça :
cosinus <<<100, 10*s>>> (dev_c, dev_angle);
ou encore :
cosinus <<<10, 100, s>>> (dev_c, dev_angle);
Et retire ça :
Car la synchronisation est déjà faite de base quand tu sort de ta fonction __global__
PS : En ce moment j'ai pas trop le temps mais vers mi-août je me consacrerai 100% à la résolution de ce problème
Partager