[slurm-users] Building Slurm RPMs with NVIDIA GPU support?
Paul Edmon
pedmon at cfa.harvard.edu
Tue Jan 26 21:04:09 UTC 2021
That is correct. I think NVML has some additional features but in terms
of actually scheduling them what you have should work. They will just be
treated as normal gres resources.
-Paul Edmon-
On 1/26/2021 3:55 PM, Ole Holm Nielsen wrote:
> On 26-01-2021 21:36, Paul Edmon wrote:
>> You can include gpu's as gres in slurm with out compiling
>> specifically against nvml. You only really need to do that if you
>> want to use the autodetection features that have been built into the
>> slurm. We don't really use any of those features at our site, we
>> only started building against nvml to future proof ourselves for
>> when/if those features become relevant to us.
>
> Thanks for this clarification about not actually *requiring* the
> NVIDIA NVML library in the Slurm build!
>
> Now I'm seeing this description in https://slurm.schedmd.com/gres.html
> about automatic GPU configuration by Slurm:
>
>> If AutoDetect=nvml is set in gres.conf, and the NVIDIA Management
>> Library (NVML) is installed on the node and was found during Slurm
>> configuration, configuration details will automatically be filled in
>> for any system-detected NVIDIA GPU. This removes the need to
>> explicitly configure GPUs in gres.conf, though the Gres= line in
>> slurm.conf is still required in order to tell slurmctld how many GRES
>> to expect.
>
> I have defined our GPUs manually in gres.conf with File=/dev/nvidia?
> lines, so it would seem that this obviates the need for NVML. Is this
> the correct conclusion?
>
> /Ole
>
>
>> To me at least it would be nicer if there was a less hacky way of
>> getting it to do that. Arguably Slurm should dynamically link
>> against the libs it needs or not depending on the node. We hit this
>> issue with Lustre/IB as well where you have to roll a separate slurm
>> for each type of node you have if you want these which is hardly ideal.
>>
>> -Paul Edmon-
>>
>> On 1/26/2021 3:24 PM, Robert Kudyba wrote:
>>> You all might be interested in a patch to the SPEC file, to not make
>>> the slurm RPMs depend on libnvidia-ml.so, even if it's been enabled
>>> at configure time. See
>>> https://bugs.schedmd.com/show_bug.cgi?id=7919#c3
>>> <https://bugs.schedmd.com/show_bug.cgi?id=7919#c3>
>>>
>>> On Tue, Jan 26, 2021 at 3:17 PM Paul Raines
>>> <raines at nmr.mgh.harvard.edu <mailto:raines at nmr.mgh.harvard.edu>> wrote:
>>>
>>>
>>> You should check your jobs that allocated GPUs and make sure
>>> CUDA_VISIBLE_DEVICES is being set in the environment. This is a
>>> sign
>>> you GPU support is not really there but SLURM is just doing
>>> "generic"
>>> resource assignment.
>>>
>>> I have both GPU and non-GPU nodes. I build SLURM rpms twice. Once
>>> on a
>>> non-GPU node and use those RPMs to install on the non-GPU nodes.
>>> Then build
>>> again on the GPU node where CUDA is installed via the NVIDIA CUDA
>>> YUM repo
>>> rpms so the NVML lib is at /lib64/libnvidia-ml.so.1 (from rpm
>>> nvidia-driver-NVML-455.45.01-1.el8.x86_64) and no special mods to
>>> the default
>>> RPM SPEC is needed. I just run
>>>
>>> rpmbuild --tb slurm-20.11.3.tar.bz2
>>>
>>> You can run 'rpm -qlp slurm-20.11.3-1.el8.x86_64.rpm | grep nvml'
>>> and see
>>> that /usr/lib64/slurm/gpu_nvml.so only exists on the one built
>>> on the
>>> GPU node.
>>>
>>> -- Paul Raines
>>> (https://urldefense.proofpoint.com/v2/url?u=http-3A__help.nmr.mgh.harvard.edu&d=DwIBAg&c=aqMfXOEvEJQh2iQMCb7Wy8l0sPnURkcqADc2guUW8IM&r=X0jL9y0sL4r4iU_qVtR3lLNo4tOL1ry_m7-psV3GejY&m=GNGEhyc3F2bEZxbHK93tumXk56f37DOl99aYsOeUVOE&s=ZuCDM15RrOpv2t-j8DywWrwpn86qa79eBuSPEs96SFo&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__help.nmr.mgh.harvard.edu&d=DwIBAg&c=aqMfXOEvEJQh2iQMCb7Wy8l0sPnURkcqADc2guUW8IM&r=X0jL9y0sL4r4iU_qVtR3lLNo4tOL1ry_m7-psV3GejY&m=GNGEhyc3F2bEZxbHK93tumXk56f37DOl99aYsOeUVOE&s=ZuCDM15RrOpv2t-j8DywWrwpn86qa79eBuSPEs96SFo&e=>
>>> )
>>>
>>>
>>>
>>> On Tue, 26 Jan 2021 2:29pm, Ole Holm Nielsen wrote:
>>>
>>> > In another thread, On 26-01-2021 17:44, Prentice Bisbal wrote:
>>> >> Personally, I think it's good that Slurm RPMs are now
>>> available through
>>> >> EPEL, although I won't be able to use them, and I'm sure many
>>> people on
>>> >> the list won't be able to either, since licensing issues
>>> prevent them from
>>> >> providing support for NVIDIA drivers, so those of us with GPUs
>>> on our
>>> >> clusters will still have to compile Slurm from source to
>>> include NVIDIA
>>> >> GPU support.
>>> >
>>> > We're running Slurm 20.02.6 and recently added some NVIDIA GPU
>>> nodes.
>>> > The Slurm GPU documentation seems to be
>>> >
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__slurm.schedmd.com_gres.html&d=DwIBAg&c=aqMfXOEvEJQh2iQMCb7Wy8l0sPnURkcqADc2guUW8IM&r=X0jL9y0sL4r4iU_qVtR3lLNo4tOL1ry_m7-psV3GejY&m=GNGEhyc3F2bEZxbHK93tumXk56f37DOl99aYsOeUVOE&s=GxF9VoynMmgS3BBrWWsmPM1Itt0hshTIkGh3x4Xy3hA&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__slurm.schedmd.com_gres.html&d=DwIBAg&c=aqMfXOEvEJQh2iQMCb7Wy8l0sPnURkcqADc2guUW8IM&r=X0jL9y0sL4r4iU_qVtR3lLNo4tOL1ry_m7-psV3GejY&m=GNGEhyc3F2bEZxbHK93tumXk56f37DOl99aYsOeUVOE&s=GxF9VoynMmgS3BBrWWsmPM1Itt0hshTIkGh3x4Xy3hA&e=>
>>>
>>> > We don't seem to have any problems scheduling jobs on GPUs, even
>>> though our
>>> > Slurm RPM build host doesn't have any NVIDIA software installed,
>>> as shown by
>>> > the command:
>>> > $ ldconfig -p | grep libnvidia-ml
>>> >
>>> > I'm curious about Prentice's statement about needing NVIDIA
>>> libraries to be
>>> > installed when building Slurm RPMs, and I read the discussion in
>>> bug 9525,
>>> >
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.schedmd.com_show-5Fbug.cgi-3Fid-3D9525&d=DwIBAg&c=aqMfXOEvEJQh2iQMCb7Wy8l0sPnURkcqADc2guUW8IM&r=X0jL9y0sL4r4iU_qVtR3lLNo4tOL1ry_m7-psV3GejY&m=GNGEhyc3F2bEZxbHK93tumXk56f37DOl99aYsOeUVOE&s=6GDTIFa-spnv8ZMtKsdwJaLreyZMX4T5EW3MnAX54iI&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.schedmd.com_show-5Fbug.cgi-3Fid-3D9525&d=DwIBAg&c=aqMfXOEvEJQh2iQMCb7Wy8l0sPnURkcqADc2guUW8IM&r=X0jL9y0sL4r4iU_qVtR3lLNo4tOL1ry_m7-psV3GejY&m=GNGEhyc3F2bEZxbHK93tumXk56f37DOl99aYsOeUVOE&s=6GDTIFa-spnv8ZMtKsdwJaLreyZMX4T5EW3MnAX54iI&e=>
>>>
>>> > from which it seems that the problem was fixed in 20.02.6 and
>>> 20.11.
>>> >
>>> > Question: Is there anything special that needs to be done when
>>> building Slurm
>>> > RPMs with NVIDIA GPU support?
>>> >
>>> > Thanks,
>>> > Ole
>
More information about the slurm-users
mailing list