[MPICH] standard input limited to 4096 bytes?

Martin Kleinschmidt mk at theochem.uni-duesseldorf.de
Tue Oct 17 11:09:33 CDT 2006


On Di, 17 Okt 2006, William Gropp wrote:

>Which process manager are you using (mpd, gforker, remshell, or  
>something else)?

I'm using mpd process manager started by the root user.

>It is possible that the process manager is hanging while expecting  
>the program to read the stat from stdin (which it is probably  
>forwarding). 

Sorry, I dont't really understand this  - would you please
explain what I should look at?

some more observations:
- the program does NOT always hang with files > 4k. sometimes it runs
  with files > 4k - I'd say in 30% of my tries with 4097 bytes, it ran,
  but it seems to get worse the larger the file becomes. I never got my
  "real" test running with 21k input, and I tried at least 30 times.
- the program always runs when running through gdb (by passing -gdb to
  mpiexec and executing "run < input_file_smaller_than_4097_bytes" in
  gdb.

my mpich configure options:
export CC=icc
export CFLAGS="-O2 -w"
export F77=ifort
export FFLAGS="-O2 -w"
export F90=ifort
export F90FLAGS="-O2 -w"
export CXX=icc
export CXXFLAGS="-O2 -w"
export CPP=cpp
export LDFLAGS=-static
./configure -prefix=/usr/local/encap/mpich2-1.0.4p1-intel -with-comm=shared --disable-devdebug --with-arch=LINUX

and I did'nt use any compiler flags when compiling my test program 
(it's just "ifort test.f")


>If so, that's a bug that we'll fix.

That sounds good :-)


>Bill
>
>On Oct 17, 2006, at 9:56 AM, Martin Kleinschmidt wrote:
>
>>
>>Hi,
>>
>>I'm having problems with standard input.
>>
>>the following program:
>>
>>      program  test
>>
>>      include 'mpif.h'
>>      integer myid, nproc
>>
>>      write(*,*) '0'
>>      call MPI_init(MPIerr)
>>      write(*,*) '0a'
>>      call MPI_comm_rank(MPI_comm_world,myid, MPIerr)
>>      write(*,*) '0b'
>>      call MPI_comm_size(MPI_comm_world,nproc,MPIerr)
>>      write(*,*) '0c'
>>
>>      end
>>
>>runs correctly when started with
>>mpiexec -n2 ./a.out < input_file_smaller_than_4097_bytes
>>
>>but hangs in call MPI_init when called with
>>mpiexec -n2 ./a.out < input_file_larger_than_4096_bytes
>>
>>note that the program does NOT access standard input!
>>
>>I'm using mpich2-1.0.4p1, intel compilers 9.x, fedora core2.
>>
>>Is this a general problem of mpich?
>>Is there any solution?
>>In my "real" program, I regularly need standard input from files  
>>larger
>>than 4096 bytes.
>>
>>
>>thanks!
>>
>>   ...martin
>>




More information about the mpich-discuss mailing list