OpenACC Tutorial - Adding directives/fr: Difference between revisions

Created page with "== La directive <tt>kernels</tt> == Cette directive est dite ''descriptive''. Le programmeur l'utilise pour signifier au compilateur les portions qui selon lui peuvent être..."
(Created page with "Chaque cœur de calcul traite une valeur de <tt>i</tt>.")
(Created page with "== La directive <tt>kernels</tt> == Cette directive est dite ''descriptive''. Le programmeur l'utilise pour signifier au compilateur les portions qui selon lui peuvent être...")
Line 74: Line 74:
|}
|}


== The <tt>kernels</tt> directive ==
== La directive <tt>kernels</tt> ==
The <tt>kernels</tt> directive is what we call a ''descriptive'' directive. It is used to tell the compiler that the programmer thinks this region can be made parallel. At this point, the compiler is free to do whatever it wants with this information. It can use whichever strategy it thinks is best to run the code, ''including'' running it sequentially. Typically, it will
Cette directive est dite ''descriptive''. Le programmeur l'utilise pour signifier au compilateur les portions qui selon lui peuvent être parallélisées. Le compilateur fait ce qu'il veut de cette information et adopte la stratégie qui lui semble la meilleure pour exécuter le code, '''incluant''' son exécution séquencielle. De façon générale, le compilateur
# Analyze the code to try to identify parallelism
# analyse le code pour détecter le parallélisme,
# If found, identify which data must be transferred and when
# s'il détecte du parallélisme, identifie les données à transférer et décide quand faire le transfert,
# Create a kernel
# crée un kernel,
# Offload the kernel to the GPU
# transfère le kernel au GPU.


One example of this directive is the following code:
One example of this directive is the following code:
rsnt_translations
56,430

edits