Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Request help for StarPU-MPI data_handle copy behaviour.

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Request help for StarPU-MPI data_handle copy behaviour.


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@inria.fr>
  • To: Emmanuel Agullo <Emmanuel.Agullo@inria.fr>
  • Cc: "starpu-devel@lists.gforge.inria.fr" <starpu-devel@lists.gforge.inria.fr>, Sameer Deshmukh <sameer.deshmukh@rio.gsic.titech.ac.jp>
  • Subject: Re: [Starpu-devel] Request help for StarPU-MPI data_handle copy behaviour.
  • Date: Thu, 20 Jun 2019 08:25:48 +0200
  • 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,

Sameer Deshmukh <sameer.deshmukh@rio.gsic.titech.ac.jp> writes:
> So basically I have registered some data handles of type
> `starpu_data_handle_t`
> using the `starpu_mpi_data_handle_register` function, and at some point of
> time
> in the code, the data that is held within these pointers needs to be
> destroyed
> and new data created in its place.
>
> Now the older data already has some dependencies defined on it, and I wish
> to
> 'transfer' these dependencies to the new data possibly by copying the
> contents
> of the older data handles. The new data will strictly reside on the same
> node as
> the older data.

I'm not sure to know precisely your situation. Which data handle type
are you using? How is your data allocation handled? Why do you need to
destroy the pointers and create new ones? Is that just because you need
to increase its size? If that's only what you need and you are handling
the data allocation yourself, you can do this inside the kernel, by
modifying the interface content from a task, something like this in the
case of the variable interface:

static void kernel(void *descr[], void *cl_arg)
{
struct starpu_variable_interface *interface = descr[0];

interface->ptr = realloc(interface->ptr, newsize);
interface->elemsize = newsize;
}

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page