[MPICH2-dev] running out of fd's?
Darius Buntinas
buntinas at mcs.anl.gov
Wed Jan 30 13:26:02 CST 2008
I bet it's gforker. It creates O(N) sockets for stdio, etc. Try mpd
and see if that helps.
-d
On 01/30/2008 01:06 PM, Nicholas Karonis wrote:
> Hi,
>
> I just installed MPICH2-1.0.6 on Mac OS X 10.5.1 (i.e., Leopard).
> I configured it with the gforker and it was all compiled using
> Gnu's C and C++ compilers that came with the developer tools
> on the Mac OS X disk.
>
> The build seem to go OK and so I tried testing it with a small
> ring program (source at bottom). When I run the ring with -np 75
> all is OK but when I increase it to 100 I get an error message:
>
> /* running with 75, all OK */
> mpro% mpiexec -np 75 ring
> nprocs 75 received 75
>
> /* attempting to run with 100, problem :-( */
> mpro% mpiexec -np 100 ring
> Error in system call select: Bad file descriptor
> mpro%
>
> Any suggestions?
>
> Thanks in advance,
> Nick
>
>
> --- app source
> mpro% cat ring.c
> #include "mpi.h"
> #include <stdio.h>
> #include <stdlib.h>
>
> int main(int argc, char *argv[])
> {
> int nprocs, myid;
> int val;
> MPI_Status st;
>
> MPI_Init(&argc, &argv);
>
> MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
>
> if (nprocs > 1)
> {
> MPI_Comm_rank(MPI_COMM_WORLD, &myid);
> if (myid == 0)
> {
> val = 1;
> MPI_Send(&val, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
> MPI_Recv(&val, 1, MPI_INT, nprocs-1, 0, MPI_COMM_WORLD, &st);
> printf("nprocs %d received %d\n", nprocs, val);
> }
> else
> {
> MPI_Recv(&val, 1, MPI_INT, myid-1, 0, MPI_COMM_WORLD, &st);
> val ++;
> MPI_Send(&val, 1, MPI_INT, (myid+1)%nprocs, 0, MPI_COMM_WORLD);
> } /* endif */
> } /* endif */
>
> MPI_Finalize();
> exit(0);
>
> } /* end main() */
> mpro%
>
More information about the mpich2-dev
mailing list