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