Thank you for your answer.
I'm using OpenMPI 1.2.3. , compiler glibc232, Linux Suse 10.0.
My "master" executable runs only on the one local host, then it spawns
"slaves" (with MPI::Intracomm::Spawn).
My question was: how to determine the hosts where these "slaves" will be
You said: "You have to specify all of the hosts that can be used by your job
in the original hostfile". How can I specify the host file? I can not find it
in the documentation.
Thanks and regards,
From: users-bounces_at_[hidden] [mailto:users-bounces_at_[hidden]] On
Behalf Of Ralph H Castain
Sent: Monday, December 17, 2007 3:31 PM
To: Open MPI Users <users_at_[hidden]>
Cc: Ralph H Castain
Subject: Re: [OMPI users] MPI::Intracomm::Spawn and cluster configuration
On 12/12/07 5:46 AM, "Elena Zhebel" <ezhebel_at_[hidden]> wrote:
> I'm working on a MPI application where I'm using OpenMPI instead of MPICH.
> In my "master" program I call the function MPI::Intracomm::Spawn which
> "slave" processes. It is not clear for me how to spawn the "slave"
> over the network. Currently "master" creates "slaves" on the same host.
> If I use 'mpirun --hostfile openmpi.hosts' then processes are spawn over
> network as expected. But now I need to spawn processes over the network
> my own executable using MPI::Intracomm::Spawn, how can I achieve it?
I'm not sure from your description exactly what you are trying to do, nor in
what environment this is all operating within or what version of Open MPI
you are using. Setting aside the environment and version issue, I'm guessing
that you are running your executable over some specified set of hosts, but
want to provide a different hostfile that specifies the hosts to be used for
the "slave" processes. Correct?
If that is correct, then I'm afraid you can't do that in any version of Open
MPI today. You have to specify all of the hosts that can be used by your job
in the original hostfile. You can then specify a subset of those hosts to be
used by your original "master" program, and then specify a different subset
to be used by the "slaves" when calling Spawn.
But the system requires that you tell it -all- of the hosts that are going
to be used at the beginning of the job.
At the moment, there is no plan to remove that requirement, though there has
been occasional discussion about doing so at some point in the future. No
promises that it will happen, though - managed environments, in particular,
currently object to the idea of changing the allocation on-the-fly. We may,
though, make a provision for purely hostfile-based environments (i.e.,
unmanaged) at some time in the future.
> Thanks in advance for any help.
> users mailing list
users mailing list