OpenACC Tutorial - Profiling/fr: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 264: Line 264:
   }
   }
</syntaxhighlight>  
</syntaxhighlight>  
<div class="mw-translate-fuzzy">
On trouvera les dépendances de données en se posant les questions suivantes&nbsp;:
On trouvera les dépendances de données en se posant les questions suivantes&nbsp;:
* Une itération en affecte-t-elle d'autres?
* Une itération en affecte-t-elle d'autres?
* Les itérations lisent-elles ou écrivent-elles à des endroits différents du même tableau?
** par exemple, quand une , when generating the '''[https://fr.wikipedia.org/wiki/Suite_de_Fibonacci suite de Fibonacci]''' est générée, chaque nouvelle valeur dépend des deux valeurs qui la précèdent. Il est donc très difficile, sinon impossible, d'implémenter un parallélisme efficace.
* Est-ce que sum est une dépendance? Non, c'est une réduction.
* L'accumulation des valeurs dans <code>sum</code> est-elle une dépendance?
</div>
** Non, c'est une'''[https://en.wikipedia.org/wiki/Reduction_operator réduction]'''! Et les compilateurs modernes optimisent bien ce genre de réduction.  
* Est-ce que les itérations de boucle écrivent et lisent dans les mêmes vecteurs de sorte que Do loop iterations read from and write to the les valeurs sont utilisées ou écrasées par d'autres itérations?
** Heureusement, ceci ne se produit pas dans le code ci-dessus.


Maintenant que le code est analysé, nous pouvons ajouter des directives au compilateur.
Maintenant que le code est analysé, nous pouvons ajouter des directives au compilateur.


[[OpenACC Tutorial - Introduction/fr|<- Page précédente, ''Introduction'']] | [[OpenACC Tutorial/fr|^- Retour au début du tutoriel]] | [[OpenACC Tutorial - Adding directives/fr|Page suivante, ''Ajouter des directives'' ->]]
[[OpenACC Tutorial - Introduction/fr|<- Page précédente, ''Introduction'']] | [[OpenACC Tutorial/fr|^- Retour au début du tutoriel]] | [[OpenACC Tutorial - Adding directives/fr|Page suivante, ''Ajouter des directives'' ->]]
rsnt_translations
56,430

edits

Navigation menu