Inconsistent x2y redistribute when nx=1
Issue #250
new
For a simple nonlinear test case run on 32 cores with the default layout (lxyes) the following box setup seems to lead to an incorrect redistribute object. In particular, the nn_to
and nn_from
values for the local communication (i.e. ip == iproc) do not match on proc0, proc1 and proc31. This then leads to out of bounds access. This probably points to an error in setup_y_redist_local of gs2_transforms. It’s not impossible that this is also a problem for other configurations.
&kt_grids_box_parameters
jtwist = 1
nx = 1
ny = 4
y0 = -0.25
/
Comments (1)
-
reporter - Log in to comment
This appears to be due to gs2_layouts where we set
yxf_lo%nx = nnx
withnnx
set byClearly for
nx=1
we end up in the second branch resulting innnx = 2
If we simply force
yxf_lo%nx = nx
then the redistribute is only in disagreement on proc31 and this disagreement goes away if we do the same forxxf_lo%nx
.Obviously nonlinear runs with
nx=1
are not of large practical interest, but they might be useful for testing etc. so it would be nice if we could handle this case.I suspect we should always just respect the
nx
andny
passed to the setup of these layouts rather than trying to override them. This then puts the responsibility on the calling code to have setup the grids consistently.