Pthreads/fr: Difference between revisions

Created page with "pthreads a servi de base aux approches de parallélisation qui ont suivi, dont OpenMP. On peut voir pthreads comme étant un ensemble d'outils primitifs offrant des fonctionna..."
(Created page with "=Introduction= Le terme ''pthreads'' provient de [https://en.wikipedia.org/wiki/POSIX_Threads POSIX threads], l'une des premières techniques de parallélisation. Tout comme [...")
(Created page with "pthreads a servi de base aux approches de parallélisation qui ont suivi, dont OpenMP. On peut voir pthreads comme étant un ensemble d'outils primitifs offrant des fonctionna...")
Line 4: Line 4:
Le terme ''pthreads'' provient de [https://en.wikipedia.org/wiki/POSIX_Threads POSIX threads], l'une des premières techniques de parallélisation. Tout comme [[OpenMP]], pthreads s'emploie dans un contexte de mémoire partagée et donc habituellement sur un seul nœud où le nombre de fils d'exécution actifs est limité aux cœurs CPU disponibles. On utilise pthreads dans plusieurs langages de programmation, mais surtout en C. En Fortran, la parallélisation de fils d'exécution se fait préférablement avec OpenMP alors qu'en C++, les outils de la librairie [http://www.boost.org Boost] sont mieux adaptés.
Le terme ''pthreads'' provient de [https://en.wikipedia.org/wiki/POSIX_Threads POSIX threads], l'une des premières techniques de parallélisation. Tout comme [[OpenMP]], pthreads s'emploie dans un contexte de mémoire partagée et donc habituellement sur un seul nœud où le nombre de fils d'exécution actifs est limité aux cœurs CPU disponibles. On utilise pthreads dans plusieurs langages de programmation, mais surtout en C. En Fortran, la parallélisation de fils d'exécution se fait préférablement avec OpenMP alors qu'en C++, les outils de la librairie [http://www.boost.org Boost] sont mieux adaptés.


As one of the earliest forms of parallelization, pthreads have also served as the basis for later approaches to shared memory parallelization like OpenMP and can be thought of as forming a
pthreads a servi de base aux approches de parallélisation qui ont suivi, dont OpenMP. On peut voir pthreads comme étant un ensemble d'outils primitifs offrant des fonctionnalités élémentaires de parallélisation, contrairement aux APIs conviviales et de haut niveau comme OpenMP. Dans le modèle pthreads, les fils (''threads'') sont générés dynamiquement pour exécuter des sous-procédures dites légères qui exécutent les opérations de façon asynchrone; ces fils sont ensuite détruits après avoir été réintégrés au processus principal. [qu'est-ce qui est réintégré? les fils?] Puisque tous les fils d'un même programme résident dans le même espace mémoire, il est facile de partager les données à l'aide de variables globales, contrairement à une approche distribuée comme [[MPI]]; toute modification aux données partagées risque cependant de créer de la concurrence (''race conditions'').
toolkit of threading primitives that permit the most general and low-level parallelization, at the price of sacrificing much of the simplicity and ease of use of a high level API like OpenMP. The essential
model for pthreads is the dynamic spawning of lightweight sub-processes (threads) that asynchronously carry out operations and then are extinguished by rejoining the program's master process. As all the threads of a program reside in the same memory space, sharing data among them through global variables isn't difficult in comparison with a distributed approach like [[MPI]] but any modifications of
this shared data have to be managed with care to avoid ''race conditions''.


=Compilation=
=Compilation=
rsnt_translations
56,437

edits