diff --git a/NEWS b/NEWS index 3a2f7224d8c2bff80e8ba9d2d7db4c53423a8250..7727b0e8f971bc10b3cc923101ac38c0f9b736f1 100644 --- a/NEWS +++ b/NEWS @@ -37,11 +37,16 @@ documents those changes that are of interest to users and admins. -- Some infrastructure added for task launch controls (slurm.conf: TaskProlog, TaskEpilog, TaskPlugin; srun --task-prolog, --task-epilog). +* Changes in SLURM 0.6.9 +======================== + -- Fix bug in mpi plugin to set the ID correctly + + * Changes in SLURM 0.6.8 ======================== -- Invalid AllowGroup value in slurm.conf to not cause seg fault. -- Fix bug that would cause slurmctld to seg-fault with select/cons_res - and batch job comtaining more than one step. + and batch job containing more than one step. * Changes in SLURM 0.6.7 ======================== diff --git a/src/common/env.c b/src/common/env.c index 409448daa35618475f4dfa53d4500e9c1399582b..8e9e917bae4ad9e475f1e465a21fea6848498460 100644 --- a/src/common/env.c +++ b/src/common/env.c @@ -329,12 +329,6 @@ int setup_env(env_t *env) rc = SLURM_FAILURE; } - if (env->gmpi >= 0 - && setenvf(&env->env, "GMPI_ID", "%d", env->gmpi)) { - error("Unable to set GMPI_ID environment"); - rc = SLURM_FAILURE; - } - if (env->nhosts && setenvf(&env->env, "SLURM_NNODES", "%d", env->nhosts)) { error("Unable to set SLURM_NNODES environment var"); @@ -365,18 +359,7 @@ int setup_env(env_t *env) if ((dist = strchr (addrbuf, ':')) != NULL) *dist = '\0'; - setenvf (&env->env, "SLURM_LAUNCH_NODE_IPADDR", "%s", addrbuf); - - if (getenvp(env->env, "SLURM_GMPI")) { - setenvf (&env->env, "GMPI_MASTER", "%s", addrbuf); - slurm_print_slurm_addr (env->self, - addrbuf, INET_ADDRSTRLEN); - if ((dist = strchr (addrbuf, ':')) != NULL) - *dist = '\0'; - setenvf (&env->env, "GMPI_SLAVE", "%s", addrbuf); - } - } #ifdef HAVE_AIX diff --git a/src/common/env.h b/src/common/env.h index 1fa99a1763b400f255b36f7ae58a45f2beb08ad2..6399f54b23c006b4694dd3b4b16ef112ad9d943d 100644 --- a/src/common/env.h +++ b/src/common/env.h @@ -60,7 +60,6 @@ typedef struct env_options { int procid; /* global task id (across nodes) */ int localid; /* local task id (within node) */ int nodeid; - int gmpi; int cpus_per_task; /* --cpus-per-task=n, -c n */ int cpus_on_node; pid_t task_pid; diff --git a/src/plugins/mpi/mpichgm/mpi_mpichgm.c b/src/plugins/mpi/mpichgm/mpi_mpichgm.c index bf0b15ae95a8ca07f5b2ccd5e1f01eac8c9e5a3e..9a20e1db3125d90d96c046ff99ffef438b3a6262 100644 --- a/src/plugins/mpi/mpichgm/mpi_mpichgm.c +++ b/src/plugins/mpi/mpichgm/mpi_mpichgm.c @@ -79,9 +79,11 @@ int mpi_p_init(slurmd_job_t *job, int rank) if ((p = strchr (addrbuf, ':')) != NULL) *p = '\0'; - + setenvf (&job->env, "GMPI_MASTER", "%s", addr); setenvf (&job->env, "GMPI_SLAVE", "%s", addrbuf); + setenvf (&job->env, "GMPI_ID", "%d", rank); + debug2("init for mpi rank %d\n", rank); return SLURM_SUCCESS; } diff --git a/src/slurmd/slurmd_job.c b/src/slurmd/slurmd_job.c index 07a52d03d10b997567e61f786516f147cbd07166..d107109237a0f6e88e508f78ecc982b36465a11d 100644 --- a/src/slurmd/slurmd_job.c +++ b/src/slurmd/slurmd_job.c @@ -190,7 +190,6 @@ job_create(launch_tasks_request_msg_t *msg, slurm_addr *cli_addr) job->envtp = xmalloc(sizeof(env_t)); job->envtp->jobid = -1; job->envtp->stepid = -1; - job->envtp->gmpi = -1; job->envtp->procid = -1; job->envtp->localid = -1; job->envtp->nodeid = -1; @@ -263,7 +262,6 @@ job_spawn_create(spawn_task_request_msg_t *msg, slurm_addr *cli_addr) job->envtp = xmalloc(sizeof(env_t)); job->envtp->jobid = -1; job->envtp->stepid = -1; - job->envtp->gmpi = -1; job->envtp->procid = -1; job->envtp->localid = -1; job->envtp->nodeid = -1; @@ -349,7 +347,6 @@ job_batch_job_create(batch_job_launch_msg_t *msg) job->envtp = xmalloc(sizeof(env_t)); job->envtp->jobid = -1; job->envtp->stepid = -1; - job->envtp->gmpi = -1; job->envtp->procid = -1; job->envtp->localid = -1; job->envtp->nodeid = -1; diff --git a/src/slurmd/task.c b/src/slurmd/task.c index 59da441fa5beb6b4ecc195d67d0d293db7557e1d..f5c5b64d55cb8a5388e25b4f2d4fc402a3cb070d 100644 --- a/src/slurmd/task.c +++ b/src/slurmd/task.c @@ -285,9 +285,7 @@ exec_task(slurmd_job_t *job, int i, int waitfd) job->envtp->procid = t->gtid; job->envtp->localid = t->id; job->envtp->task_pid = getpid(); - job->envtp->gmpi = getenvp(job->env, "SLURM_GMPI") ? t->gtid : -1; - - + setup_env(job->envtp); job->env = job->envtp->env; job->envtp->env = NULL; diff --git a/src/srun/srun.c b/src/srun/srun.c index cf70753bbe27202e73ab71224cf3ca441372cd57..2586c94205ef39e69a34a4193ad56c6974ee7816 100644 --- a/src/srun/srun.c +++ b/src/srun/srun.c @@ -125,7 +125,6 @@ int srun(int ac, char **av) log_options_t logopt = LOG_OPTS_STDERR_ONLY; env->stepid = -1; - env->gmpi = -1; env->procid = -1; env->localid = -1; env->nodeid = -1;