aboutsummaryrefslogtreecommitdiff
path: root/src/LoadAware.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/LoadAware.c')
-rw-r--r--src/LoadAware.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/LoadAware.c b/src/LoadAware.c
index e1f04ec..cd31e18 100644
--- a/src/LoadAware.c
+++ b/src/LoadAware.c
@@ -133,6 +133,11 @@ int PUGH_SetPartitionInfo (int dim, const char *partition_info[])
@enddesc
@calls PUGH_GetSliceSizes
+ @var is_gf
+ @vdesc flag indicating that bounds are to be set up for a grid function
+ @vtype int
+ @vio in
+ @endvar
@var dim
@vdesc dimension to set up bounds for
@vtype int
@@ -160,7 +165,7 @@ int PUGH_SetPartitionInfo (int dim, const char *partition_info[])
-1: invalid dimension
@endreturndesc
@@*/
-int PUGH_GetBounds (int dim, int *bounds[], int nprocs[], int nsize[])
+int PUGH_GetBounds (int is_gf, int dim, int *bounds[], int nprocs[], int nsize[])
{
DECLARE_CCTK_PARAMETERS
int i, retval, manual, external_manual;
@@ -176,7 +181,7 @@ int PUGH_GetBounds (int dim, int *bounds[], int nprocs[], int nsize[])
partition_info = external_manual ? (const char *) partition_1D[0] :
partition_1d_x;
PUGH_GetSliceSizes (nprocs[0], nsize[0], partition_info, &bounds[0],
- manual || external_manual);
+ is_gf && (manual || external_manual));
}
else if (dim == 2)
{
@@ -184,12 +189,12 @@ int PUGH_GetBounds (int dim, int *bounds[], int nprocs[], int nsize[])
partition_info = external_manual ? (const char *) partition_2D[0] :
partition_2d_x;
PUGH_GetSliceSizes (nprocs[0], nsize[0], partition_info, &bounds[0],
- manual || external_manual);
+ is_gf && (manual || external_manual));
external_manual = partition_2D[1] != NULL;
partition_info = external_manual ? (const char *) partition_2D[1] :
partition_2d_y;
PUGH_GetSliceSizes (nprocs[1], nsize[1], partition_info, &bounds[1],
- manual || external_manual);
+ is_gf && (manual || external_manual));
}
else if (dim == 3)
{
@@ -197,21 +202,21 @@ int PUGH_GetBounds (int dim, int *bounds[], int nprocs[], int nsize[])
partition_info = external_manual ? (const char *) partition_3D[0] :
partition_3d_x;
PUGH_GetSliceSizes (nprocs[0], nsize[0], partition_info, &bounds[0],
- manual || external_manual);
+ is_gf && (manual || external_manual));
external_manual = partition_3D[1] != NULL;
partition_info = external_manual ? (const char *) partition_3D[1] :
partition_3d_y;
PUGH_GetSliceSizes (nprocs[1], nsize[1], partition_info, &bounds[1],
- manual || external_manual);
+ is_gf && (manual || external_manual));
external_manual = partition_3D[2] != NULL;
partition_info = external_manual ? (const char *) partition_3D[2] :
partition_3d_z;
PUGH_GetSliceSizes (nprocs[2], nsize[2], partition_info, &bounds[2],
- manual || external_manual);
+ is_gf && (manual || external_manual));
}
else
{
- if (manual)
+ if (is_gf && manual)
{
CCTK_WARN (1, "Only 1D, 2D, and 3D supported in manual topology setup");
retval = -1;