Thanks for your message.

Actually, if I test ulimit -n, I get :

$ulimit -n
65536

that confirms that modifications (from the tutorial) are taken into account.

To test the OpenMPI "ring_c.c" code, I get :

1) without "--oversubscribe" flag :

$mpirun -np 128 ./ring_c
--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 128 slots
that were requested by the application:
  ./a.out

Either request fewer slots for your application, or make more slots
available
for use.
--------------------------------------------------------------------------

2) with "--oversubscribe" flag, everything seems to work fine :

mpirun --oversubscribe -np 128 ./ring_c

Process 0 sending 10 to 1, tag 201 (128 processes in ring)
Process 0 sent to 1
Process 0 decremented value: 9
Process 0 decremented value: 8
Process 0 decremented value: 7
Process 0 decremented value: 6
Process 0 decremented value: 5
Process 0 decremented value: 4
Process 0 decremented value: 3
Process 0 decremented value: 2
Process 0 decremented value: 1
Process 0 decremented value: 0
Process 0 exiting
Process 1 exiting
Process 2 exiting
...

------------------------------------------------------------------------------------------------------------------------------

Now If I take np = 256 , I get the same warning as my original issue :

$mpirun --oversubscribe -np 256 ./ring_c

[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
[warn] select: Invalid argument
...

I have installed Open-MPI 3.0 with the GCC-4.9 from MacPorts
<https://www.macports.org/> ( gcc-mp-4.9) and GFORTRAN also
(gfortran-mp-4.9).

Do you advise me to use gcc CLANG for Open-MPI 3.0 instead or GCC-5 ?

Where can I find a suitable libevent version ? I would like to build
firstly libevent and after Open-MPI 3.0.

Regards


2018-02-15 1:42 GMT+01:00 Gilles Gouaillardet <gilles.gouaillar...@gmail.com
>:

> Christophe,
>
> I can only test this on OS X 10.13.3 High Sierra, and it could differ
> from Maverick.
>
> by default
>
> KA15-002:~ gilles$ ulimit -n
> 256
>
> KA15-002:~ gilles$ ulimit -Hn
> unlimited
>
>
> but surprisingly,
>
> KA15-002:~ gilles$ ulimit -n unlimited
> -bash: ulimit: open files: cannot modify limit: Operation not permitted
>
> KA15-002:~ gilles$ ulimit -n 20000
> -bash: ulimit: open files: cannot modify limit: Invalid argument
>
> and finally, a lower value works just fine.
>
> KA15-002:~ gilles$ ulimit -n 10000
>
>
> as a consequence, opal_set_max_sys_limits fails in my environment.
> --oversubscribe is mandatory (since there are no 256 cores on my
> laptop), and then
>
> ulimit -n 10000; mpirun --oversubscribe -np 256 ./ring_c
>
> works just fine (fwiw, this is an example from Open MPI sources
> examples/ring_c.c)
>
>
>
> So first, I invite you to double check with ulimit -n that your system
> changes are effective.
>
> How did you build/install Open MPI ?
> The message seems to come from libevent, and Open MPI uses an embedded
> version of libevent.
> It is possible to use an external version at configure time.
> If you are using an external libevent, you might want to try
> rebuilding Open MPI with the embedded one.
>
>
> Cheers,
>
> Gilles
>
> On Wed, Feb 14, 2018 at 4:57 PM, Christophe Petit
> <christophe.peti...@gmail.com> wrote:
> > Hello,
> >
> > Using Open-Mpi 3.0 and following the tutorial on this link, I try to run
> a
> > MPI code under MacOS 10.9.5 (Mavericks) with a number of process equal to
> > 256 : the MPI code allocates for each process a 512x512 2D array, so it
> > requires 256*256kB = 64MB of total used memory.
> >
> > My MacOS has 16GB RAM and 8 cores, so it seems to be weird.
> >
> > For a number of process lower than 256 (I tried : np=2,4,8,16,32,64,128),
> > there is no problem, execution is good and I get expected results.
> >
> > But for np = 256, I get the following message which repeats itself :
> >
> > $ mpirun -np 256 ./explicitPar
> >
> >     [warn] select: Invalid argument
> >     [warn] select: Invalid argument
> >     [warn] select: Invalid argument
> >      ...
> >
> > I tried also to use -mca option by doing :
> >
> > $ mpirun -mca opal_set_max_sys_limits 1 -np 256 ./explicitPar
> >
> > But I get the same warning message.
> >
> > From this link cited above, I did :
> >
> > $ launchctl limit maxfiles
> >
> >   maxfiles    65536          200000
> >
> > Then, in root user, I created /etc/launchd.conf file and put into :
> >
> > limit maxfiles 65536 200000
> >
> > I restarted the system for the new limits to take effect and type as
> normal
> > user :
> >
> > $ launchctl limit maxfiles
> >
> > maxfiles    65536          200000
> >
> > But unfortunately, these modifications have no effects on the MPI
> function
> > "mpirun" with 256 processes and don't make disappear the warning above.
> >
> > On Linux platform, I can launch my MPI code with np = 256, without
> problem,
> > the issue is only happening on MacOS 10.9.5.
> >
> > I didn't get this issue with previous version of Open-MPI.
> >
> > Any idea ? Thanks
> >
> >
> >
> > _______________________________________________
> > users mailing list
> > users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
>
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to