top of page

Chaque processus disposant d'un nombre d'étages qui lui est attribué, il ne connait que les blocs numéroté de i_1 à i_m selon l'axe z. Les matrices des problèmes que nous cherchons à résoudre étant creuses il est obligatoire ici de transmettre certaines lignes du vecteur X à d'autres processus. En réalité, seuls les blocs juxtaposés à la diagonale sont non nuls, par conséquent le processus "me" a besoin de connaître les blocs i_1 - 1 et i_m + 1 afin de pouvoir calculer le produit matrice vecteur associé aux différentes résolutions. Ces communications sont résumées par le schéma ci-dessous :

L'un des objectif du projet est de réaliser un code permettant d'estimer l'évolution d'une tumeur dans des temps raisonnablement courts. Pour cela, la structure du code a été adapté à un environnement parallèle. Nous avons donc mis en place un parallélisme d'opérateur par répartition par couches.

Communications entre processeurs

Voici les courbes de Speed-up obtenues avec cet environnement parallèle:

Les tests effectués pour réaliser ces courbes ont été effectués sur des machines possédant 4 processeurs ce qui explique la décroissance entre 4 et 5 processeurs. Cependant, on constate que le speed-up approche globalement la courbe idéale. Le parallélisme mis en place est donc très efficace pour des petite machines de calculs comme souhaité dans le cahier des charges.

bottom of page