Thank you Kenneth. I figured as much. No matter how long i searched, it seems this question keeps popping up and there is no solution to date. On the bright side i figured, oh well, we can launch the separate workers, configure them into one intra communicator via MPI_Comm_accept() and intracomm_merge() and pass in the task via shared memory. It seems to be working although direct in-process control over task data hand-off would be nicer still. Thank you for the issue tracker! -dmitriy On Tue, Apr 26, 2016 at 8:18 AM, Kenneth Raffenetti <[email protected]> wrote:
Hi Dmitriy,
mpiexec is still needed for this type of operation with MPICH today. This ticket has some of the previous discussion about singleton init and spawn, but there hasn't been much demand for the feature. https://trac.mpich.org/projects/mpich/ticket/1074
Ken
On 04/21/2016 12:18 AM, Dmitriy Lyubimov wrote:
Hi,
I guess i need to be asking more specific questions.
I saw the same issue has been raised a few years ago and apparently there was no solution for it back then, so i thought i'd check again.
The question is about bypassing mpiexec and trying to connect already running processes (which already have some data in memory to share with mpi tasks) into a single communicator without having to spawn yet another process with mpiexec.
Suppose one of this processes uses MPI_Comm_accept, and the other somehow know the mpi port name and would use MPI_Comm_connect() to connect to it.
Everything works as long as both server and client started with mpiexec -n 1. However, without mpiexec, the same attempts cause errors and connection never happens:
mpiexec@Intel-Kubu] match_arg (utils/args/args.c:159): unrecognized argument pmi_args [mpiexec@Intel-Kubu] HYDU_parse_array (utils/args/args.c:174): argument matching returned error [mpiexec@Intel-Kubu] parse_args (ui/mpich/utils.c:1596): error parsing input array [mpiexec@Intel-Kubu] HYD_uii_mpx_get_parameters (ui/mpich/utils.c:1648): unable to parse user arguments [mpiexec@Intel-Kubu] main (ui/mpich/mpiexec.c:153): error parsing parameters
So, there's no way of working around the necessity to spawn an entirely new process with mpiexec?
Thank you very much for your help. -Dmitriy
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss