<laugh> Thanks for pointing this out - it's an error in our man page. I've 
fixed it on our devel trunk and will get it push'd to the release.


On May 16, 2011, at 1:14 PM, Thatyene Louise Alves de Souza Ramos wrote:

> Ralph, thank you the reply.
> 
> I just try what you said and it works! I didn't think to try the array of 
> info arguments because in the spawn_multiple documentation I read the follow:
> 
> "... array_of_info, is an array of info arguments; however, only the first 
> argument in that array is used. Any subsequent arguments in the array are 
> ignored because an info argument applies to the entire job that is spawned, 
> and cannot be different for each executable in the job. See the INFO 
> ARGUMENTS section for more information."
> 
> Anyway, I'm glad it works!
> 
> Thank you very much!
> 
> Regards.
> 
> Thatyene Ramos
> 
> On Mon, May 16, 2011 at 3:47 PM, Ralph Castain <r...@open-mpi.org> wrote:
> You need to use MPI_Comm_spawn_multiple. Despite the name, it results in a 
> single communicator being created by a single launch - it just allows you to 
> specify multiple applications to run.
> 
> In this case, we use the same app, but give each element a different "host" 
> info key to get the behavior we want. Looks something like this:
> 
>     MPI_Comm child;
>     char *cmds[3] = {"myapp", "myapp", "myapp"};
>     MPI_Info info[3];
>     int maxprocs[] = { 1, 3, 1 };
> 
>   MPI_Info_create(&info[0]);
>   MPI_Info_set(info[0], "host", "m1");
> 
>   MPI_Info_create(&info[1]);
>   MPI_Info_set(info[1], "host", "m2");
> 
>   MPI_Info_create(&info[2]);
>   MPI_Info_set(info[2], "host", "m1");
>   
>         MPI_Comm_spawn_multiple(3, cmds, NULL, maxprocs, 
>                                 info, 0, MPI_COMM_WORLD,
>                                 &child, MPI_ERRCODES_IGNORE);
> 
> I won't claim the above is correct - but it gives the gist of the idea.
> 
> 
> On May 16, 2011, at 12:19 PM, Thatyene Louise Alves de Souza Ramos wrote:
> 
>> Ralph,
>> 
>> I have the same issue and I've been searching how to do this, but I couldn't 
>> find. 
>> 
>> What exactly must be the string in the host info key to do what Rodrigo 
>> described?
>> 
>> <<< Inside your master, you would create an MPI_Info key "host" that has a 
>> value 
>> <<< consisting of a string "host1,host2,host3" identifying the hosts you 
>> want 
>> <<< your slave to execute upon. Those hosts must have been included in 
>> <<< my_hostfile. Include that key in the MPI_Info array passed to your Spawn.
>> 
>> I tried to do what you said above but ompi ignores the repetition of hosts. 
>> Using Rodrigo's example I did:
>> 
>> host info key = "m1,m2,m2,m2,m3" and number of processes = 5 and the result 
>> was
>> 
>> m1 -> 2
>> m2 -> 2
>> m3 -> 1
>> 
>> and not
>> 
>> m1 -> 1
>> m2 -> 3
>> m3 -> 1
>> 
>> as I wanted.
>> 
>> Thanks in advance.
>> 
>> Thatyene Ramos
>> 
>> On Fri, May 13, 2011 at 9:16 PM, Ralph Castain <r...@open-mpi.org> wrote:
>> I believe I answered that question. You can use the hostfile info key, or 
>> you can use the host info key - either one will do what you require.
>> 
>> On May 13, 2011, at 4:11 PM, Rodrigo Silva Oliveira wrote:
>> 
>>> Hi,
>>> 
>>> I think I was not specific enough. I need to spawn the copies of a process 
>>> in a unique mpi_spawn call. It is, I have to specify a list of machines and 
>>> how many copies of the process will be spawned on each one. Is it possible?
>>> 
>>> I would be something like that:
>>> 
>>> machines     #copies
>>> m1                1
>>> m2                3
>>> m3                1
>>> 
>>> After an unique call to spawn, I want the copies running in this fashion. I 
>>> tried use a hostfile with the option slot, but I'm not sure if it is the 
>>> best way.
>>> 
>>> hostfile:
>>> 
>>> m1 slots=1
>>> m2 slots=3
>>> m3 slots=1
>>> 
>>> Thanks
>>> 
>>> -- 
>>> Rodrigo Silva Oliveira
>>> M.Sc. Student - Computer Science
>>> Universidade Federal de Minas Gerais
>>> www.dcc.ufmg.br/~rsilva
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to