MPICH memory growth problem.
Geoffrey D. Jacobs
jacobsgd21 at BrandonU.CA
Tue Jun 4 09:58:45 PDT 2002
> BTW, comp.parallel.mpi might be a more appropiate place to ask MPI-related questions.
Maybe, but the question IS specific to an MPI implementation used on a Beowulf-type device ;-) .
I did a little digging and fiddling with a test program, and I discovered this: in the example program, multi-dimensional arrays of size (n x m) are essentially treated as linear arrays of size (n * m). Logically (not necessarily syntactically), this is correct, and most Fortran compilers seem to let you get away with it. However, if you manually linearize the array segment you wish to deal with, the previously described problems go away.
I always thought that IRECV started at the buffer pointer, then copied the contents of n*MPI_DATATYPE bytes of memory, but it seems this is not the case.
Oh well, mystery solved.
More information about the Beowulf