Over the last few days, we at LANL have been working with our LLNL
counterparts on some OMPI/SLURM integration issues. In the course of
this work, we have learned that the meaning/use of the
SLURM_TASKS_PER_NODE environmental variable used by OMPI (and LAM-MPI
as well as others) to extract required allocation information was
changed beginning with SLURM 1.2, and the info we are seeking was
shifted to SLURM_JOB_CPUS_PER_NODE. Since SLURM is now on release
1.3.7 and above, this clearly occurred some time ago.
What I propose to do (per LLNL's recommendation) is modify the SLURM
ras module to check for SLURM_JOB_CPUS_PER_NODE first and use that
value if found - if not found, then fall back to using
SLURM_TASKS_PER_NODE. This will make us fully compatible with more
recent SLURM releases while retaining backward compatibility with pre-
SLURM 1.2 versions (assuming anyone out there is running something
Given that 1.2.8 and 1.3.0 have not yet been released, we (LANL) would
like to get this change into those releases. It is a minor code change
(I will insert it into trunk so people can see) and easily tested on
any SLURM machine.
Are there any objections/comments?