4. Slurm
Background
Resource schedulers are a pretty important piece of a supercomputer. Slurm is an open source one made by LLNL and is widely used. Almost all centers these days use slurm. It allows you to allocate resources, run programs either as a batch job or interactive.
Ensure uniform munged keys
cd / tar -xzvf /opt/munge.tar.gz sha256sum /etc/munge/munge.key systemctl start munge.service systemctl enable munge.service cp /etc/slurm-llnl/cgroup.conf.example /etc/slurm-llnl/cgroup.conf # compute nodes systemctl enable slurmd.service systemctl enable slurmctld.service
refresh state
scontrol update nodename=mini[1-5] state=resume scontrol update nodename=mini[1-5] state=unknown
Lmod
Follow instructions here: https://lmod.readthedocs.io/en/latest/030_installing.html
Lua
wget https://sourceforge.net/projects/lmod/files/lua-5.1.4.9.tar.bz2 ./configure --prefix=/opt/cc/lua/5.1.4.9 # Add #include <string.h> to the unix package that breaks make -j6 && sudo make install ln -s /opt/cc/lua/lua/bin/lua /usr/local/bin ln -s /opt/cc/lua/lua/bin/luac /usr/local/bin
Lmod
sudo pacman -Sy tcl wget https://sourceforge.net/projects/lmod/files/Lmod-8.7.tar.bz2/download tar xf download cd Lmod-8.7 # Install lmod to /opt/cc/lmod/8.7 and modulefiles to /opt/modulefiles ./configure --prefix=/opt/cc --with-module-root-path=/opt/modulefiles sudo ln -s /opt/cc/lmod/lmod/init/profile /etc/profile.d/z00_lmod.sh sudo ln -s /opt/cc/lmod/lmod/init/cshrc /etc/profile.d/z00_lmod.csh # # no fish ln # shell -s /opt/cc/lmod/lmod/init/profile.fish /etc/fish/conf.d/z00_lmod.fish
Testing out
type module echo $LMOD_CMD echo $MODULEPATH
Compute nodes
salloc -N5 srun pacman -Sy tcl --noconfirm srun ln -s /opt/cc/lua/lua/bin/lua /usr/local/bin srun ln -s /opt/cc/lua/lua/bin/luac /usr/local/bin srun ln -s /opt/cc/lmod/lmod/init/profile /etc/profile.d/z00_lmod.sh srun ln -s /opt/cc/lmod/lmod/init/cshrc /etc/profile.d/z00_lmod.csh