Accéder au contenu.
Menu Sympa

starpu-devel - Re: [starpu-devel] MPI

Objet : Developers list for StarPU

Archives de la liste

Re: [starpu-devel] MPI


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@inria.fr>
  • To: Julien Vanharen <julien.vanharen@inria.fr>
  • Cc: Nathalie Furmento <nathalie.furmento@labri.fr>, starpu-devel@inria.fr
  • Subject: Re: [starpu-devel] MPI
  • Date: Tue, 8 Oct 2024 11:15:28 +0200
  • Authentication-results: mail3-relais-sop.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=samuel.thibault@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr
  • Organization: I am not organized

Bonjour,

Julien Vanharen, le lun. 07 oct. 2024 17:58:48 +0200, a ecrit:
> Si j’ai bien compris, le tableau A de taille n x n semble être alloué sur
> chaque MPI rank.
> Pour mon application, ceci est impossible car cela ne tiendrait pas en
> mémoire.
> Est-ce nécessaire pour StarPU, une limitation ou une simplification pour les
> besoins de l’exemple.

C'est juste une simplification.

> De plus, le handle starPU est défini n x n fois sur chaque MPI rank. Même
> question.

De même.

La seule réelle contrainte, pour que les communications MPI soient
générées automatiquement, c'est que les handles de bordure entre deux
MPI ranks soient défini sur les deux MPI ranks. Pour le reste, on peut
passer un handle NULL à starpu_mpi_task_insert, il en déduira qu'il
n'a a rien à faire pour cette tâche. On peut aussi changer le code
applicatif pour n'appeler starpu_mpi_task_insert que pour les tâches
vraiment utiles. Un exemple plus précis est disponible dans
examples/stencil.

> Si j’ai bien compris, une tâche StarPU est insérée pour chaque point du
> stencil
> mais j’ai l’impression qu’il n’y a pas beaucoup de calculs.
> J’avais cru comprendre que pour que cela scale, les tâches StarPU devait
> être
> de l’ordre d’au moins 1ms à cause du coût du scheduler.
> Même question, une limitation de StarPU ou une simplification pour
> l’exemple ?

C'est juste une simplification. Il faut avoir suffisament de calcul dans
chaque tâche pour compenser l'overhead de traitement d'une tâche.

> J’envisage d’ailleurs de définir des tâches par groupe de cellules pour
> avoir
> des tâches supérieures à la milliseconde

Il faut typiquement ça, oui.

> mais faut-il faire des tâches avec que des cellules ghost ou pas ?

Je ne suis pas sûr de comprendre la question. À ce que j'en comprends,
les cellules ghost sont en lecture seule, et donc il n'y a pas de raison
de faire une tâche n'ayant que des cellules ghost (elle n'aura rien à
écrire).

Samuel



Archives gérées par MHonArc 2.6.19+.

Haut de le page