64 lines
2.2 KiB
Modula-2
64 lines
2.2 KiB
Modula-2
Bootstrap: docker
|
|
From: nvidia/cuda:12.3.1-devel-ubuntu20.04
|
|
|
|
%labels
|
|
Requires CUDA driver 470.57+.
|
|
|
|
%environment
|
|
export LANG=C
|
|
|
|
%runscript
|
|
nvidia-smi
|
|
./run.sh
|
|
|
|
%post
|
|
. /.singularity.d/env/10-docker*.sh
|
|
|
|
apt-get update
|
|
apt-get install -y pciutils
|
|
DEBIAN_FRONTEND='noninteractive' apt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' install build-essential cuda-compat-12-3 libibverbs-dev ibverbs-utils gcc wget git libcap2-bin
|
|
apt-get -y autoremove; apt-get -y clean
|
|
|
|
cd /tmp
|
|
|
|
# install slurm
|
|
: ${SLURM_VERSION:=17-02-11-1}
|
|
wget https://github.com/SchedMD/slurm/archive/slurm-${SLURM_VERSION}.tar.gz
|
|
tar -xf slurm-${SLURM_VERSION}.tar.gz
|
|
cd slurm-slurm-${SLURM_VERSION}
|
|
./configure --prefix=/usr/ --sysconfdir=/etc/slurm --localstatedir=/var --disable-debug
|
|
make -C contribs/pmi2 -j$(nproc) install
|
|
cd ..
|
|
rm -rf slurm-*
|
|
|
|
# install julia
|
|
cd ~
|
|
wget https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.4-linux-x86_64.tar.gz
|
|
tar zxvf julia-1.9.4-linux-x86_64.tar.gz
|
|
mv julia-1.9.4/ /opt/julia-1.9.4
|
|
#mkdir /usr/local/bin
|
|
ln -s /opt/julia-1.9.4/bin/julia /usr/local/bin/julia
|
|
|
|
#Add nvidia driver paths to the environment variables
|
|
echo "\n #Nvidia driver paths \n" >> /environment
|
|
echo 'export PATH="/nvbin:$PATH"' >> /environment
|
|
echo 'export LD_LIBRARY_PATH="/nvlib:$LD_LIBRARY_PATH"' >> /environment
|
|
|
|
#Add CUDA paths
|
|
echo "\n #Cuda paths \n" >> /environment
|
|
echo 'export CPATH="/usr/local/cuda/include:$CPATH"' >> /environment
|
|
echo 'export PATH="/usr/local/cuda/bin:$PATH"' >> /environment
|
|
echo 'export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"' >> /environment
|
|
echo 'export CUDA_HOME="/usr/local/cuda"' >> /environment
|
|
|
|
# install likwid
|
|
VERSION=5.3.0
|
|
wget http://ftp.fau.de/pub/likwid/likwid-$VERSION.tar.gz
|
|
tar -xaf likwid-$VERSION.tar.gz
|
|
cd likwid-$VERSION
|
|
# accessdaemon doesn't work because of permissions
|
|
sed -i 's/ACCESSMODE = accessdaemon/ACCESSMODE = perf_event/g' config.mk
|
|
make -j4
|
|
make -j4 install
|
|
echo 'export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' >> /environment
|