[mpich2-commits] r4164 - in mpich2/trunk/src/pm/hydra: include launcher/mpiexec utils/bind
balaji at mcs.anl.gov
balaji at mcs.anl.gov
Sun Mar 22 19:30:25 CDT 2009
Author: balaji
Date: 2009-03-22 19:30:24 -0500 (Sun, 22 Mar 2009)
New Revision: 4164
Modified:
mpich2/trunk/src/pm/hydra/include/hydra_base.h
mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
mpich2/trunk/src/pm/hydra/utils/bind/bind.c
Log:
Added an option to specify no binding at runtime and made that the
default for now.
Modified: mpich2/trunk/src/pm/hydra/include/hydra_base.h
===================================================================
--- mpich2/trunk/src/pm/hydra/include/hydra_base.h 2009-03-23 00:23:20 UTC (rev 4163)
+++ mpich2/trunk/src/pm/hydra/include/hydra_base.h 2009-03-23 00:30:24 UTC (rev 4164)
@@ -94,6 +94,7 @@
typedef enum {
HYD_BIND_UNSET,
+ HYD_BIND_NONE,
HYD_BIND_RR,
HYD_BIND_BUDDY,
HYD_BIND_PACK,
Modified: mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c
===================================================================
--- mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c 2009-03-23 00:23:20 UTC (rev 4163)
+++ mpich2/trunk/src/pm/hydra/launcher/mpiexec/utils.c 2009-03-23 00:30:24 UTC (rev 4164)
@@ -204,13 +204,16 @@
}
HYDU_ERR_CHKANDJUMP(status, handle.binding != HYD_BIND_UNSET,
HYD_INTERNAL_ERROR, "duplicate binding\n");
- if (!strcmp(str2, "rr"))
+ if (!strcmp(str2, "none"))
+ handle.binding = HYD_BIND_NONE;
+ else if (!strcmp(str2, "rr"))
handle.binding = HYD_BIND_RR;
else if (!strcmp(str2, "buddy"))
handle.binding = HYD_BIND_BUDDY;
else if (!strcmp(str2, "pack"))
handle.binding = HYD_BIND_PACK;
- /* We don't support user-specified mappings yet */
+ else if (!strcmp(str2, "user"))
+ handle.binding = HYD_BIND_USER;
continue;
}
@@ -279,6 +282,9 @@
status = HYDU_get_base_path(progname, handle.wdir, &handle.base_path);
HYDU_ERR_POP(status, "unable to get base path\n");
+ if (handle.binding == HYD_BIND_UNSET)
+ handle.binding = HYD_BIND_NONE;
+
if (handle.prop == HYD_ENV_PROP_UNSET)
handle.prop = HYD_ENV_PROP_ALL;
Modified: mpich2/trunk/src/pm/hydra/utils/bind/bind.c
===================================================================
--- mpich2/trunk/src/pm/hydra/utils/bind/bind.c 2009-03-23 00:23:20 UTC (rev 4163)
+++ mpich2/trunk/src/pm/hydra/utils/bind/bind.c 2009-03-23 00:30:24 UTC (rev 4164)
@@ -183,8 +183,13 @@
else
return bind_info.bind_map[0][0];
}
- else
+ else if (binding == HYD_BIND_NONE) {
return -1;
+ }
+ else if (binding == HYD_BIND_USER) {
+ HYDU_Error_printf("User-specified binding is not supported yet\n");
+ return -1;
+ }
}
else {
HYDU_Error_printf("Process-core binding is not supported on this platform\n");
More information about the mpich2-commits
mailing list