Slurm source code should be downloaded and recompiled including the configuration flag – with-nvml.
As an example, using rpmbuild mechanism for recompiling and generating rpms, this is our current method. Be aware that the compile works only if it finds the prerequisites
needed for a given option on the host. (* e.g. to recompile this –with-nvml you should do so on a functioning gpu host *)
========
export VERSION=23.11.5
wget
https://download.schedmd.com/slurm/slurm-$VERSION.tar.bz2
#
rpmbuild --define="_with_nvml --with-nvml=/usr" --define="_with_pam --with-pam=/usr" --define="_with_pmix --with-pmix=/usr" --define="_with_hdf5 --without-hdf5" --define="_with_ofed --without-ofed"
--define="_with_http_parser --with-http-parser=/usr/lib64" --define="_with_yaml --define="_with_jwt --define="_with_slurmrestd --with-slurmrestd=1" -ta slurm-$VERSION.tar.bz2 > build.log-$VERSION-`date +%F` 2>&1
This is a list of packages we ensure are installed on a given node when running this compile .
- pkgs:
- bzip2
- cuda-nvml-devel-12-2
- dbus-devel
- freeipmi
- freeipmi-devel
- gcc
- gtk2-devel
- hwloc-devel
- libjwt-devel
- libssh2-devel
- libyaml-devel
- lua-devel
- make
- mariadb-devel
- munge-devel
- munge-libs
- ncurses-devel
- numactl-devel
- openssl-devel
- pam-devel
- perl
- perl-ExtUtils-MakeMaker
- readline-devel
- rpm-build
- rpmdevtools
- rrdtool-devel
- http-parser-devel
- json-c-devel
From: Shooktija S N via slurm-users <slurm-users@lists.schedmd.com>
Sent: Wednesday, April 3, 2024 7:01 AM
To: slurm-users@lists.schedmd.com
Subject: [slurm-users] How to reinstall / reconfigure Slurm?
Hi,
I am setting up Slurm on our lab's 3 node cluster and I have run into a problem while adding GPUs (each node has an NVIDIA 4070 ti) as a GRES. There is an error at the 'debug' log level in slurmd.log that says that the GPU is file-less
and is being removed from the final GRES list. This error according to some older posts on this forum might be fixed by reinstalling / reconfiguring Slurm with the right flag (the '--with-nvml' flag according to
this post).
Line in /var/log/slurmd.log:
[2024-04-03T15:42:02.695] debug: Removing file-less GPU gpu:rtx4070 from final GRES list
Does this error require me to either reinstall / reconfigure Slurm? What does 'reconfigure Slurm' mean?
I'm about as clueless as a caveman with a smartphone when it comes to Slurm administration and Linux system administration in general. So, if you could, please explain it to me as simply as possible.
slurm.conf without comment lines:
ClusterName=DlabCluster
SlurmctldHost=server1
GresTypes=gpu
ProctrackType=proctrack/linuxproc
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=root
StateSaveLocation=/var/spool/slurmctld
TaskPlugin=task/affinity,task/cgroup
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
SchedulerType=sched/backfill
SelectType=select/cons_tres
JobCompType=jobcomp/none
JobAcctGatherFrequency=30
SlurmctldDebug=debug2
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=debug2
SlurmdLogFile=/var/log/slurmd.log
NodeName=server[1-3] RealMemory=128636 Sockets=1 CoresPerSocket=64 ThreadsPerCore=2 State=UNKNOWN Gres=gpu:rtx4070:1
PartitionName=mainPartition Nodes=ALL Default=YES MaxTime=INFINITE State=UP
gres.conf (only one line):
AutoDetect=nvml
While installing cuda, I know that nvml has been installed because of this line in /var/log/cuda-installer.log:
[INFO]: Installing: cuda-nvml-dev
Thanks!
PS: I could've added this as a continuation to this
post, but for some reason I do not have permission to post to that group, so here I am starting a new thread.