Merge pull request #2074 from akohlmey/singularity-update

Updates for singularity definition files
This commit is contained in:
Axel Kohlmeyer
2020-05-11 17:44:14 -04:00
committed by GitHub
14 changed files with 157 additions and 118 deletions

1
.github/CODEOWNERS vendored
View File

@ -115,6 +115,7 @@ src/min* @sjplimp @stanmoore1
# tools
tools/msi2lmp/* @akohlmey
tools/emacs/* @HaoZeke
tools/singularity/* @akohlmey @rbberger
# cmake
cmake/* @junghans @rbberger

View File

@ -48,7 +48,6 @@ make
| ------------------------------ | ---------------------------------------------- |
| centos7.def | CentOS 7.x with EPEL enabled, no LaTeX |
| centos8.def | CentOS 8.x with EPEL enabled |
| fedora30_mingw.def | Fedora 30 with MinGW cross-compiler toolchain |
| fedora32_mingw.def | Fedora 32 with MinGW cross-compiler toolchain |
| ubuntu16.04.def | Ubuntu 16.04LTS with MPI == OpenMPI, no LaTeX |
| ubuntu18.04.def | Ubuntu 18.04LTS with MPI == OpenMPI |
@ -57,3 +56,4 @@ make
| ubuntu18.04_nvidia.def | Ubuntu 18.04LTS with Nvidia CUDA 10.2 toolkit |
| ubuntu18.04_intel_opencl.def | Ubuntu 18.04LTS with Intel OpenCL runtime |
| ubuntu20.04.def | Ubuntu 20.04LTS with MPI == OpenMPI |
| ------------------------------ | ---------------------------------------------- |

View File

@ -11,9 +11,18 @@ From: centos:7
hdf5-devel python36-virtualenv python36-pip python-pip \
netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \
python-virtualenv fftw-devel voro++-devel eigen3-devel gsl-devel openblas-devel enchant \
blas-devel lapack-devel
blas-devel lapack-devel libyaml-devel
yum clean all
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[centos7:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
@ -36,6 +45,11 @@ From: centos:7
# load MPI by default
. /etc/profile
module load mpi
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author akohlmey, rbberger

View File

@ -10,15 +10,24 @@ From: centos:8
eigen3-devel openblas-devel libpng-devel libjpeg-devel platform-python-devel \
openmpi-devel mpich-devel fftw-devel voro++-devel gsl-devel hdf5-devel \
netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \
enchant python3-virtualenv doxygen \
enchant python3-virtualenv doxygen diffutils \
texlive-latex-fonts texlive-pslatex texlive-collection-latexrecommended \
texlive-latex texlive-latexconfig doxygen-latex texlive-collection-latex \
texlive-latex-bin texlive-lualatex-math texlive-fncychap texlive-tabulary \
texlive-framed texlive-wrapfig texlive-upquote texlive-capt-of \
texlive-needspace texlive-titlesec texlive-anysize texlive-dvipng \
blas-devel lapack-devel
blas-devel lapack-devel libyaml-devel
dnf clean all
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[centos8:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
@ -41,6 +50,11 @@ From: centos:8
# load MPI by default
. /etc/profile
module load mpi
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author akohlmey, rbberger

View File

@ -1,65 +0,0 @@
BootStrap: docker
From: fedora:30
%post
dnf -y update
dnf -y install vim-enhanced git file make cmake patch which file Lmod \
ninja-build clang libomp-devel libubsan libasan libtsan \
dos2unix findutils rsync python-devel libjpeg-devel libpng-devel \
ccache gcc-c++ gcc-gfortran gdb valgrind eigen3-devel openblas-devel \
openmpi-devel mpich-devel fftw-devel voro++-devel gsl-devel hdf5-devel \
netcdf-devel netcdf-cxx-devel netcdf-mpich-devel netcdf-openmpi-devel \
mingw-filesystem-base mingw32-nsis mingw-binutils-generic \
mingw32-filesystem mingw32-pkg-config \
mingw64-filesystem mingw64-pkg-config \
mingw32-crt mingw32-headers mingw32-binutils \
mingw64-crt mingw64-headers mingw64-binutils \
mingw32-cpp mingw32-gcc mingw32-gcc-gfortran mingw32-gcc-c++ \
mingw64-cpp mingw64-gcc mingw64-gcc-gfortran mingw64-gcc-c++ \
mingw32-libgomp mingw64-libgomp \
mingw32-winpthreads mingw64-winpthreads \
mingw32-winpthreads-static mingw64-winpthreads-static \
mingw32-eigen3 mingw64-eigen3 \
mingw32-libjpeg-turbo mingw64-libjpeg-turbo \
mingw32-libjpeg-turbo-static mingw64-libjpeg-turbo-static \
mingw32-libpng mingw64-libpng \
mingw32-libpng-static mingw64-libpng-static \
mingw32-zlib mingw64-zlib \
mingw32-zlib-static mingw64-zlib-static \
mingw32-expat mingw64-expat \
mingw64-expat-static mingw32-expat-static \
mingw32-sqlite-static mingw64-sqlite-static \
enchant python3-virtualenv doxygen \
texlive-latex-fonts texlive-pslatex texlive-collection-latexrecommended \
texlive-latex texlive-latexconfig doxygen-latex texlive-collection-latex \
texlive-latex-bin texlive-lualatex-math texlive-fncychap texlive-tabulary \
texlive-framed texlive-wrapfig texlive-upquote texlive-capt-of \
texlive-needspace texlive-titlesec texlive-anysize texlive-dvipng \
blas-devel lapack-devel
dnf clean all
%environment
LC_ALL=C
export LC_ALL
# we need to reset any module variables
# inherited from the host.
unset __LMOD_REF_COUNT__LMFILES_
unset __LMOD_REF_COUNT_PATH
unset __LMOD_REF_COUNT_LD_LIBRARY_PATH
unset __LMOD_REF_COUNT_MANPATH
unset __LMOD_REF_COUNT_MODULEPATH
unset __LMOD_REF_COUNT_LOADEDMODULES
unset _LMFILES_
unset MODULEPATH
unset MODULESHOME
unset MODULEPATH_ROOT
unset LOADEDMODULES
unset LMOD_SYSTEM_DEFAULT_MODULES
# load MPI by default
. /etc/profile
module load mpi
%labels
Author akohlmey, rbberger

View File

@ -4,7 +4,7 @@ From: fedora:32
%post
dnf -y update
dnf -y install vim-enhanced git file make cmake patch which file Lmod \
ninja-build clang libomp-devel libubsan libasan libtsan \
ninja-build clang libomp-devel libubsan libasan libtsan diffutils \
dos2unix findutils rsync python-devel libjpeg-devel libpng-devel \
ccache gcc-c++ gcc-gfortran gdb valgrind eigen3-devel openblas-devel \
openmpi-devel mpich-devel fftw-devel voro++-devel gsl-devel hdf5-devel \
@ -35,9 +35,17 @@ From: fedora:32
texlive-latex-bin texlive-lualatex-math texlive-fncychap texlive-tabulary \
texlive-framed texlive-wrapfig texlive-upquote texlive-capt-of \
texlive-needspace texlive-titlesec texlive-anysize texlive-dvipng \
blas-devel lapack-devel diffutils
blas-devel lapack-devel libyaml-devel
dnf clean all
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[fedora32:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
# we need to reset any module variables
# inherited from the host.
@ -57,6 +65,11 @@ From: fedora:32
# load MPI by default
. /etc/profile
module load mpi
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author akohlmey, rbberger

View File

@ -17,9 +17,22 @@ From: ubuntu:16.04
python3-setuptools python3-virtualenv \
enchant
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu16.04:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author akohlmey
Author akohlmey, rbberger

View File

@ -37,6 +37,7 @@ From: ubuntu:18.04
libpng-dev \
libproj-dev \
libvtk6-dev \
libyaml-dev \
make \
mpi-default-bin \
mpi-default-dev \
@ -54,6 +55,7 @@ From: ubuntu:18.04
ssh \
texlive \
texlive-latex-recommended \
texlive-formats-extra \
texlive-pictures \
texlive-publishers \
texlive-science \
@ -69,10 +71,23 @@ From: ubuntu:18.04
# clean cache
rm -rf /var/lib/apt/lists/*
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu18.04:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
export PATH=/usr/lib/ccache:$PATH
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author akohlmey, rbberger

View File

@ -77,9 +77,23 @@ From: rocm/dev-ubuntu-18.04
# clean cache
rm -rf /var/lib/apt/lists/*
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu18/rocm:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author rbberger
Author rbberger, akohlmey

View File

@ -1,38 +0,0 @@
BootStrap: library
From: lammps/default/lammps_development:ubuntu18.04_amd_rocm
%environment
export PATH=/usr/local/cuda-10.2/bin:${PATH}:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin/x86_64
export CUDADIR=/usr/local/cuda-10.2
export CUDA_PATH=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export LIBRARY_PATH=/usr/local/cuda-10.2/lib64/stubs
%post
export DEBIAN_FRONTEND=noninteractive
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
apt-get update
export CUDA_PKG_VERSION=10.2
apt-get install -y --no-install-recommends \
cuda-libraries-$CUDA_PKG_VERSION \
cuda-command-line-tools-$CUDA_PKG_VERSION \
cuda-libraries-dev-$CUDA_PKG_VERSION \
cuda-minimal-build-$CUDA_PKG_VERSION \
cuda-compat-$CUDA_PKG_VERSION \
libcublas10 \
libcublas-dev
echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
# clean cache
rm -rf /var/lib/apt/lists/*
%labels
Author rbberger

View File

@ -104,9 +104,23 @@ From: rocm/dev-ubuntu-18.04
ln -s /usr/local/cuda-10.2 /usr/local/cuda
ln -s /usr/local/cuda-10.2/lib64/stubs/libcuda.so /usr/local/cuda-10.2/lib64/stubs/libcuda.so.1
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu18/gpu:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author rbberger
Author rbberger, akohlmey

View File

@ -70,9 +70,23 @@ From: ubuntu:18.04
# clean cache
rm -rf /var/lib/apt/lists/*
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu18/intel:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
LC_ALL=C
export LC_ALL
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author rbberger
Author rbberger, akohlmey

View File

@ -69,9 +69,23 @@ From: nvidia/cuda:10.2-devel-ubuntu18.04
# clean cache
rm -rf /var/lib/apt/lists/*
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu18/nvidia:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
LC_ALL=C
export LC_ALL
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author rbberger
Author rbberger, akohlmey

View File

@ -37,6 +37,7 @@ From: ubuntu:20.04
libpng-dev \
libproj-dev \
libvtk6-dev \
libyaml-dev \
make \
mpi-default-bin \
mpi-default-dev \
@ -50,6 +51,7 @@ From: ubuntu:20.04
ssh \
texlive \
texlive-latex-recommended \
texlive-formats-extra \
texlive-pictures \
texlive-publishers \
texlive-science \
@ -65,9 +67,23 @@ From: ubuntu:20.04
# clean cache
rm -rf /var/lib/apt/lists/*
# set custom prompt indicating the container name
CUSTOM_PROMPT_ENV=/.singularity.d/env/99-zz_custom_prompt.sh
cat >$CUSTOM_PROMPT_ENV <<EOF
#!/bin/bash
PS1="[ubuntu20.04:\u@\h] \W> "
EOF
chmod 755 $CUSTOM_PROMPT_ENV
%environment
LC_ALL=C
export LC_ALL
# restrict OpenMPI to shared memory comm by default
OMPI_MCA_btl="sm,self"
# do not warn about unused components as this messes up testing
OMPI_MCA_btl_base_warn_component_unused="0"
export OMPI_MCA_btl OMPI_MCA_btl_base_warn_component_unused
%labels
Author akohlmey, rbberger