Putting "/bin/sh" in command with info key "ompi_non_mpi"  set to  ".true."
(if command is empty, mpi_comm_spawn tries to execute ' ') of
mpi_comm_spawn and "-c" "mpirun -n 1 myapp" in args results in
this message:

/usr/bin/sh: -c: option requires an argument

Putting a single string in args as "-c mpirun -n 1 myapp" or  "-c 'mpirun
-n 1 myapp' "
returns

/usr/bin/sh: - : invalid option

Alex

2014-12-17 20:17 GMT-02:00 George Bosilca <bosi...@icl.utk.edu>:
>
> I don't think this has any chance of working. The redirection is something
> interpreted by the shell, and when Open MPI "fork-exec" a process it does
> not behave as the shell.
>
> Thus a potentially non-portable solution would be to instead of launching
> the mpirun directly to launch it through a shell. Maybe something like
> "/bin/sh", "-c", "mpirun -n 1 myapp".
>
>   George.
>
>
> On Wed, Dec 17, 2014 at 5:02 PM, Alex A. Schmidt <a...@ufsm.br> wrote:
>
>> Ralph,
>>
>> Sorry, "<" as an element of argv to mpi_comm_spawn is interpreted just the
>> same, as another parameter by the spawnee process.
>>
>> But I am confused: wouldn't it be redundant to put "mpirun" "-n" "1"
>> "myapp"
>> as elements of argv, considering role of the other parameters of
>> mpi_comm_spawn
>> like the 1st and 3rd ?
>>
>> Imho, it seems to me that stdin and stdout should be keys to "info" and
>> the
>> respective filenames the values of those keys, if that is possible to
>> implement...
>>
>> Alex
>>
>>
>>
>> 2014-12-17 15:16 GMT-02:00 Ralph Castain <r...@open-mpi.org>:
>>>
>>> Have you tried putting the "<" as a separate parameter? In other words,
>>> since you are specifying the argv, you have to specify each of them
>>> separately. So it looks more like:
>>>
>>> "mpirun", "-n", "1", "myapp", "<", "stdinfile"
>>>
>>> Does that work?
>>> Ralph
>>>
>>>
>>> On Wed, Dec 17, 2014 at 8:07 AM, Alex A. Schmidt <a...@ufsm.br> wrote:
>>>
>>>> Ralph,
>>>>
>>>> I am afraid I will have to insist on i/o redirection matter
>>>> for the spawnee process.
>>>>
>>>> I have a "child" mpi code that do just 2 things: read the 3 parameters
>>>> passed to it and print them, and then read data from stdin and show it.
>>>> So, if "stdin_file" is a text file with two lines, say:
>>>>
>>>> 10
>>>> 20
>>>>
>>>> executing "mpirun -n 1 child A B < stdin_file" wiil ouput two lines:
>>>>
>>>> [A]  [B]  []
>>>> 10  20
>>>>
>>>> On the other hand , calling "child" from
>>>> MPI_Comm_spawn("child",args,...)
>>>> where
>>>>
>>>> args(1) = "A"
>>>> args(2) = "B"
>>>> args(3) ="< stdin_file"
>>>> args(4) = " "
>>>>
>>>> will make "child" outputs only 1 line
>>>>
>>>> [A] [B] [< stdin_file]
>>>>
>>>> and then fails because there is not stdin data to read from.
>>>>
>>>> Please, note that surprisingly the whole string "< stdin_file" is
>>>> interpreted
>>>> as a third parameter to "child" and not a stdin...
>>>>
>>>> Alex
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2014-12-15 17:26 GMT-02:00 Alex A. Schmidt <a...@ufsm.br>:
>>>>
>>>>> Ralph,
>>>>>
>>>>> I guess you mean "call mpi_comm_spawn( 'siesta', '< infile' , 2 ,...)"
>>>>>
>>>>> to execute 'mpirun -n 2 siesta < infile' on the spawnee side. That was
>>>>> my first choice. Well, siesta behaves as if no stdin file was
>>>>> present...
>>>>>
>>>>> Alex
>>>>>
>>>>>
>>>>> 2014-12-15 17:07 GMT-02:00 Ralph Castain <r...@open-mpi.org>:
>>>>>>
>>>>>> You should be able to just include that in your argv that you pass to
>>>>>> the Comm_spawn API.
>>>>>>
>>>>>>
>>>>>> On Mon, Dec 15, 2014 at 9:27 AM, Alex A. Schmidt <a...@ufsm.br> wrote:
>>>>>>
>>>>>>> George,
>>>>>>>
>>>>>>> Thanks for the tip. In fact, calling mpi_comm_spawn right away with
>>>>>>> MPI_COMM_SELF
>>>>>>> has worked for me just as well -- no subgroups needed at all.
>>>>>>>
>>>>>>> I am testing this openmpi app named "siesta" in parallel. The
>>>>>>> source code is available,
>>>>>>> so making it "spawn ready" by adding the pair mpi_comm_get_parent +
>>>>>>> mpi_comm_disconnect
>>>>>>> into the main code can be done.  If it works, maybe the siesta's
>>>>>>> developers can be convinced
>>>>>>> to add this feature in a future release.
>>>>>>>
>>>>>>> However, siesta is launched only by specifying input/output files
>>>>>>> with i/o redirection like
>>>>>>>
>>>>>>> mpirun -n <*some number*>  siesta < infile > outfile
>>>>>>>
>>>>>>> So far, I could not find anything about how to set an stdin file for
>>>>>>> an spawnee process.
>>>>>>> Specifiyng it in a app context file doesn't seem to work. Can it be
>>>>>>> done? Maybe through
>>>>>>> an MCA parameter?
>>>>>>>
>>>>>>> Alex
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2014-12-15 2:43 GMT-02:00 George Bosilca <bosi...@icl.utk.edu>:
>>>>>>>>
>>>>>>>> Alex,
>>>>>>>>
>>>>>>>> The code looks good, and is 100% MPI standard accurate.
>>>>>>>>
>>>>>>>> I would change the way you create the subcoms in the parent. You do
>>>>>>>> a lot of useless operations, as you can achieve exactly the same 
>>>>>>>> outcome
>>>>>>>> (one communicator per node), either by duplicating MPI_COMM_SELF or 
>>>>>>>> doing
>>>>>>>> an MPI_Comm_split with the color equal to your rank.
>>>>>>>>
>>>>>>>>   George.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Dec 14, 2014 at 2:20 AM, Alex A. Schmidt <a...@ufsm.br>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Sorry, guys. I don't think the newbie here can follow any
>>>>>>>>> discussion
>>>>>>>>> beyond basic mpi...
>>>>>>>>>
>>>>>>>>> Anyway, if I add the pair
>>>>>>>>>
>>>>>>>>> call MPI_COMM_GET_PARENT(mpi_comm_parent,ierror)
>>>>>>>>> call MPI_COMM_DISCONNECT(mpi_comm_parent,ierror)
>>>>>>>>>
>>>>>>>>> on the spawnee side I get the proper response in the spawning
>>>>>>>>> processes.
>>>>>>>>>
>>>>>>>>> Please, take a look at the attached toy codes parent.F and child.F
>>>>>>>>> I've been playing with. 'mpirun -n 2 parent' seems to work as
>>>>>>>>> expected.
>>>>>>>>>
>>>>>>>>> Alex
>>>>>>>>>
>>>>>>>>> 2014-12-13 23:46 GMT-02:00 Gilles Gouaillardet <
>>>>>>>>> gilles.gouaillar...@gmail.com>:
>>>>>>>>>>
>>>>>>>>>> Alex,
>>>>>>>>>>
>>>>>>>>>> Are you calling MPI_Comm_disconnect in the 3 "master" tasks and
>>>>>>>>>> with the same remote communicator ?
>>>>>>>>>>
>>>>>>>>>> I also read the man page again, and MPI_Comm_disconnect does not
>>>>>>>>>> ensure the remote processes have finished or called 
>>>>>>>>>> MPI_Comm_disconnect, so
>>>>>>>>>> that might not be the thing you need.
>>>>>>>>>> George, can you please comment on that ?
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>>
>>>>>>>>>> Gilles
>>>>>>>>>>
>>>>>>>>>> George Bosilca <bosi...@icl.utk.edu> wrote:
>>>>>>>>>> MPI_Comm_disconnect should be a local operation, there is no
>>>>>>>>>> reason for it to deadlock. I looked at the code and everything is 
>>>>>>>>>> local
>>>>>>>>>> with the exception of a call to PMIX.FENCE. Can you attach to your
>>>>>>>>>> deadlocked processes and confirm that they are stopped in the 
>>>>>>>>>> pmix.fence?
>>>>>>>>>>
>>>>>>>>>>   George.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sat, Dec 13, 2014 at 8:47 AM, Alex A. Schmidt <a...@ufsm.br>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> Sorry, I was calling mpi_comm_disconnect on the group comm
>>>>>>>>>>> handler, not
>>>>>>>>>>> on the intercomm handler returned from the spawn call as it
>>>>>>>>>>> should be.
>>>>>>>>>>>
>>>>>>>>>>> Well, calling the disconnect on the intercomm handler does halt
>>>>>>>>>>> the spwaner
>>>>>>>>>>> side but the wait is never completed since, as George points
>>>>>>>>>>> out, there is no
>>>>>>>>>>> disconnect call being made on the spawnee side.... and that
>>>>>>>>>>> brings me back
>>>>>>>>>>> to the beginning of the problem since, being a third party app,
>>>>>>>>>>> that call would
>>>>>>>>>>> never be there. I guess an mpi wrapper to deal with that could
>>>>>>>>>>> be made for
>>>>>>>>>>> the app, but I fell the wrapper itself, at the end, would face
>>>>>>>>>>> the same problem
>>>>>>>>>>> we face right now.
>>>>>>>>>>>
>>>>>>>>>>> My application is a genetic algorithm code that search optimal
>>>>>>>>>>> configuration
>>>>>>>>>>> (minimum or maximum energy) of cluster of atoms. The work flow
>>>>>>>>>>> bottleneck
>>>>>>>>>>> is the calculation of the cluster energy. For the cases which an
>>>>>>>>>>> analytical
>>>>>>>>>>> potential is available the calculation can be made internally
>>>>>>>>>>> and the workload
>>>>>>>>>>> is distributed among slaves nodes from a master node. This is
>>>>>>>>>>> also done
>>>>>>>>>>> when an analytical potential is not available and the energy
>>>>>>>>>>> calculation must
>>>>>>>>>>> be done externally by a quantum chemistry code like dftb+,
>>>>>>>>>>> siesta and Gaussian.
>>>>>>>>>>> So far, we have been running these codes in serial mode. No need
>>>>>>>>>>> to say that
>>>>>>>>>>> we could do a lot better if they could be executed in parallel.
>>>>>>>>>>>
>>>>>>>>>>> I am not familiar with DMRAA but it seems to be the right choice
>>>>>>>>>>> to deal with
>>>>>>>>>>> job schedulers as it covers the ones I am interested in
>>>>>>>>>>> (pbs/torque and loadlever).
>>>>>>>>>>>
>>>>>>>>>>> Alex
>>>>>>>>>>>
>>>>>>>>>>> 2014-12-13 7:49 GMT-02:00 Gilles Gouaillardet <
>>>>>>>>>>> gilles.gouaillar...@gmail.com>:
>>>>>>>>>>>>
>>>>>>>>>>>> George is right about the semantic
>>>>>>>>>>>>
>>>>>>>>>>>> However i am surprised it returns immediatly...
>>>>>>>>>>>> That should either work or hang imho
>>>>>>>>>>>>
>>>>>>>>>>>> The second point is no more mpi related, and is batch manager
>>>>>>>>>>>> specific.
>>>>>>>>>>>>
>>>>>>>>>>>> You will likely find a submit parameter to make the command
>>>>>>>>>>>> block until the job completes. Or you can write your own wrapper.
>>>>>>>>>>>> Or you can retrieve the jobid and qstat periodically to get the
>>>>>>>>>>>> job state.
>>>>>>>>>>>> If an api is available, this is also an option.
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>
>>>>>>>>>>>> Gilles
>>>>>>>>>>>>
>>>>>>>>>>>> George Bosilca <bosi...@icl.utk.edu> wrote:
>>>>>>>>>>>> You have to call MPI_Comm_disconnect on both sides of the
>>>>>>>>>>>> intercommunicator. On the spawner processes you should call it on 
>>>>>>>>>>>> the
>>>>>>>>>>>> intercom, while on the spawnees you should call it on the
>>>>>>>>>>>> MPI_Comm_get_parent.
>>>>>>>>>>>>
>>>>>>>>>>>>   George.
>>>>>>>>>>>>
>>>>>>>>>>>> On Dec 12, 2014, at 20:43 , Alex A. Schmidt <a...@ufsm.br>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Gilles,
>>>>>>>>>>>>
>>>>>>>>>>>> MPI_comm_disconnect seem to work but not quite.
>>>>>>>>>>>> The call to it returns almost immediatly while
>>>>>>>>>>>> the spawn processes keep piling up in the background
>>>>>>>>>>>> until they are all done...
>>>>>>>>>>>>
>>>>>>>>>>>> I think system('env -i qsub...') to launch the third party apps
>>>>>>>>>>>> would take the execution of every call back to the scheduler
>>>>>>>>>>>> queue. How would I track each one for their completion?
>>>>>>>>>>>>
>>>>>>>>>>>> Alex
>>>>>>>>>>>>
>>>>>>>>>>>> 2014-12-12 22:35 GMT-02:00 Gilles Gouaillardet <
>>>>>>>>>>>> gilles.gouaillar...@gmail.com>:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Alex,
>>>>>>>>>>>>>
>>>>>>>>>>>>> You need MPI_Comm_disconnect at least.
>>>>>>>>>>>>> I am not sure if this is 100% correct nor working.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If you are using third party apps, why dont you do something
>>>>>>>>>>>>> like
>>>>>>>>>>>>> system("env -i qsub ...")
>>>>>>>>>>>>> with the right options to make qsub blocking or you manually
>>>>>>>>>>>>> wait for the end of the job ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> That looks like a much cleaner and simpler approach to me.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Gilles
>>>>>>>>>>>>>
>>>>>>>>>>>>> "Alex A. Schmidt" <a...@ufsm.br> wrote:
>>>>>>>>>>>>> Hello Gilles,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Ok, I believe I have a simple toy app running as I think it
>>>>>>>>>>>>> should:
>>>>>>>>>>>>> 'n' parent processes running under mpi_comm_world, each one
>>>>>>>>>>>>> spawning its own 'm' child processes (each child group work
>>>>>>>>>>>>> together nicely, returning the expected result for an mpi_
>>>>>>>>>>>>> allreduce call).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Now, as I mentioned before, the apps I want to run in the
>>>>>>>>>>>>> spawned
>>>>>>>>>>>>> processes are third party mpi apps and I don't think it will
>>>>>>>>>>>>> be possible
>>>>>>>>>>>>> to exchange messages with them from my app. So, I do I tell
>>>>>>>>>>>>> when the spawned processes have finnished running? All I have
>>>>>>>>>>>>> to work
>>>>>>>>>>>>> with is the intercommunicator returned from the mpi_comm_spawn
>>>>>>>>>>>>> call...
>>>>>>>>>>>>>
>>>>>>>>>>>>> Alex
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2014-12-12 2:42 GMT-02:00 Alex A. Schmidt <a...@ufsm.br>:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Gilles,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Well, yes, I guess....
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'll do tests with the real third party apps and let you know.
>>>>>>>>>>>>>> These are huge quantum chemistry codes (dftb+, siesta and
>>>>>>>>>>>>>> Gaussian)
>>>>>>>>>>>>>> which greatly benefits from a parallel environment. My code
>>>>>>>>>>>>>> is just
>>>>>>>>>>>>>> a front end to use those, but since we have a lot of data to
>>>>>>>>>>>>>> process
>>>>>>>>>>>>>> it also benefits from a parallel environment.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Alex
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2014-12-12 2:30 GMT-02:00 Gilles Gouaillardet <
>>>>>>>>>>>>>> gilles.gouaillar...@iferc.org>:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  Alex,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> just to make sure ...
>>>>>>>>>>>>>>> this is the behavior you expected, right ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Gilles
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2014/12/12 13:27, Alex A. Schmidt wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Gilles,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Ok, very nice!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> When I excute
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> do rank=1,3
>>>>>>>>>>>>>>>     call  MPI_Comm_spawn('hello_world','
>>>>>>>>>>>>>>> ',5,MPI_INFO_NULL,rank,MPI_COMM_WORLD,my_intercomm,MPI_ERRCODES_IGNORE,status)
>>>>>>>>>>>>>>> enddo
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I do get 15 instances of the 'hello_world' app running: 5 for 
>>>>>>>>>>>>>>> each parent
>>>>>>>>>>>>>>> rank 1, 2 and 3.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks a lot, Gilles.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Best regargs,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Alex
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2014-12-12 1:32 GMT-02:00 Gilles Gouaillardet 
>>>>>>>>>>>>>>> <gilles.gouaillar...@iferc.org
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  :
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  Alex,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> just ask MPI_Comm_spawn to start (up to) 5 tasks via the 
>>>>>>>>>>>>>>> maxprocs
>>>>>>>>>>>>>>> parameter :
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>        int MPI_Comm_spawn(char *command, char *argv[], int 
>>>>>>>>>>>>>>> maxprocs,
>>>>>>>>>>>>>>> MPI_Info info,
>>>>>>>>>>>>>>>                          int root, MPI_Comm comm, MPI_Comm 
>>>>>>>>>>>>>>> *intercomm,
>>>>>>>>>>>>>>>                          int array_of_errcodes[])
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> INPUT PARAMETERS
>>>>>>>>>>>>>>>        maxprocs
>>>>>>>>>>>>>>>               - maximum number of processes to start (integer, 
>>>>>>>>>>>>>>> significant
>>>>>>>>>>>>>>> only at root)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Gilles
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2014/12/12 12:23, Alex A. Schmidt wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hello Gilles,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks for your reply. The "env -i PATH=..." stuff seems to 
>>>>>>>>>>>>>>> work!!!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> call system("sh -c 'env -i PATH=/usr/lib64/openmpi/bin:/bin 
>>>>>>>>>>>>>>> mpirun -n 2
>>>>>>>>>>>>>>> hello_world' ")
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> did produce the expected result with a simple openmi 
>>>>>>>>>>>>>>> "hello_world" code I
>>>>>>>>>>>>>>> wrote.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I might be harder though with the real third party app I have 
>>>>>>>>>>>>>>> in mind. And
>>>>>>>>>>>>>>> I realize
>>>>>>>>>>>>>>> getting passed over a job scheduler with this approach might 
>>>>>>>>>>>>>>> not work at
>>>>>>>>>>>>>>> all...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have looked at the MPI_Comm_spawn call but I failed to 
>>>>>>>>>>>>>>> understand how it
>>>>>>>>>>>>>>> could help here. For instance, can I use it to launch an mpi 
>>>>>>>>>>>>>>> app with the
>>>>>>>>>>>>>>> option "-n 5" ?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Alex
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2014-12-12 0:36 GMT-02:00 Gilles Gouaillardet 
>>>>>>>>>>>>>>> <gilles.gouaillar...@iferc.org
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  :
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  Alex,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> can you try something like
>>>>>>>>>>>>>>> call system(sh -c 'env -i /.../mpirun -np 2 /.../app_name')
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> -i start with an empty environment
>>>>>>>>>>>>>>> that being said, you might need to set a few environment 
>>>>>>>>>>>>>>> variables
>>>>>>>>>>>>>>> manually :
>>>>>>>>>>>>>>> env -i PATH=/bin ...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> and that being also said, this "trick" could be just a bad idea 
>>>>>>>>>>>>>>> :
>>>>>>>>>>>>>>> you might be using a scheduler, and if you empty the 
>>>>>>>>>>>>>>> environment, the
>>>>>>>>>>>>>>> scheduler
>>>>>>>>>>>>>>> will not be aware of the "inside" run.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> on top of that, invoking system might fail depending on the 
>>>>>>>>>>>>>>> interconnect
>>>>>>>>>>>>>>> you use.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Bottom line, i believe Ralph's reply is still valid, even if 
>>>>>>>>>>>>>>> five years
>>>>>>>>>>>>>>> have passed :
>>>>>>>>>>>>>>> changing your workflow, or using MPI_Comm_spawn is a much 
>>>>>>>>>>>>>>> better approach.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Gilles
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2014/12/12 11:22, Alex A. Schmidt wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Dear OpenMPI users,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regarding to this previous 
>>>>>>>>>>>>>>> post<http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <http://www.open-mpi.org/community/lists/users/2009/06/9560.php>
>>>>>>>>>>>>>>>  from 2009,
>>>>>>>>>>>>>>> I wonder if the reply
>>>>>>>>>>>>>>> from Ralph Castain is still valid. My need is similar but quite 
>>>>>>>>>>>>>>> simpler:
>>>>>>>>>>>>>>> to make a system call from an openmpi fortran application to 
>>>>>>>>>>>>>>> run a
>>>>>>>>>>>>>>> third party openmpi application. I don't need to exchange mpi 
>>>>>>>>>>>>>>> messages
>>>>>>>>>>>>>>> with the application. I just need to read the resulting output 
>>>>>>>>>>>>>>> file
>>>>>>>>>>>>>>> generated
>>>>>>>>>>>>>>> by it. I have tried to do the following system call from my 
>>>>>>>>>>>>>>> fortran openmpi
>>>>>>>>>>>>>>> code:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> call system("sh -c 'mpirun -n 2 app_name")
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> but I get
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> **********************************************************
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Open MPI does not support recursive calls of mpirun
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> **********************************************************
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Is there a way to make this work?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Best regards,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Alex
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing listus...@open-mpi.org
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>> Link to this post: 
>>>>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25966.php
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing listus...@open-mpi.org
>>>>>>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>> Link to this 
>>>>>>>>>>>>>>> post:http://www.open-mpi.org/community/lists/users/2014/12/25967.php
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing listus...@open-mpi.org
>>>>>>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Link to this post: 
>>>>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25968.php
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing listus...@open-mpi.org
>>>>>>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>> Link to this 
>>>>>>>>>>>>>>> post:http://www.open-mpi.org/community/lists/users/2014/12/25969.php
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing listus...@open-mpi.org
>>>>>>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>> Link to this post: 
>>>>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25970.php
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>>>>> Subscription:
>>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>> Link to this post:
>>>>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25971.php
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>>> Subscription:
>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>> Link to this post:
>>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25974.php
>>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> users mailing list
>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>> Subscription:
>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>> Link to this post:
>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25975.php
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> users mailing list
>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>> Subscription:
>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>> Link to this post:
>>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25978.php
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> users mailing list
>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>> Link to this post:
>>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25979.php
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> users mailing list
>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>> Link to this post:
>>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25981.php
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> users mailing list
>>>>>>>>> us...@open-mpi.org
>>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>> Link to this post:
>>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25982.php
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> users mailing list
>>>>>>>> us...@open-mpi.org
>>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>> Link to this post:
>>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/25991.php
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> users mailing list
>>>>>>> us...@open-mpi.org
>>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>> Link to this post:
>>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/26002.php
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> us...@open-mpi.org
>>>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>> Link to this post:
>>>>>> http://www.open-mpi.org/community/lists/users/2014/12/26003.php
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> us...@open-mpi.org
>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> Link to this post:
>>>> http://www.open-mpi.org/community/lists/users/2014/12/26010.php
>>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> Link to this post:
>>> http://www.open-mpi.org/community/lists/users/2014/12/26011.php
>>>
>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post:
>> http://www.open-mpi.org/community/lists/users/2014/12/26013.php
>>
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2014/12/26014.php
>

Reply via email to