Guest User

Untitled

a guest
Jul 16th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 1.68 KB | None | 0 0
  1. \section{Version pthread}
  2. \subsection{Explication du code}
  3. Nous avons pour cette partie testé quatre codes. Le premier, proche dans le principe d'openMP, a consisté à implémenter une barrière. En suivant le code vu en cours, les résultats obtenus, que ce soit sur monet ou boursouf, sont très proches de ceux obtenus avec openMP. En effet, il n'y a pas de raison pour que l'un soit sensiblement plus rapide.\\
  4. Nous avons également testé l'initialisation en parallèle des cellules. Pensant que cela permettrait d'attribuer de la mémoire propre à chaque threads, les résultats sont en fait médiocres, allant jusqu'à faire perdre 30 pourcents de performances. En fait, il semblerait que calculer les macros cellules suffise à attribuer cette mémoire.\\
  5. Afin d'opérer tous ces découpages sans utiliser openMP, il a fallu créer une structure, qui va contenir deux sémaphores. Chacune de ces structures va en fait gérer la possibilité ou non pour un thread de continuer les calculs. Parce qu'ils ont besoin des frontières des autres macro-cellules pour continuer, il faut qu'ils puissent savoir si les autres threads ont bien calculé. C'est ce minimum de synchronisation qui va être raffiné plus tard, en faisant en sorte que les calculs commence par les frontières.
  6.  
  7.  
  8. \subsection{Macros-Cellules, sans raffinement.}
  9. Une version du code testé est celle avec uniquement des macros cellules. Cette version peut s'apparenter à une mise en place, à une version à nue afin de pouvoir observer l'utilitée des raffinements qui vont suivre. Bien qu'il n'y ait pas de barrière officielle, le fait que la dernière ligne de chaque macro soit calculée en dernier ne fait pas gagner de temps.\\
Add Comment
Please, Sign In to add comment