diff --git a/opal/mca/paffinity/base/paffinity_base_open.c b/opal/mca/paffinity/base/paffinity_base_open.c index e6bc5f4d0a..402d5ae75f 100644 --- a/opal/mca/paffinity/base/paffinity_base_open.c +++ b/opal/mca/paffinity/base/paffinity_base_open.c @@ -22,6 +22,8 @@ #include "opal/constants.h" #include "opal/util/output.h" +#include "opal/util/show_help.h" + #include "opal/mca/mca.h" #include "opal/mca/base/base.h" #include "opal/mca/base/mca_base_param.h" @@ -73,10 +75,13 @@ int opal_paffinity_base_register_params(void) opal_paffinity_base_output = -1; } + /*** DEPRECATED - NO LONGER FUNCTIONAL, BUT MPIRUN + * WILL OUTPUT WARNING FOR NOW + ***/ id = mca_base_param_reg_int_name("opal", "paffinity_alone", "If nonzero, assume that this job is the only (set of) process(es) running on each node and bind processes to processors, starting with processor ID 0", false, false, - 0, NULL); + -1, NULL); /* register the historical mpi_paffinity_alone synonym, but don't * declare it deprecated so we don't scare the users. * @@ -85,7 +90,12 @@ int opal_paffinity_base_register_params(void) */ mca_base_param_reg_syn_name(id, "mpi", "paffinity_alone", false); mca_base_param_lookup_int(id, &value); - opal_paffinity_alone = OPAL_INT_TO_BOOL(value); + /* we just want to know if someone set it */ + if (-1 != value) { + opal_paffinity_alone = true; + } else { + opal_paffinity_alone = false; + } mca_base_param_reg_int_name("paffinity", "base_bound", "Process affinity was set by an external entity", diff --git a/opal/runtime/help-opal-runtime.txt b/opal/runtime/help-opal-runtime.txt index d7cc9903a2..eaff30a109 100644 --- a/opal/runtime/help-opal-runtime.txt +++ b/opal/runtime/help-opal-runtime.txt @@ -28,3 +28,11 @@ Open MPI developer): %s failed --> Returned value %d instead of OPAL_SUCCESS +# +[opal_paffinity_alone:deprecated] +The [opal | mpi]_paffinity_alone MCA params are now deprecated +and do not do anything. Meaning: your job may be running without +processor affinity support (!). + +You should probably be using the --bind-to option to +mpirun instead. diff --git a/orte/tools/orterun/orterun.c b/orte/tools/orterun/orterun.c index 1cac5995c9..efa3a02ce4 100644 --- a/orte/tools/orterun/orterun.c +++ b/orte/tools/orterun/orterun.c @@ -49,6 +49,7 @@ #include "opal/mca/event/event.h" #include "opal/mca/installdirs/installdirs.h" +#include "opal/mca/paffinity/base/base.h" #include "opal/mca/base/base.h" #include "opal/util/argv.h" #include "opal/util/output.h" @@ -543,6 +544,13 @@ int orterun(int argc, char *argv[]) /* Setup MCA params */ orte_register_params(); + /*** NOTIFY IF DEPRECATED OPAL_PAFFINITY_ALONE WAS SET ***/ + if (opal_paffinity_alone) { + orte_show_help("help-opal-runtime.txt", + "opal_paffinity_alone:deprecated", + true); + } + /* force the debugger symbols to be included in orterun. * this is required since the symbols are instantiated in * the orte library, yet they need to be accessed