On May 12, 2010, at 3:01 PM, Fernando Lemos wrote:
> Please correct me if I'm wrong, but I believe OpenMPI sends
> stdin/stdout from the other ranks back to rank 0 so that the output is
> displayed as the stdin of mpirun and the other way around with
> stdout/stderr. Otherwise it wouldn't be possible to even see the
> output from the other ranks. I guess that could make things slower.
Correct, OMPI does this. The original question asked if we overrode getc(); we do not. Open MPI sends stdin and receives stdout/stderr via pipes to MPI processes.
The phrasing of the original question also led me to believe that the program was being run without mpirun, but that could be a bad assumption on my part. Another relevant data point here would be exactly what "4x slower" means.
For corporate legal information go to: