[Developers] Symmetry thorns
schnetter at aei.mpg.de
Fri Aug 13 13:11:03 CDT 2004
-----BEGIN PGP SIGNED MESSAGE-----
On Friday 13 August 2004 17:48, Erik Schnetter wrote:
> As to the dependence on Slab that you don't want in Cactus, I'll have
> a look at the symmetry thorns and see just what is missing, and how
> much work it would be to change the symmetry thorns.
The rotating symmetry thorns use TAT/Slab to communicate all necessary
symmetry boundaries between the processors at once. Each processor
needs a different piece of the boundary, and this kind of hyperslabbing
is not possible with the standard Cactus hyperslabbing interface. The
standard interface requires that the same hyperslab is communicated
between all processors.
I see several possibilities:
(1) Serialise the communication. Loop over all processors that own a
piece of the symmetry boundary, and transfer this hyperslab with a
GetHyperslab call. Disadvantage: On N^3 processors, this will require
O(N^2) serial communication calls.
(2) Communicate more than what is needed. Send all of the symmetry
boundary to all processors. Disadvantage: On N^3 processors, this will
transmit O(N^5) (five!) times as much data as is required.
(3) Master and slave approach. Collect the whole symmetry boundary on
the root processor, and have the root processor distribute chunks of
this to the processors that need the data. Disadvantage: (a) the
communication happens in two serial steps, and (b) the second step
requires direct MPI calls, because there is no Cactus API for this.
(4) Update the Cactus hyperslabbing interface as well as the PUGH and
Carpet implementations so that they can handle the case where different
processors require different slabs.
Erik Schnetter <schnetter at aei.mpg.de> http://www.aei.mpg.de/~eschnett/
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from www.keyserver.net.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the Developers