Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MPI_Comm_Spawn query

0 views
Skip to first unread message

Rajesh

unread,
Feb 16, 2006, 1:01:07 AM2/16/06
to
Hi,
I am trying out a simple example using MPI_Comm_spawn command in
mpich2. The command works fine and it spawns new processes without any
error. But I am not able to specify on which processor node to spawn
the process. The only argument where I thought I could enter the node
information was MPI_Info argument in the MPI_Comm_spawn command. But
still the spawn command starts the new processes on arbitrary nodes.

I know that in the case of LAM/MPI, the node specification for spawn
process is given as a "appshcema" file using MPI_Info argument. But the
same technique does not seem to work in mpich2.

Has any one else faced a similar problem?

I read the earlier posts by Randy, but those posts didnt seem to answer
my specific question.

My current schema file for the spawn command looks like this.

debug7 -np 1 -wd /nfs/storage1/users/sudarsar/ worker
debug8 -np 1 -wd /nfs/storage1/users/sudarsar/ worker

debug7 and debug8 are the nodes where I want to spawn new processes
using the spawn command. "np" specifies the number of processes to be
spawned on each node. "wd" specifies the working directory. And the
last argument gives the executable name.

I would really appreciate any kind of help.

Georg Bisseling

unread,
Feb 16, 2006, 5:41:17 AM2/16/06
to
Judging from the docs of 1.0.3 and from browsing the source of 1.0.2 I
would say that you can not influence the process placing.

Why don't you send your question to their support?
mpich2 dash maint at mcs dot anl period gov

Rajesh

unread,
Feb 18, 2006, 7:06:33 PM2/18/06
to
thanks Georg...I posted this query on mpich dash discuss at mcs dot anl
period gov. Here is the reply posted by Rajeev Thakur. I tried it and
it works.

You need to pass an MPI_Info object with the key "host" and value set
to the
hostname. I believe that this is one per process. So if you need to
spawn
two processes, you need to call MPI_Comm_spawn_multiple, with count=2,
array_of_commands={worker,worker}, array_of_maxprocs={1,1},
array_of_info={"host""debug7","host""debug8"; ie 2 info objects with
the 2
hostnames.

Regards,
Rajesh

Georg Bisseling

unread,
Feb 20, 2006, 10:24:22 AM2/20/06
to
And he did not reveal for which versions this is
true and where it could be found in the documentation?

0 new messages