Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Assert failure with regenerate flag enabled

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Assert failure with regenerate flag enabled


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@ens-lyon.org>
  • To: Jeff Hand <jeffrey.hand@gmail.com>
  • Cc: Starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] Assert failure with regenerate flag enabled
  • Date: Mon, 17 Nov 2014 12:43:05 +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,

Jeff Hand, le Wed 05 Nov 2014 15:27:06 -0600, a écrit :
> starpu_data_set_sequential_consistency_flag(vectorInputHandle, 0);

I'm wondering: why disabling the sequential consistency?

I have thought a bit deeper, and the ground issue is that we don't
really support the following kind of scenario. Let's way we have a
A->B->C task pipeline. We do not support running A several times
before running B: in B we would have to remember that A has executed
several times, and thus B can execute as many times. But AIUI from
your program, you do not want so much pipelining anyway: once A has
completed, you want B to complete before running A again, since you
don't want to see A fill the buffer before B had the time to read from
it. That is the Write-after-Read dependency enforced by the sequential
consistency. The idea could be to add also B->A and C->B dependencies,
to express the Write-after-Read dependency, but that gets tricky to do
from the application, since it can't be done initially, A would then not
be schedulable at all. One thing we can do, however, is to automatically
add the backward dependency in StarPU when the task has regenerate=1
with a proper initial state, thus making A initially dependent on
nothing, B on A, and C on B, and on A completion, the resubmitted
version of A would depend on B, on B completion, the resubmitted version
of B would depend on both A and B, etc.

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page