Hello all...

I am using a *cartesian grid* of processors which represents a spatial
domain (a cubic geometrical domain split into several smaller cubes...),
and I have communicators to address the procs, as for example a comm along
each of the 3 axes I,J,K, or along a plane IK,JK,IJ, etc..).

*I need to cumulate a scalar value (SCAL) through the procs which belong to
a given axis* (let's say the K axis, defined by I=J=0).

Precisely, the origin proc 0-0-0 has a given value for SCAL (say SCAL000).
I need to update the 'following' proc (0-0-1) by doing SCAL = SCAL +
SCAL000, and I need to *propagate* this updating along the K axis. At the
end, the last proc of the axis should have the total sum of SCAL over the
axis. (and of course, at a given rank k along the axis, the SCAL value =
sum over 0,1,   K of SCAL)

Please, do you see a way to do this ? I have tried many things (with
MPI_SENDRECV and by looping over the procs of the axis, but I get deadlocks
that prove I don't handle this correctly...)
Thank you in any case.
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to