Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Nested codelets?

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Nested codelets?


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@ens-lyon.org>
  • To: "Sidelnik, Albert" <asideln2@illinois.edu>
  • Cc: "starpu-devel@lists.gforge.inria.fr" <starpu-devel@lists.gforge.inria.fr>
  • Subject: Re: [Starpu-devel] Nested codelets?
  • Date: Wed, 18 Apr 2012 10:49:35 +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>

Sidelnik, Albert, le Wed 18 Apr 2012 08:31:18 +0200, a écrit :
> I'm working on a compiler to generate StarPU code directly from a
> high-level parallel language. In trying to support nested parallelism from
> this language, I'm wondering whether StarPU supports the ability to spawn
> new codelets directly from within a currently executing codelet (assume
> execution is only on a CPU).

Yes, you can spawn codelets. Even for the GPU case, since you have a
host part where you can run things on the CPU.

> If so, what are the main restrictions on which routines can or cannot be
> called?

They have to be non-blocking. You can not wait for a task for instance:
it might have been assigned to the very CPU you are making wait, and
thus never complete.

> For example, can I invoke starpu_tag_notify_from_apps() from a codelet in
> order to control the execution a successor codelet? I have not seen any
> examples in the StarPU release that show how to do this.

Yes, you can. Simply call it.

> Also, maybe I might have missed this in the StarPU manual, but is there a
> specific ordering on when callback functions are called for a completed
> codelet? Can I assume that the callback will be invoked before it's
> dependences are resolved?

No, we notify dependencies before calling the callback (and that was
missing in the doc indeed, thanks). That was made to be able to e.g.
free a dependency tag between them.

Samuel





Archives gérées par MHonArc 2.6.19+.

Haut de le page