OpenACC Tutorial - Adding directives/fr: Difference between revisions

Created page with "== La directive <tt>parallel loop</tt> == Avec la directive <tt>kernels</tt>, c'est le compilateur qui fait toute l'analyse; ceci est une approche ''descriptive'' pour port..."
(Created page with "Le programme est exécuté et on obtient un tableau chronologique du déroulement (voir l'image). On remarque que le transfert de données entre le départ et l'arrivée o...")
(Created page with "== La directive <tt>parallel loop</tt> == Avec la directive <tt>kernels</tt>, c'est le compilateur qui fait toute l'analyse; ceci est une approche ''descriptive'' pour port...")
Line 268: Line 268:
Le programme est exécuté et on obtient un tableau chronologique du déroulement (voir l'image).    On remarque que le transfert de données entre le départ et l'arrivée occupe la plus grande partie du temps d'exécution,  ce qui est fréquent quand du code est porté d'un CPU vers un GPU. Nous verrons comment ceci peut être amélioré dans la prochaine partie, [https://docs.computecanada.ca/wiki/OpenACC_Tutorial_-_Data_movement/fr Mouvement des données].
Le programme est exécuté et on obtient un tableau chronologique du déroulement (voir l'image).    On remarque que le transfert de données entre le départ et l'arrivée occupe la plus grande partie du temps d'exécution,  ce qui est fréquent quand du code est porté d'un CPU vers un GPU. Nous verrons comment ceci peut être amélioré dans la prochaine partie, [https://docs.computecanada.ca/wiki/OpenACC_Tutorial_-_Data_movement/fr Mouvement des données].


== The <tt>parallel loop</tt> directive ==
== La directive <tt>parallel loop</tt> ==  
With the <tt>kernels</tt> directive, we let the compiler do all of the analysis. This is the ''descriptive'' approach to porting a code. OpenACC supports a ''prescriptive'' approach through a different directive, called the <tt>parallel</tt> directive. This can be combined with the <tt>loop</tt> directive, to form the <tt>parallel loop</tt> directive. An example would be the following code:
Avec la directive <tt>kernels</tt>, c'est le compilateur qui fait toute l'analyse;  ceci est une approche ''descriptive'' pour porter du code. OpenACC offre aussi une approche ''prescriptive'' avec la directive <tt>parallel</tt> qui peut être combinée à la directive <tt>loop</tt> ainsi&nbsp;:
<syntaxhighlight lang="cpp" line highlight="1">
<syntaxhighlight lang="cpp" line highlight="1">
#pragma acc parallel loop
#pragma acc parallel loop
rsnt_translations
56,430

edits