[pooma-dev] [RFC] Specialize (internal) guard cell handling, more data-flow analysis

Richard Guenther rguenth at tat.physik.uni-tuebingen.de
Wed Jul 7 17:54:43 UTC 2004


James Crotinger wrote:
> It's closing in on four years since the POOMA team left the lab, so 
> memory is rusting in this regard, but...
> 
> Smarts did apply data-flow to filling the guards. However, it wasn't 
> perfectly efficient as there was only one Smarts DataObject associated 
> with each patch. More parallelism could have been achieved by having a 
> data object for each guard region, and this idea was thrown around, but 
> never seriously studied. (This would allow multiple parts of the brick 
> to be written into in parallel - obviously care would have to be taken 
> in implementing this.)

Yeah, I thought of this as well, but it's too complicated.  I merely 
guess treating the guard updates as regular iterates (and exposing this 
fact too early - before data-flow analysis) is the main problem ...

> We also discussed aggregating all of the guard updates for a single 
> brick into a single iterate - the current behavior creates lots of small 
> iterates and the overhead can kill you. This may be more along the lines 
> of what you're considering.

... which the above would support.  And these single iterates indeed 
prevent you from implementing efficient guard communication schemes.

> I personally don't like the idea of putting anything to do with guards, 
> dirty-ness, etc in BrickEngine. It is a clean abstraction. If you need 
> an enhanced abstraction for MultiPatchEngine to work with, then I'd 
> build it on top of BrickEngine. That's my 2 pfennigs anyway. :)

Ok, first I thought on tackling external guards at the same time - and 
obviously BrickEngine may have external guards, so it fitted naturally.
Also dirtying a patch-view of a MultiPatchEngine would work the right 
way then (I suppose it doesn't right now - but need to check).

But yes, it should be even possible to leave it in MultiPatchEngine.

Richard.

>         Jim




More information about the pooma-dev mailing list