Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Why starpu_mpi_barrier waits for all taks ?

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Why starpu_mpi_barrier waits for all taks ?


Chronologique Discussions 
  • From: Nathalie Furmento <nathalie.furmento@labri.fr>
  • To: Samuel Thibault <samuel.thibault@inria.fr>, Philippe SWARTVAGHER <philippe.swartvagher@inria.fr>, starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] Why starpu_mpi_barrier waits for all taks ?
  • Date: Wed, 15 Apr 2020 13:03:47 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=nathalie.furmento@labri.fr; spf=Pass smtp.mailfrom=nathalie.furmento@labri.fr; spf=None smtp.helo=postmaster@v-zimmta03.u-bordeaux.fr
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Philippe,

We discussed this topic, and actually found out functions
starpu_mpi_wait_for_all() and starpu_mpi_barrier() are both not correct.

The new semantics is going to be as follows :

starpu_mpi_barrier() will implement a MPI barrier (and no longer wait
for local tasks)
starpu_mpi_wait_for_all()  will wait for tasks and local communications
(and no longer have a barrier)

Soon to be available in GIT.

Cheers,

Nathalie

On 14/04/2020 19:00, Nathalie Furmento wrote:
> On 14/04/2020 18:23, Samuel Thibault wrote:
>> Philippe SWARTVAGHER, le mar. 14 avril 2020 18:02:00 +0200, a ecrit:
>>> Why starpu_mpi_barrier waits for all tasks ?
>> In the way we were using it (a synchronization in the task graph), it
>> has to be so, because MPI requests can make tasks ready, which can make
>> MPI requests ready, etc. So for starpu_mpi_wait_for_all, we need that
>> behavior.
>>
>>> Could we consider creating a function starpu_mpi_barrier_unsafe(), calling
>>> directly MPI_Barrier ?
>> Actually starpu_mpi_barrier itself could have that behavior, just like
>> starpu_mpi_send/recv() don't care much about the task graph of the STF
>> flow. But we need our current implementation for
>> starpu_mpi_wait_for_all.
>>
>> Put another way, I'd say:
>>
>> - rename _starpu_mpi_barrier to _starpu_mpi_wait_for_all
>> - call _starpu_mpi_wait_for_all from starpu_mpi_wait_for_all
>> - create a new _starpu_mpi_barrier which works like you said.
>
> And also make sure to replace where it's relevant, calls to
> starpu_mpi_barrier by calls to starpu_mpi_wait_for_all()
>
> Cheers,
>
> Nathalie
>
>
> _______________________________________________
> Starpu-devel mailing list
> Starpu-devel@lists.gforge.inria.fr
> https://lists.gforge.inria.fr/mailman/listinfo/starpu-devel


--
Dr Nathalie Furmento Ingénieure de recherche CNRS
http://www.labri.fr/~furmento/ LaBRI - Université Bordeaux






Archives gérées par MHonArc 2.6.19+.

Haut de le page