freepooma-devel
[Top][All Lists]
Advanced

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

Assigning to internal guards


From: Richard Guenther
Subject: Assigning to internal guards
Date: Wed, 25 Sep 2002 11:50:36 +0200 (CEST)

Hi!

I'd like to have internal guards computated rather than communicated in
simple cases like

 x.all() = 1.0;

or even

 x(I) = a(I) + b(I);

so after the operation a x.fillGuards() will do nothing (is this
equivalent to having the dirty flag cleared after the operation or is the
dirty flag overloaded as I think with the handling of relations?).

I can achieve at least the assignment by creating a special layout for x
which contains overlapping patches with no guards, but I get extra
communication of guards at other places then which I dont really
understand. The layout is created using a custom partition based on grid
partition

OGridPartition<1>:
  blocks_m = [4]
  internalGuards_m:
      upper       1
      lower       1
  num_m = 4
  grid_m = (empty)

the resulting layout is

GridLayout 1 on global domain [-1:65:1]:
   Total subdomains: 4
   Local subdomains: 2
  Remote subdomains: 2
        Grid blocks: [4]
  Global subdomain = {[-1:16:1]: allocated=[-1:16:1], con=0, aff=0, gid=0,
lid=0}
  Global subdomain = {[15:32:1]: allocated=[15:32:1], con=0, aff=0, gid=1,
lid=1}
  Global subdomain = {[31:48:1]: allocated=[31:48:1], con=1, aff=-1,
gid=2, lid=-1}
  Global subdomain = {[47:65:1]: allocated=[47:65:1], con=1, aff=-1,
gid=3, lid=-1}
   Local subdomain = {[-1:16:1]: allocated=[-1:16:1], con=0, aff=0, gid=0,
lid=0}
   Local subdomain = {[15:32:1]: allocated=[15:32:1], con=0, aff=0, gid=1,
lid=1}
  Remote subdomain = {[31:48:1]: allocated=[31:48:1], con=1, aff=-1,
gid=2, lid=-1}
  Remote subdomain = {[47:65:1]: allocated=[47:65:1], con=1, aff=-1,
gid=3, lid=-1}
 hasInternalGuards_m, hasExternalGuards_m 0 0
 internalGuards_m 0-0
 externalGuards_m 0-0
 gcFillList_m


Anyone with other/better ideas to reduce communication? I'm still unable
to find where the computation domain for the patches is computed and the
dirty flag is handled - it semms to be spread over the whole code...

Any hints?
    Thanks, Richard.

--
Richard Guenther <address@hidden>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
The GLAME Project: http://www.glame.de/

reply via email to

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