[Carpet] local reduction handles
Erik Schnetter
schnetter at cct.lsu.edu
Mon Oct 22 17:12:10 CEST 2007
Hi Béla,
yes, this is correct. Cactus offers two different APIs for reduction
operators. The old one, which is supported by Carpet, does not offer
"local operators", but offers "array reduction operators" instead.
The functionalities are almost identical. The changes are mostly
syntactic if you want to convert code between the two versions.
PUGH supports only the new interface. EllSOR does not support mesh
refinement, and expects the new reduction interface.
Unfortunately, some Cactus thorns were converted to the new interface
before all thorns were ready. The new interface will have some
additional functionality over the old one, but is at the moment also
still missing some functionality which is important for mesh refinement.
If you only want to use local reduction operators, then you can just
activate thorn CactusBase/LocalReduce. It is independent of Carpet.
-erik
On Oct 22, 2007, at 09:10:28, Bela Szilagyi wrote:
> It seems that thorn CarpetReduce does not register local reduction
> handles for
> the various reduction types it supports on a global level.
>
> In CarpetReduce/src/reduce.cc one finds registration of global
> reduction
> operators for both GFs and arrays. However, the cooresponding
> operators for
> proccessor-local reductions are not registered.
>
> int CarpetReduceStartup ()
> {
> CCTK_RegisterReductionOperator (count_GVs, "count");
> //...
> // ADN
>
> CCTK_RegisterReductionArrayOperator (count_arrays,
> "count");
> //...
>
> return 0;
> }
>
>
> This means that if a thorn asks for a local reduction operator
> handle, it
> won't get one.
>
> As an example, in CactusElliptic/EllSOR/src/ConfMetric.c one finds
>
> /* Get the reduction handle */
> sum_handle = CCTK_LocalArrayReductionHandle("sum");
>
> The resulting handle is '-2'
> .
>
> The parameters I used for this tests are:
>
>
> ##############################
> ActiveThorns = "IOUtil"
> ActiveThorns = "Carpet CarpetLib CarpetReduce"
> ActiveThorns = "Boundary CartGrid3D CoordBase SymBase"
> ActiveThorns = "ADMBase StaticConformal"
> ActiveThorns = "ellbase ellsor idbrilldata"
>
> Cactus::cctk_full_warnings = yes
> ADMBase::initial_data = "brilldata"
> #######################
>
> while the relevant part out the output is
>
> WARNING level 1 in thorn Cactus processor 0 host vcd.aei.mpg.de
> (line 1120
> of /home/szilagyi/Cactus/configs/exp_debug/build/Cactus/comm/
> Reduction.c):
> -> CCTK_LocalArrayReductionHandle: No handle: '-2' found for
> reduction
> operator 'sum'
> WARNING level 1 in thorn EllSOR processor 0 host vcd.aei.mpg.de
> (line 155
> of /home/szilagyi/Cactus/configs/exp_debug/build/EllSOR/ConfMetric.c):
> -> SORConfMetric3D: Cannot get handle for sum reduction
> WARNING level 1 in thorn EllSOR processor 0 host vcd.aei.mpg.de
> (line 545
> of /home/szilagyi/Cactus/configs/exp_debug/build/EllSOR/ConfMetric.c):
> -> SORConfMetric3D: Reduction of residual failed
> INFO (IDBrillData): Leaving elliptic solver: solve failed
> _______________________________________________
> developers mailing list
> developers at lists.carpetcode.org
> http://lists.carpetcode.org/listinfo/developers
>
--
Erik Schnetter <schnetter at cct.lsu.edu>
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20071022/ce752b5c/attachment.pgp
More information about the developers
mailing list