Objet : Developers list for StarPU
Archives de la liste
- 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
- [Starpu-devel] Data Distribution using Starpumpi, Yizhou Qian, 20/12/2019
- Re: [Starpu-devel] Data Distribution using Starpumpi, Samuel Thibault, 20/12/2019
Archives gérées par MHonArc 2.6.19+.