[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