I have a call to MPI_File_write_all
:
double precision buf[100][100][100];
int data_size = 100*100*100;
MPI_Status stat_mpi;
MPI_file sgfh;
...
MPI_File_write_all(sgfh, (void*)buf, data_size, MPI_DOUBLE, &stat_mpi);
The size of buf
can vary, 100^3 is just an example. Under certain circumstances that I still don't have a complete handle on, the call to MPI_File_write_all
fails with a floating-point exception. Everything I can test -- the buf
array, value of data_size
-- checks out OK.
Any idea what could cause this? I get the same error with Cray and gnu compilers, and regardless of optimization levels.
Sorry I don't have a small code that can repeat the problem. Stripping it down to bare essentials would still leave a code too big for this page.