CUDA tutorial/fr: Difference between revisions

Created page with "= Ordonnancement des fils = Un processeur en continu (SM) exécute habituellement un bloc de fils à la fois. Le code est exécuté en groupes de 32 fils (appelés ''warps'')...."
No edit summary
(Created page with "= Ordonnancement des fils = Un processeur en continu (SM) exécute habituellement un bloc de fils à la fois. Le code est exécuté en groupes de 32 fils (appelés ''warps'')....")
Line 68: Line 68:
Ce modèle simplifie l'adressage de la mémoire lors du traitement de données multidimensionnelles.
Ce modèle simplifie l'adressage de la mémoire lors du traitement de données multidimensionnelles.


= Thread scheduling =
= Ordonnancement des fils =
Usually a streaming microprocessor (SM) executes one threading block at a time. The code is executed in groups of 32 threads (called warps). A hardware scheduller is free to assign blocks to any SM at any time. Furthermore, when an SM gets the block assigned to it, it does not mean that this particular block will be executed non-stop. In fact, the scheduler can postpone/suspend execution of such blocks under certain conditions when e.g. data becomes unavailable (indeed, it is quite time-consuming to read data from the global GPU memory). When it happens, the scheduler executes another threading block which is ready for execution. This is a so-called zero-overhead scheduling which makes the execution more streamlined so that SMs are not idle.
Un processeur en continu (SM) exécute habituellement un bloc de fils à la fois. Le code est exécuté en groupes de 32 fils (appelés ''warps''). Un ordonnanceur physique est libre d'assigner des blocs à tout SM en tout temps. De plus, quand un SM reçoit le bloc qui lui est assigné, ceci ne signifie pas que ce bloc en particulier sera exécuté sans arrêt. En fait, l'ordonnanceur peut retarder/suspendre l'exécution de tels blocs selon certaines conditions, par exemple si les données ne sont plus disponibles (en effet, de lire les données à partir de la mémoire globale du GPU exige beaucoup de temps). Lorsque ceci se produit, l'ordonnanceur exécute un autre bloc de fils qui est prêt à être exécuté. Il s'agit en quelque sorte d'ordonnancement ''zero-overhead'' favorisant un flux d'exécution plus régulier afin que les SMs ne demeurent pas inactifs.


= Types of GPU memories=
= Types of GPU memories=
rsnt_translations
56,430

edits