[mpich-discuss] SMPD not working under Cygwin in Windows?

Jose Pascual-Gutierrez Jose.Pascual-Gutierr at 1-act.com
Fri Jun 10 13:25:53 CDT 2011


I have a Windows machine running Windows 7. The processor is an Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93 GHz.

I installed a Linux terminal emulator, namely Red Hat Cygwin, which opens a bash shell. Inside Red Hat Cygwin, I installed mpich2-1.3.2p1. As previously suggested, MPICH2 was configured with the option "--with-pm=smpd", since Hydra does not work on a Windows box, even under Cygwin (and it is true, the default Hydra configuration does not work for me).

Before running any job I execute "smpd -s" to start the smpd deamons.

I compile my example Fortran90 code (copied below):

PROGRAM test
USE MPI
IMPLICIT NONE
  INTEGER, ALLOCATABLE, DIMENSION(:) :: value_ar
  INTEGER :: numpro, myrank, value, i, istat, ierr
  CALL MPI_INIT (ierr)
  CALL MPI_COMM_SIZE (MPI_COMM_WORLD,numpro,ierr)
  CALL MPI_COMM_RANK (MPI_COMM_WORLD,myrank,ierr)
  value = 2*myrank
  IF (myrank == 0) THEN
    ALLOCATE (value_ar(0:(numpro-1)),STAT=istat)
    IF (istat /= 0) THEN
      CALL MPI_ABORT (MPI_COMM_WORLD,istat,ierr)
    END IF
    DO i = 1, (numpro-1)
      CALL MPI_RECV (value_ar(i),1,MPI_INTEGER,i,i,MPI_COMM_WORLD,ierr)
      WRITE (*,*) 'Value come from rank ', i, 'is ', value_ar(i)
    END DO
  ELSE
     CALL MPI_SEND (value,1,MPI_INTEGER,0,myrank,MPI_COMM_WORLD,ierr)
  END IF
  CALL MPI_FINALIZE (ierr)
END PROGRAM test

Then I execute the program and the result is the following error (as one sees, the WRITE statement never gets executed):

$ mpiexec -n 2 ./a.exe
os_error = 104 (Connection reset by peer)
SMPDU_Sock_wait failed,
sock error: Error = -1
state machine failed.

Any suggestions to make MPICH2 run on my machine?
Thank you very much,
José


More information about the mpich-discuss mailing list