OpenACC Tutorial - Adding directives/fr: Difference between revisions

Jump to navigation Jump to search
Created page with "== Transfert vers un processeur graphique (GPU) == Avant de porter du code sur un GPU, il faut savoir qu'ils ne partagent pas la même mémoire que le processeur (CPU); autr..."
(Created page with "* comprendre le processus de transfert (''offloading'') * comprendre ce qu'est une directive OpenACC * connaitre la différence entre les directives <tt>loop</tt> et <tt>kern...")
(Created page with "== Transfert vers un processeur graphique (GPU) == Avant de porter du code sur un GPU, il faut savoir qu'ils ne partagent pas la même mémoire que le processeur (CPU); autr...")
Line 12: Line 12:
}}
}}


== Offloading to a GPU ==
== Transfert vers un processeur graphique (GPU) ==  
The first thing to realize when trying to port a code to a GPU is that they do not share the same memory as the CPU. In other words, a GPU does not have direct access to the host memory. The host memory is generally larger, but slower than the GPU memory. To use a GPU, data must therefore be transferred from the main program to the GPU through the PCI bus, which has a much lower bandwidth than either memories. This means that managing data transfer between the host and the GPU will be of paramount importance. Transferring the data and the code onto the device is called ''offloading''.
Avant de porter du code sur un GPU, il faut savoir qu'ils ne partagent pas la même mémoire que le processeur (CPU);  autrement dit, le GPU n'a pas un accès direct à la mémoire de départ. Cette dernière est en général plus grande, mais plus lente que la mémoire du GPU. Pour pouvoir utiliser un GPU, les données doivent passer par le bus PCI, dont la bande passante est moins grande que celles du CPU et du GPU. Il est donc de la plus haute importance de bien gérer les transferts entre la mémoire de départ et le GPU. En anglais, ce processus s'appelle ''offloading''.


== OpenACC directives ==
== OpenACC directives ==
rsnt_translations
56,430

edits

Navigation menu