To be more precise: by 'server process' I mean some process that I could run once on my system and it could help in creating those groups. My typical scenario is: 1. run N separate processes, each without mpirun 2. connect them into MPI group 3. do some job 4. exit all N processes 5. goto 1
2010/4/23 Grzegorz Maj <ma...@wp.pl>: > Thank you Ralph for your explanation. > And, apart from that descriptors' issue, is there any other way to > solve my problem, i.e. to run separately a number of processes, > without mpirun and then to collect them into an MPI intracomm group? > If I for example would need to run some 'server process' (even using > mpirun) for this task, that's OK. Any ideas? > > Thanks, > Grzegorz Maj > > > 2010/4/18 Ralph Castain <r...@open-mpi.org>: >> Okay, but here is the problem. If you don't use mpirun, and are not >> operating in an environment we support for "direct" launch (i.e., starting >> processes outside of mpirun), then every one of those processes thinks it is >> a singleton - yes? >> >> What you may not realize is that each singleton immediately fork/exec's an >> orted daemon that is configured to behave just like mpirun. This is required >> in order to support MPI-2 operations such as MPI_Comm_spawn, >> MPI_Comm_connect/accept, etc. >> >> So if you launch 64 processes that think they are singletons, then you have >> 64 copies of orted running as well. This eats up a lot of file descriptors, >> which is probably why you are hitting this 65 process limit - your system is >> probably running out of file descriptors. You might check you system limits >> and see if you can get them revised upward. >> >> >> On Apr 17, 2010, at 4:24 PM, Grzegorz Maj wrote: >> >>> Yes, I know. The problem is that I need to use some special way for >>> running my processes provided by the environment in which I'm working >>> and unfortunately I can't use mpirun. >>> >>> 2010/4/18 Ralph Castain <r...@open-mpi.org>: >>>> Guess I don't understand why you can't use mpirun - all it does is start >>>> things, provide a means to forward io, etc. It mainly sits there quietly >>>> without using any cpu unless required to support the job. >>>> >>>> Sounds like it would solve your problem. Otherwise, I know of no way to >>>> get all these processes into comm_world. >>>> >>>> >>>> On Apr 17, 2010, at 2:27 PM, Grzegorz Maj wrote: >>>> >>>>> Hi, >>>>> I'd like to dynamically create a group of processes communicating via >>>>> MPI. Those processes need to be run without mpirun and create >>>>> intracommunicator after the startup. Any ideas how to do this >>>>> efficiently? >>>>> I came up with a solution in which the processes are connecting one by >>>>> one using MPI_Comm_connect, but unfortunately all the processes that >>>>> are already in the group need to call MPI_Comm_accept. This means that >>>>> when the n-th process wants to connect I need to collect all the n-1 >>>>> processes on the MPI_Comm_accept call. After I run about 40 processes >>>>> every subsequent call takes more and more time, which I'd like to >>>>> avoid. >>>>> Another problem in this solution is that when I try to connect 66-th >>>>> process the root of the existing group segfaults on MPI_Comm_accept. >>>>> Maybe it's my bug, but it's weird as everything works fine for at most >>>>> 65 processes. Is there any limitation I don't know about? >>>>> My last question is about MPI_COMM_WORLD. When I run my processes >>>>> without mpirun their MPI_COMM_WORLD is the same as MPI_COMM_SELF. Is >>>>> there any way to change MPI_COMM_WORLD and set it to the >>>>> intracommunicator that I've created? >>>>> >>>>> Thanks, >>>>> Grzegorz Maj >>>>> _______________________________________________ >>>>> users mailing list >>>>> us...@open-mpi.org >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>>> >>>> _______________________________________________ >>>> users mailing list >>>> us...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >