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)

on sender
call MPI_Send(A, MAX*37, MPI_CHARACTER, dest, tag, MPI_COMM_WORLD ...

on dest
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?

Thanks,

--
Valmor

Reply via email to