Variables liées à MPI dans MARS¶
Description transpose_col¶
Sur la figure 1 sont positionnés les variables
- myproc (en bleu au centre de chaque domaines MPI - cpu2D)
- maxiproc, maxjproc
- mincproc, maxcproc (c pour colonne)
- Pour la résolution de l’ADI, il faut passer d’un découpage 2D à 1D. Une colonne (de cpu2D) est divisée par autant de lignes traversant la colonne (+1 pour obtenir un chiffre pair si besoin) (figure 2). Certaines variables sont positionnées :
- numcbudy : nombre de copains qui vont échanger entre eux pour chaque colonne de cpu2D
- CI(1,x), CI(2,x) qui précisent les indices gauche et droite limitant la colonne 1D.
Les figures suivantes complètent les informations précédentes en proposant 3 cas particuliers. Les domaines colorés correspondent aux cpus qui vont collecter les données sur toue la colonne et résoudre le système ADI.
Zoom sur la colonne de gauche de cpu2D
Dans une colonne de cpu2D, elle-même redistribuée sur différents budys, les flèches noires spécifient les échanges entre 2 budys (copains MPI, différents de myproc car affectés pour la résolution de la colonne uniquement). Si une colonne (de cpu2D) est découpée
- en 2 colonnes, il faudra 1 série d’échanges entre budy (2 à 2)
- en 4 colonnes, il faudra 2 séries d’échanges entre budy (2 à 2)
- en 6 colonnes, il faudra 3 séries d’échanges entre budy (2 à 2)