Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Asynchronous Task execution problem

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Asynchronous Task execution problem


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@ens-lyon.org>
  • To: Usman Dastgeer <usman.dastgeer@liu.se>
  • Cc: "starpu-devel@lists.gforge.inria.fr" <starpu-devel@lists.gforge.inria.fr>
  • Subject: Re: [Starpu-devel] Asynchronous Task execution problem
  • Date: Wed, 2 Mar 2011 01:17:22 +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>

Hello,

Usman Dastgeer, le Tue 01 Mar 2011 18:02:25 +0100, a écrit :
> codelet = new starpu_codelet();

As Sylvain mentioned, does this fill the structure with zeroes? It needs
to, else uninitialized fields will bring issues.

> // Asynchronous, submits to starpu with a single handle for both read and
> write (STARPU_RW)
> void submitTasks(starpu_data_handle arr_hdl)
> {
> struct starpu_task *task = starpu_task_create();
>
> task->cl = codelet;
> codelet->nbuffers = 1;

> // Asynchronous, submits to starpu with separate handle for input and
> output.
> void submitTasks(starpu_data_handle arr_hdl,starpu_data_handle out_hdl)
> {
> struct starpu_task *task = starpu_task_create();
>
> task->cl = codelet;
>
> codelet->nbuffers = 2;

This is not supposed to work if you submit several tasks with both
functions: the task you have submitted earlier will still be pointing
at the same codelet structure, and when StarPU will actually run it, it
will try to fetch two buffers since you have just changed nbuffers to 2,
thus crashing. You need to use two codelet structures, one per number
of arguments. This is actually also important for performance models:
since you have a different behavior in both cases, you need different
performance models.

gamuel





Archives gérées par MHonArc 2.6.19+.

Haut de le page