diff --git a/src/common/mpi.c b/src/common/mpi.c index 178bc735ceb21aecf12c53e894aeb901545908fc..c2482a599da8efe5b87ec8a8f8b381cca8797fb2 100644 --- a/src/common/mpi.c +++ b/src/common/mpi.c @@ -176,14 +176,22 @@ int _mpi_init (char *mpi_type) { int retval = SLURM_SUCCESS; char *full_type = NULL; + int got_default = 0; + slurm_mutex_lock( &context_lock ); if ( g_context ) goto done; - if (mpi_type == NULL) + if (mpi_type == NULL) { + mpi_type = slurm_get_mpi_default(); + got_default = 1; + } + if (mpi_type == NULL) { + error("No MPI default set in slurm.conf using %s.", + MPI_DEFAULT); mpi_type = MPI_DEFAULT; - + } setenvf (NULL, "SLURM_MPI_TYPE", "%s", mpi_type); full_type = xmalloc(sizeof(char) * (strlen(mpi_type)+5)); @@ -206,6 +214,8 @@ int _mpi_init (char *mpi_type) done: + if(got_default) + xfree(mpi_type); slurm_mutex_unlock( &context_lock ); return retval; } diff --git a/src/srun/allocate.c b/src/srun/allocate.c index 91fbf5cb74ba3159f9c113712dc7e589f1d83b68..7fc9b283fc011c33a0f494ccfdf8f7124b23b7ab 100644 --- a/src/srun/allocate.c +++ b/src/srun/allocate.c @@ -393,8 +393,6 @@ job_desc_msg_create_from_opts (char *script) if (opt.conn_type > -1) j->conn_type = opt.conn_type; - if (opt.node_use > -1) - j->node_use = opt.node_use; if (opt.no_rotate) j->rotate = 0; diff --git a/src/srun/opt.c b/src/srun/opt.c index 9c2191823cdfcb59e8ec191edb3f16ea92d0faf6..704f9bcee4a71c3bb636463e9003ea2114889702 100644 --- a/src/srun/opt.c +++ b/src/srun/opt.c @@ -77,7 +77,6 @@ #define OPT_OVERCOMMIT 0x06 #define OPT_CORE 0x07 #define OPT_CONN_TYPE 0x08 -#define OPT_NODE_USE 0x09 #define OPT_NO_ROTATE 0x0a #define OPT_GEOMETRY 0x0b #define OPT_MPI 0x0c @@ -100,7 +99,6 @@ #define LONG_OPT_NOSHELL 0x10f #define LONG_OPT_DEBUG_TS 0x110 #define LONG_OPT_CONNTYPE 0x111 -#define LONG_OPT_NODE_USE 0x112 #define LONG_OPT_TEST_ONLY 0x113 #define LONG_OPT_NETWORK 0x114 #define LONG_OPT_EXCLUSIVE 0x115 @@ -153,7 +151,6 @@ static enum distribution_t _verify_dist_type(const char *arg); static bool _verify_node_count(const char *arg, int *min, int *max); static int _verify_geometry(const char *arg, int *geometry); static int _verify_conn_type(const char *arg); -static int _verify_node_use(const char *arg); /*---[ end forward declarations of static functions ]---------------------*/ @@ -256,25 +253,6 @@ static int _verify_conn_type(const char *arg) return -1; } -/* - * verify that a node usage type in arg is of known form - * returns the node_use_type or -1 if not recognized - */ -static int _verify_node_use(const char *arg) -{ - int len = strlen(arg); - - if (!strncasecmp(arg, "VIRTUAL", len)) - return SELECT_VIRTUAL_NODE_MODE; - else if (!strncasecmp(arg, "COPROCESSOR", len)) - return SELECT_COPROCESSOR_MODE; - else if (!strncasecmp(arg, "NAV", len)) - return SELECT_NAV_MODE; - - error("invalid --node-use argument %s ignored.", arg); - return -1; -} - /* * verify geometry arguments, must have proper count * returns -1 on error, 0 otherwise @@ -525,7 +503,6 @@ static void _opt_default() opt.geometry[i] = -1; opt.no_rotate = false; opt.conn_type = -1; - opt.node_use = -1; opt.euid = (uid_t) -1; opt.egid = (gid_t) -1; @@ -578,7 +555,6 @@ env_vars_t env_vars[] = { {"SLURM_LABELIO", OPT_INT, &opt.labelio, NULL }, {"SLURM_NNODES", OPT_NODES, NULL, NULL }, {"SLURM_NO_ROTATE", OPT_NO_ROTATE, NULL, NULL }, - {"SLURM_NODE_USE", OPT_NODE_USE, NULL, NULL }, {"SLURM_NPROCS", OPT_INT, &opt.nprocs, &opt.nprocs_set}, {"SLURM_OVERCOMMIT", OPT_OVERCOMMIT, NULL, NULL }, {"SLURM_PARTITION", OPT_STRING, &opt.partition, NULL }, @@ -675,10 +651,6 @@ _process_env_var(env_vars_t *e, const char *val) opt.conn_type = _verify_conn_type(val); break; - case OPT_NODE_USE: - opt.node_use = _verify_node_use(val); - break; - case OPT_NO_ROTATE: opt.no_rotate = true; break; @@ -795,7 +767,6 @@ static void _opt_args(int argc, char **argv) {"help", no_argument, 0, LONG_OPT_HELP}, {"usage", no_argument, 0, LONG_OPT_USAGE}, {"conn-type", required_argument, 0, LONG_OPT_CONNTYPE}, - {"node-use", required_argument, 0, LONG_OPT_NODE_USE}, {"test-only", no_argument, 0, LONG_OPT_TEST_ONLY}, {"network", required_argument, 0, LONG_OPT_NETWORK}, {"propagate", optional_argument, 0, LONG_OPT_PROPAGATE}, @@ -1081,9 +1052,6 @@ static void _opt_args(int argc, char **argv) case LONG_OPT_CONNTYPE: opt.conn_type = _verify_conn_type(optarg); break; - case LONG_OPT_NODE_USE: - opt.node_use = _verify_node_use(optarg); - break; case LONG_OPT_TEST_ONLY: opt.test_only = true; break; @@ -1492,8 +1460,6 @@ static void _opt_list() str = print_geometry(); info("geometry : %s", str); xfree(str); - if (opt.node_use >= 0) - info("node_use : %u", opt.node_use); if (opt.no_rotate) info("rotate : no"); else diff --git a/src/srun/opt.h b/src/srun/opt.h index cbbf9dc43d32cccfbf5306ae477696a6d9e8f83a..660136ad13ded0cc9929837a064b2e5fa73617be 100644 --- a/src/srun/opt.h +++ b/src/srun/opt.h @@ -157,7 +157,6 @@ typedef struct srun_options { int geometry[SYSTEM_DIMENSIONS]; /* --geometry, -g */ bool no_rotate; /* --no_rotate, -R */ int conn_type; /* --conn-type */ - int node_use; /* --node-use */ } opt_t; opt_t opt;