freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Further improving guard update


From: Richard Guenther
Subject: Further improving guard update
Date: Fri, 26 Dec 2003 20:01:26 +0100 (CET)

Hi!

After ensuring we only fill those internal guards we're actually going to
use, the next bottleneck is our lame data flow analysis in the scheduler.
It doesn't detect the case where a write doesn't conflict with a
read/write as it touches a different domain, which happens f.i. for the
guard layer update.

A quick hack using the generation count to track dependend iterate shows
there is much room for improvement here. But I'm not sure what way we
should go. I can think of those options:
- pass down the evaluation domain to the data object at request time (this
  may be hard, as we're handling views here and need to go back to the
  brick domain)
- do the full guard cell update within a special iterate bypassing all the
  request machinery for the individual updates (sounds like a lot of code
  duplication here, but maybe the biggest gains for the least headaches in
  generic code)
- ??? -- I'm sure I missed the best one ;)


Any ideas? I suspect I'll try to follow the second option, but at least
for stencils in expression form ( b(i) = a(i-1) + a(i+1) ) this still
won't offer the best solution.

Thanks,

Richard.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]