[mpich2-commits] r9526 - mpich2/trunk/src/pm/hydra/pm/pmiserv

balaji at mcs.anl.gov balaji at mcs.anl.gov
Fri Feb 24 18:51:02 CST 2012


Author: balaji
Date: 2012-02-24 18:51:02 -0600 (Fri, 24 Feb 2012)
New Revision: 9526

Modified:
   mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
   mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
Log:
Allow users to pass a list of hosts instead of a single host during
Comm_spawn.

Modified: mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c	2012-02-25 00:50:57 UTC (rev 9525)
+++ mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c	2012-02-25 00:51:02 UTC (rev 9526)
@@ -404,9 +404,13 @@
             else if (!strcmp(info_key, "wdir")) {
                 exec->wdir = HYDU_strdup(info_val);
             }
-            else if (!strcmp(info_key, "host")) {
-                status = HYDU_process_mfile_token(info_val, 1, &pg->user_node_list);
-                HYDU_ERR_POP(status, "error create node list\n");
+            else if (!strcmp(info_key, "host") || !strcmp(info_key, "hosts")) {
+                char *host = strtok(info_val, ",");
+                while (host) {
+                    status = HYDU_process_mfile_token(host, 1, &pg->user_node_list);
+                    HYDU_ERR_POP(status, "error creating node list\n");
+                    host = strtok(NULL, ",");
+                }
             }
             else if (!strcmp(info_key, "hostfile")) {
                 status = HYDU_parse_hostfile(info_val, &pg->user_node_list,

Modified: mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c
===================================================================
--- mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c	2012-02-25 00:50:57 UTC (rev 9525)
+++ mpich2/trunk/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v2.c	2012-02-25 00:51:02 UTC (rev 9526)
@@ -585,9 +585,13 @@
             else if (!strcmp(info_key, "wdir")) {
                 exec->wdir = HYDU_strdup(info_val);
             }
-            else if (!strcmp(info_key, "host")) {
-                status = HYDU_process_mfile_token(info_val, 1, &pg->user_node_list);
-                HYDU_ERR_POP(status, "error create node list\n");
+            else if (!strcmp(info_key, "host") || !strcmp(info_key, "hosts")) {
+                char *host = strtok(info_val, ",");
+                while (host) {
+                    status = HYDU_process_mfile_token(host, 1, &pg->user_node_list);
+                    HYDU_ERR_POP(status, "error creating node list\n");
+                    host = strtok(NULL, ",");
+                }
             }
             else if (!strcmp(info_key, "hostfile")) {
                 status = HYDU_parse_hostfile(info_val, &pg->user_node_list,



More information about the mpich2-commits mailing list