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> 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 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/25967.php >