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)
alternate text
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.
alternate text

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.

alternate text

Zoom sur la colonne de gauche de cpu2D

alternate text

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)
alternate text
alternate text
alternate text