It seems this is indeed a Moab bug for interactive jobs. At least a bug
was opened against moab. Using non-interactive jobs the variables have
the correct values and mpirun has no problems detecting the correct
number of cores.

On Wed, Feb 12, 2014 at 07:50:40AM -0800, Ralph Castain wrote:
> Another possibility to check - it is entirely possible that Moab is 
> miscommunicating the values to Slurm. You might need to check it - I'll 
> install a copy of 2.6.5 on my machines and see if I get similar issues when 
> Slurm does the allocation itself.
> 
> On Feb 12, 2014, at 7:47 AM, Ralph Castain <r...@open-mpi.org> wrote:
> 
> > 
> > On Feb 12, 2014, at 7:32 AM, Adrian Reber <adr...@lisas.de> wrote:
> > 
> >> 
> >> $ msub -I -l nodes=3:ppn=8
> >> salloc: Job is in held state, pending scheduler release
> >> salloc: Pending job allocation 131828
> >> salloc: job 131828 queued and waiting for resources
> >> salloc: job 131828 has been allocated resources
> >> salloc: Granted job allocation 131828
> >> sh-4.1$ echo $SLURM_TASKS_PER_NODE 
> >> 1
> >> sh-4.1$ rpm -q slurm
> >> slurm-2.6.5-1.el6.x86_64
> >> sh-4.1$ echo $SLURM_NNODES 
> >> 1
> >> sh-4.1$ echo $SLURM_JOB_NODELIST 
> >> xxxx[107-108,176]
> >> sh-4.1$ echo $SLURM_JOB_CPUS_PER_NODE 
> >> 8(x3)
> >> sh-4.1$ echo $SLURM_NODELIST 
> >> xxxx[107-108,176]
> >> sh-4.1$ echo $SLURM_NPROCS  
> >> 1
> >> sh-4.1$ echo $SLURM_NTASKS 
> >> 1
> >> sh-4.1$ echo $SLURM_TASKS_PER_NODE 
> >> 1
> >> 
> >> The information in *_NODELIST seems to make sense, but all the other
> >> variables (PROCS, TASKS, NODES) report '1', which seems wrong.
> > 
> > Indeed - and that's the problem. Slurm 2.6.5 is the most recent release, 
> > and my guess is that SchedMD once again has changed the @$!#%#@ meaning of 
> > their envars. Frankly, it is nearly impossible to track all the variants 
> > they have created over the years.
> > 
> > Please check to see if someone did a little customizing on your end as 
> > sometimes people do that to Slurm. Could also be they did something in the 
> > Slurm config file that is causing the changed behavior.
> > 
> > Meantime, I'll try to ponder a potential solution in case this really is 
> > the "latest" Slurm screwup.
> > 
> > 
> >> 
> >> 
> >> On Wed, Feb 12, 2014 at 07:19:54AM -0800, Ralph Castain wrote:
> >>> ...and your version of Slurm?
> >>> 
> >>> On Feb 12, 2014, at 7:19 AM, Ralph Castain <r...@open-mpi.org> wrote:
> >>> 
> >>>> What is your SLURM_TASKS_PER_NODE?
> >>>> 
> >>>> On Feb 12, 2014, at 6:58 AM, Adrian Reber <adr...@lisas.de> wrote:
> >>>> 
> >>>>> No, the system has only a few MOAB_* variables and many SLURM_*
> >>>>> variables:
> >>>>> 
> >>>>> $BASH                         $IFS                          $SECONDS    
> >>>>>                   $SLURM_PTY_PORT
> >>>>> $BASHOPTS                     $LINENO                       $SHELL      
> >>>>>                   $SLURM_PTY_WIN_COL
> >>>>> $BASHPID                      $LINES                        $SHELLOPTS  
> >>>>>                   $SLURM_PTY_WIN_ROW
> >>>>> $BASH_ALIASES                 $MACHTYPE                     $SHLVL      
> >>>>>                   $SLURM_SRUN_COMM_HOST
> >>>>> $BASH_ARGC                    $MAILCHECK                    
> >>>>> $SLURMD_NODENAME              $SLURM_SRUN_COMM_PORT
> >>>>> $BASH_ARGV                    $MOAB_CLASS                   
> >>>>> $SLURM_CHECKPOINT_IMAGE_DIR   $SLURM_STEPID
> >>>>> $BASH_CMDS                    $MOAB_GROUP                   $SLURM_CONF 
> >>>>>                   $SLURM_STEP_ID
> >>>>> $BASH_COMMAND                 $MOAB_JOBID                   
> >>>>> $SLURM_CPUS_ON_NODE           $SLURM_STEP_LAUNCHER_PORT
> >>>>> $BASH_LINENO                  $MOAB_NODECOUNT               
> >>>>> $SLURM_DISTRIBUTION           $SLURM_STEP_NODELIST
> >>>>> $BASH_SOURCE                  $MOAB_PARTITION               
> >>>>> $SLURM_GTIDS                  $SLURM_STEP_NUM_NODES
> >>>>> $BASH_SUBSHELL                $MOAB_PROCCOUNT               
> >>>>> $SLURM_JOBID                  $SLURM_STEP_NUM_TASKS
> >>>>> $BASH_VERSINFO                $MOAB_SUBMITDIR               
> >>>>> $SLURM_JOB_CPUS_PER_NODE      $SLURM_STEP_TASKS_PER_NODE
> >>>>> $BASH_VERSION                 $MOAB_USER                    
> >>>>> $SLURM_JOB_ID                 $SLURM_SUBMIT_DIR
> >>>>> $COLUMNS                      $OPTERR                       
> >>>>> $SLURM_JOB_NODELIST           $SLURM_SUBMIT_HOST
> >>>>> $COMP_WORDBREAKS              $OPTIND                       
> >>>>> $SLURM_JOB_NUM_NODES          $SLURM_TASKS_PER_NODE
> >>>>> $DIRSTACK                     $OSTYPE                       
> >>>>> $SLURM_LAUNCH_NODE_IPADDR     $SLURM_TASK_PID
> >>>>> $EUID                         $PATH                         
> >>>>> $SLURM_LOCALID                $SLURM_TOPOLOGY_ADDR
> >>>>> $GROUPS                       $POSIXLY_CORRECT              
> >>>>> $SLURM_NNODES                 $SLURM_TOPOLOGY_ADDR_PATTERN
> >>>>> $HISTCMD                      $PPID                         
> >>>>> $SLURM_NODEID                 $SRUN_DEBUG
> >>>>> $HISTFILE                     $PS1                          
> >>>>> $SLURM_NODELIST               $TERM
> >>>>> $HISTFILESIZE                 $PS2                          
> >>>>> $SLURM_NPROCS                 $TMPDIR
> >>>>> $HISTSIZE                     $PS4                          
> >>>>> $SLURM_NTASKS                 $UID
> >>>>> $HOSTNAME                     $PWD                          
> >>>>> $SLURM_PRIO_PROCESS           $_
> >>>>> $HOSTTYPE                     $RANDOM                       
> >>>>> $SLURM_PROCID                 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> On Wed, Feb 12, 2014 at 06:12:45AM -0800, Ralph Castain wrote:
> >>>>>> Seems rather odd - since this is managed by Moab, you shouldn't be 
> >>>>>> seeing SLURM envars at all. What you should see are PBS_* envars, 
> >>>>>> including a PBS_NODEFILE that actually contains the allocation.
> >>>>>> 
> >>>>>> 
> >>>>>> On Feb 12, 2014, at 4:42 AM, Adrian Reber <adr...@lisas.de> wrote:
> >>>>>> 
> >>>>>>> I tried the nightly snapshot (openmpi-1.7.5a1r30692.tar.gz) on a 
> >>>>>>> system
> >>>>>>> with slurm and moab. I requested an interactive session using:
> >>>>>>> 
> >>>>>>> msub -I -l nodes=3:ppn=8
> >>>>>>> 
> >>>>>>> and started a simple test case which fails:
> >>>>>>> 
> >>>>>>> $ mpirun -np 2 ./mpi-test 1
> >>>>>>> --------------------------------------------------------------------------
> >>>>>>> There are not enough slots available in the system to satisfy the 2 
> >>>>>>> slots 
> >>>>>>> that were requested by the application:
> >>>>>>> ./mpi-test
> >>>>>>> 
> >>>>>>> Either request fewer slots for your application, or make more slots 
> >>>>>>> available
> >>>>>>> for use.
> >>>>>>> --------------------------------------------------------------------------
> >>>>>>> srun: error: xxxx108: task 1: Exited with exit code 1
> >>>>>>> srun: Terminating job step 131823.4
> >>>>>>> srun: error: xxxx107: task 0: Exited with exit code 1
> >>>>>>> srun: Job step aborted
> >>>>>>> slurmd[xxxx108]: *** STEP 131823.4 KILLED AT 2014-02-12T13:30:32 WITH 
> >>>>>>> SIGNAL 9 ***
> >>>>>>> 
> >>>>>>> 
> >>>>>>> requesting only one core works:
> >>>>>>> 
> >>>>>>> $ mpirun  ./mpi-test 1
> >>>>>>> 4.4.7 20120313 (Red Hat 4.4.7-4):Process 0 on xxxx106 out of 1: 
> >>>>>>> 0.000000
> >>>>>>> 4.4.7 20120313 (Red Hat 4.4.7-4):Process 0 on xxxx106 out of 1: 
> >>>>>>> 0.000000
> >>>>>>> 
> >>>>>>> 
> >>>>>>> using openmpi-1.6.5 works with multiple cores:
> >>>>>>> 
> >>>>>>> $ mpirun -np 24 ./mpi-test 2
> >>>>>>> 4.4.7 20120313 (Red Hat 4.4.7-4):Process 0 on xxxx106 out of 24: 
> >>>>>>> 0.000000
> >>>>>>> 4.4.7 20120313 (Red Hat 4.4.7-4):Process 12 on xxxx106 out of 24: 
> >>>>>>> 12.000000
> >>>>>>> 4.4.7 20120313 (Red Hat 4.4.7-4):Process 11 on xxxx108 out of 24: 
> >>>>>>> 11.000000
> >>>>>>> 4.4.7 20120313 (Red Hat 4.4.7-4):Process 18 on xxxx106 out of 24: 
> >>>>>>> 18.000000
> >>>>>>> 
> >>>>>>> $ echo $SLURM_JOB_CPUS_PER_NODE 
> >>>>>>> 8(x3)
> >>>>>>> 
> >>>>>>> I never used slurm before so this could also be a user error on my 
> >>>>>>> side.
> >>>>>>> But as 1.6.5 works it seems something has changed and wanted to let
> >>>>>>> you know in case it was not intentionally.
> >>>>>>> 
> >>>>>>>               Adrian
> >>>>>>> _______________________________________________
> >>>>>>> devel mailing list
> >>>>>>> de...@open-mpi.org
> >>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >>>>>> 
> >>>>>> _______________________________________________
> >>>>>> devel mailing list
> >>>>>> de...@open-mpi.org
> >>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >>>>> 
> >>>>>                 Adrian
> >>>>> 
> >>>>> -- 
> >>>>> Adrian Reber <adr...@lisas.de>            http://lisas.de/~adrian/
> >>>>> "Let us all bask in television's warm glowing warming glow." -- Homer 
> >>>>> Simpson
> >>>>> _______________________________________________
> >>>>> devel mailing list
> >>>>> de...@open-mpi.org
> >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >>>> 
> >>> 
> >>> _______________________________________________
> >>> devel mailing list
> >>> de...@open-mpi.org
> >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> >> 
> >>            Adrian
> >> 
> >> -- 
> >> Adrian Reber <adr...@lisas.de>            http://lisas.de/~adrian/
> >> There's got to be more to life than compile-and-go.
> >> _______________________________________________
> >> devel mailing list
> >> de...@open-mpi.org
> >> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 

> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


                Adrian

-- 
Adrian Reber <adr...@lisas.de>            http://lisas.de/~adrian/
Killing is wrong.
                -- Losira, "That Which Survives", stardate unknown

Reply via email to