[Carpet] local reduction handles
Bela Szilagyi
szilagyi at aei.mpg.de
Mon Oct 22 16:10:28 CEST 2007
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
More information about the developers
mailing list