Jeff Squyres wrote:
> This sounds like memory badness is occurring somewhere in your
> application which eventually corrupts things to make them stop working
> (e.g., writing beyond the end of arrays, etc.). Have you run your app
> through a memory-checking debugger, perchance?
A related question. In this particular code fortran char arrays are sent
around as follows; say
character*37 A(MAX), B(MAX)
call MPI_Send(A, MAX*37, MPI_CHARACTER, dest, tag, MPI_COMM_WORLD ...
call MPI_Recv(B, MAX*37, MPI_CHARACTER, sender, tag, MPI_COMM_WORLD ...
Up to a certain point in the code if I compile with optimization -O3 it
runs without the system calls problems I mentioned. If no optimization
is used I run into the system calls problems. Does this mean that the
when optimized the A and B are allocated contiguously but not when
non-optimized thus a possible reason for memory corruption?
I guess another way to ask is: is it guaranteed that A and B are
contiguous? and the MPI communication correctly sends the data?