Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Data Distribution using Starpumpi

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Data Distribution using Starpumpi


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@inria.fr>
  • To: Yizhou Qian <yizhou96@gmail.com>
  • Cc: starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] Data Distribution using Starpumpi
  • Date: Fri, 20 Dec 2019 17:57:56 +0100
  • 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>
  • Organization: I am not organized

Hello,

Yizhou Qian, le sam. 21 déc. 2019 00:28:38 +0800, a ecrit:
>     starpu_mpi_data_register(data1, 0, rank);
>     starpu_mpi_data_register(data2, 1, rank);

You need to say which node really owns the data, i.e.

starpu_mpi_data_register(data1, 0, 0);
starpu_mpi_data_register(data2, 1, 1);

So that in particular rank 1 will know that data1 is on rank 0.

>     if (rank==0) {
>         starpu_mpi_task_insert(MPI_COMM_WORLD,&cl1, STARPU_RW, data1, 0);
>     }
>     else {
>         starpu_mpi_task_insert(MPI_COMM_WORLD,&
> cl2, STARPU_R, data1,STARPU_RW, data2,0);
>     }

Do not put an if here. starpu_mpi_task_insert really inserts the task
only on the MPI node which owns the data. And here rank 0 needs to know
that rank 1 will need the data, so the second starpu_mpi_task_insert
call really needs to be done on rank 0 too, otherwise it will not make
an MPI_Isend.

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page