.. _dvp.parallel.transpose_col: **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) .. figure:: FIG/PARALLEL/mpi_myproc.png :width: 400px :align: center :alt: alternate text :figclass: align-center .. 1. Numérotation des cpus2D (myproc), et définitions des variables mincproc et maxcproc .. .. code-block:: python .. import image 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. .. figure:: FIG/PARALLEL/mpi_transpose_col_grid.png :width: 400px :align: center :alt: alternate text .. 2. Découpage MPI adapté au sytème ADI 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. .. figure:: FIG/PARALLEL/mpi_transpose_col_decoupage_vertical_grid.png :width: 400px :align: center :alt: alternate text Zoom sur la colonne de gauche de cpu2D .. figure:: FIG/PARALLEL/mpi_transpose_col_decoupage_vertical.png :width: 400px :align: center :alt: 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) .. figure:: FIG/PARALLEL/mpi_transpose_col_exchange_a.png :width: 250px :align: left :alt: alternate text .. figure:: FIG/PARALLEL/mpi_transpose_col_exchange_b.png :width: 250px :align: right :alt: alternate text .. figure:: FIG/PARALLEL/mpi_transpose_col_exchange_c.png :width: 250px :align: center :alt: alternate text