aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryye00 <yye00@b589c3ab-70e8-4b4d-a09f-cba2dd200880>2005-11-01 18:50:38 +0000
committeryye00 <yye00@b589c3ab-70e8-4b4d-a09f-cba2dd200880>2005-11-01 18:50:38 +0000
commitffa02dbbfb29511a6d60d2823fa36775fb6027d2 (patch)
tree7552784df92d6d1ddc21754e696c94f23fe28701
parentd675eee199ebdf7f889ab6780c56376d313eaeb0 (diff)
commits to change IOBasic to use the new reduction interface. This breaks the testsuite for testcomplex because of a new reduction scheme for complex numbers. WaveToy1DF77 also fails with inconsistency, failing at 3,7 processors with varying files and differences between them. Currently investigating these failurse in detail.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOBasic/trunk@169 b589c3ab-70e8-4b4d-a09f-cba2dd200880
-rw-r--r--src/Startup.c4
-rw-r--r--src/WriteInfo.c20
-rw-r--r--src/WriteScalar.c18
3 files changed, 29 insertions, 13 deletions
diff --git a/src/Startup.c b/src/Startup.c
index b88d09e..bde7264 100644
--- a/src/Startup.c
+++ b/src/Startup.c
@@ -238,7 +238,7 @@ static void *IOBasic_SetupGH (tFleshConfig *config, int conv_level, cGH *GH)
or the 'IOBasic::out{Info|Scalar}_reductions' parameter.
@enddesc
@calls CCTK_GroupTypeFromVarI
- CCTK_ReductionHandle
+ CCTK_LocalArrayReductionHandle
@var vindex
@vdesc index of the variable to set info output
@@ -391,7 +391,7 @@ void IOBasic_AssignReductionList (int vindex, const char *optstring, void *arg)
string_start = string_end;
/* get the reduction handle from the reduction operator */
- reduction_handle = CCTK_ReductionHandle (reduction_op);
+ reduction_handle = CCTK_LocalArrayReductionHandle (reduction_op);
if (reduction_handle < 0)
{
CCTK_VWarn (5, __LINE__, __FILE__, CCTK_THORNSTRING,
diff --git a/src/WriteInfo.c b/src/WriteInfo.c
index 163a3c7..cb73a24 100644
--- a/src/WriteInfo.c
+++ b/src/WriteInfo.c
@@ -30,7 +30,7 @@ CCTK_FILEVERSION(CactusBase_IOBasic_WriteInfo_c)
@enddesc
@calls CCTK_VarDataPtrI
- CCTK_Reduce
+ CCTK_ReduceGridArrays
@var GH
@vdesc Pointer to CCTK grid hierarchy
@@ -61,8 +61,16 @@ int IOBasic_WriteInfo (const cGH *GH, int vindex)
iobasicGH *myGH;
void *ptr;
iobasic_reduction_t *reduction;
-
-
+
+ int input_array[1];
+ CCTK_INT output_array_type_codes[1];
+ CCTK_REAL output_value;
+ void * reduction_value[1];
+
+ input_array[0] = vindex;
+ output_array_type_codes[0] = CCTK_VARIABLE_REAL;
+ reduction_value[0] = &output_value;
+
myGH = CCTK_GHExtension (GH, "IOBasic");
reduction = myGH->info_reductions[vindex].reductions;
@@ -169,9 +177,9 @@ int IOBasic_WriteInfo (const cGH *GH, int vindex)
/* for CCTK_GF and CCTK_ARRAY variables: loop over all reductions */
while (reduction)
{
- reduction->is_valid = CCTK_Reduce (GH, -1, reduction->handle, 1,
- CCTK_VARIABLE_REAL,
- &reduction->value, 1, vindex) == 0;
+ reduction->is_valid = CCTK_ReduceGridArrays (GH, -1, reduction->handle, -1, 1, input_array , 1, output_array_type_codes, reduction_value) == 0;
+ reduction->value = output_value;
+
if (! reduction->is_valid)
{
CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
diff --git a/src/WriteScalar.c b/src/WriteScalar.c
index f0902a3..58a467b 100644
--- a/src/WriteScalar.c
+++ b/src/WriteScalar.c
@@ -113,7 +113,7 @@ int IOBasic_WriteScalar (const cGH *GH, int vindex, const char *alias)
suitable for postprocessing by either gnuplot or xgraph.
@enddesc
- @calls CCTK_Reduce
+ @calls CCTK_ReduceGridArrays
CCTK_ReductionHandle
IOUtil_RestartFromRecovery
IOUtil_AdvertiseFile
@@ -149,7 +149,15 @@ static int IOBasic_WriteScalarGA (const cGH *GH, int vindex, const char *alias)
iobasic_reduction_t *reduction;
DECLARE_CCTK_PARAMETERS
-
+ int input_array[1];
+ CCTK_INT output_array_type_codes[1];
+ CCTK_REAL output_value;
+ void * reduction_value[1];
+
+ input_array[0] = vindex;
+ output_array_type_codes[0] = CCTK_VARIABLE_REAL;
+ reduction_value[0] = &output_value;
+
/* set output format */
sprintf (format_str, "%%%s\t%%%s\n", out_format, out_format);
@@ -164,9 +172,9 @@ static int IOBasic_WriteScalarGA (const cGH *GH, int vindex, const char *alias)
while (reduction)
{
/* do the reduction (all processors) */
- reduction->is_valid = CCTK_Reduce (GH, 0, reduction->handle, 1,
- CCTK_VARIABLE_REAL,
- &reduction->value, 1, vindex) == 0;
+ reduction->is_valid = CCTK_ReduceGridArrays (GH, 0, reduction->handle, -1, 1, input_array , 1, output_array_type_codes, reduction_value) == 0;
+ reduction->value = output_value;
+
if (! reduction->is_valid)
{
CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,