Accéder au contenu.
Menu Sympa

starpu-devel - Re: [starpu-devel] starpu_data_unregister_submit free non-NULL home buffer

Objet : Developers list for StarPU

Archives de la liste

Re: [starpu-devel] starpu_data_unregister_submit free non-NULL home buffer


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@inria.fr>
  • To: Lucas Leandro Nesi <lucas.nesi@inf.ufrgs.br>
  • Cc: starpu-devel@inria.fr
  • Subject: Re: [starpu-devel] starpu_data_unregister_submit free non-NULL home buffer
  • Date: Mon, 11 Apr 2022 17:35:01 +0200
  • Authentication-results: mail2-relais-roc.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

Hello,

Lucas Leandro Nesi, le jeu. 07 avril 2022 17:34:12 +0200, a ecrit:
> Something like the following is safe? I am not sure about the
> starpu_data_release_on_node and starpu_data_unregister inside the callback.

starpu_data_release_on_node inside the callback is completely safe, it's
meant for that and it's tested a lot :)

Unregistering from within the callback, I'm not sure. I'd tend to think
that it is safe because callbacks are allowed to block (and here it's
not even supposed to block), but better write a testcase that does it
and include it in the StarPU testsuite ;)

> void f(void *arg)
> {
> starpu_data_handle_t handle = (starpu_data_handle_t)arg;
> void* ptr = (void*)starpu_vector_get_local_ptr(handle);
> starpu_data_release_on_node(handle, STARPU_ACQUIRE_NO_NODE_LOCK_ALL);
> starpu_data_unregister(handle);
> free(ptr);
> }
> ...
> starpu_data_acquire_on_node_cb(handle, STARPU_ACQUIRE_NO_NODE_LOCK_ALL,
> STARPU_RW, f, handle);

Samuel



Archives gérées par MHonArc 2.6.19+.

Haut de le page