diff --git a/definition-files/beast/Singularity.beast-1.10.4 b/definition-files/beast/Singularity.beast-1.10.4 new file mode 100644 index 0000000000000000000000000000000000000000..f86c633d27a709d9e7b6a76e604cebfe519f5acc --- /dev/null +++ b/definition-files/beast/Singularity.beast-1.10.4 @@ -0,0 +1,130 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda:latest + +%labels + + APPLICATION_NAME beast + APPLICATION_VERSION 1.10.4 + APPLICATION_URL https://beast.community + + SINGULARITY_VERSION 2.6.1 + SINGULARITY_IMAGE_SIZE 16384 + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200413 + +%setup + +%environment + + # Set LD_LIBRARY_PATH to beagle + export LD_LIBRARY_PATH="/opt/beagle/lib:${LD_LIBRARY_PATH}" + + # Set PATH to beast + export PATH="/opt/beast/bin:${PATH}" + + # Set PATH to tracer + export PATH="/opt/tracer/bin:${PATH}" + + # Set PATH to figtree + export PATH="/opt/figtree/bin:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set path to miniconda + export PATH="/opt/miniconda3/bin:${PATH}" + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Upgrade all packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install beast dependencies + apt-get -y install default-jdk + apt-get -y install default-jdk-doc + apt-get -y install ant + + cd /tmp + + # Download, build, and install beagle library + git clone https://github.com/beagle-dev/beagle-lib.git + cd /tmp/beagle-lib + git checkout v3.1.2 + ./autogen.sh + ./configure --prefix=/opt/beagle + make install + export LD_LIBRARY_PATH="/opt/beagle/lib:${LD_LIBRARY_PATH}" + make check + + cd /tmp + + # Download, build, and install beast + git clone https://github.com/beast-dev/beast-mcmc.git + cd /tmp/beast-mcmc + git checkout v1.10.4 + export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 + ant linux + mv /tmp/beast-mcmc/release/Linux/BEASTv1.10.4 /opt/beast + cd /opt/beast/bin + sed -i 's/-Xms64m -Xmx2048m/-Xms256m -Xmx10000m/' beast + + # Set PATH to beast + export PATH="/opt/beast/bin:${PATH}" + + cd /tmp + + # Download, build, and install tracer + git clone https://github.com/beast-dev/tracer.git + cd /tmp/tracer + git checkout v1.7.1 + ant linux + mv /tmp/tracer/release/Linux/Tracer_v1.7.1 /opt/tracer + + # Set PATH to tracer + export PATH="/opt/tracer/bin:${PATH}" + + cd /tmp + + # Download, build, and install figtree + git clone https://github.com/rambaut/figtree.git + cd /tmp/figtree + git checkout v1.4.4 + sed -i 's/linux_unix_Release/linux/g' build.xml + ant linux + mv /tmp/figtree/release/Linux/FigTree_v1.4.4 /opt/figtree + cd /opt/figtree/bin + sed -i "s/lib/\/opt\/figtree\/lib/g" figtree + chmod +x figtree + + # Set PATH to figtree + export PATH="/opt/figtree/bin:${PATH}" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/beast/Singularity.beast-2.6.1 b/definition-files/beast/Singularity.beast-2.6.1 new file mode 100644 index 0000000000000000000000000000000000000000..3a44af0a4a1f4bae8890a51e23f957fd39b3429f --- /dev/null +++ b/definition-files/beast/Singularity.beast-2.6.1 @@ -0,0 +1,127 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda:latest + +%labels + + APPLICATION_NAME beast2 + APPLICATION_VERSION 2.6.1 + APPLICATION_URL https://www.beast2.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200520 + +%setup + +%environment + + # Set LD_LIBRARY_PATH to beagle + export LD_LIBRARY_PATH="/opt/beagle/lib:${LD_LIBRARY_PATH}" + + # Set PATH to beast2 + export PATH="/opt/beast2/bin:${PATH}" + + # Set PATH to tracer + export PATH="/opt/tracer/bin:${PATH}" + + # Set PATH to figtree + export PATH="/opt/figtree/bin:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set path to miniconda + export PATH="/opt/miniconda3/bin:${PATH}" + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Upgrade all packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install beast dependencies + apt-get -y install default-jdk + apt-get -y install default-jdk-doc + apt-get -y install ant + + cd /tmp + + # Download, build, and install beagle library + git clone https://github.com/beagle-dev/beagle-lib.git + cd /tmp/beagle-lib + git checkout v3.1.2 + ./autogen.sh + ./configure --prefix=/opt/beagle + make install + export LD_LIBRARY_PATH="/opt/beagle/lib:${LD_LIBRARY_PATH}" + make check + + cd /tmp + + # Download, build, and install beast2 + git clone https://github.com/CompEvol/beast2.git + cd /tmp/beast2 + git checkout v2.6.1 + export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 + ant linux + mv /tmp/beast2/release/Linux/beast /opt/beast2 + cd /opt/beast2/bin + sed -i 's/-Xms256m -Xmx8g/-Xms256m -Xmx15g/' beast + + # Set PATH to beast + export PATH="/opt/beast2/bin:${PATH}" + + cd /tmp + + # Download, build, and install tracer + git clone https://github.com/beast-dev/tracer.git + cd /tmp/tracer + git checkout v1.7.1 + ant linux + mv /tmp/tracer/release/Linux/Tracer_v1.7.1 /opt/tracer + + # Set PATH to tracer + export PATH="/opt/tracer/bin:${PATH}" + + cd /tmp + + # Download, build, and install figtree + git clone https://github.com/rambaut/figtree.git + cd /tmp/figtree + git checkout v1.4.4 + sed -i 's/linux_unix_Release/linux/g' build.xml + ant linux + mv /tmp/figtree/release/Linux/FigTree_v1.4.4 /opt/figtree + cd /opt/figtree/bin + sed -i "s/lib/\/opt\/figtree\/lib/g" figtree + chmod +x figtree + + # Set PATH to figtree + export PATH="/opt/figtree/bin:${PATH}" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/centos/Singularity.centos-7.8.2003 b/definition-files/centos/Singularity.centos-7.8.2003 new file mode 100644 index 0000000000000000000000000000000000000000..bc72f62413dc57bc3a75c9c92a73ec4c352c47c5 --- /dev/null +++ b/definition-files/centos/Singularity.centos-7.8.2003 @@ -0,0 +1,77 @@ +Bootstrap: yum +OSVersion: 7 +MirrorURL: http://mirror.centos.org/centos-7/7.8.2003/os/x86_64 +Include: yum + +%labels + + APPLICATION_NAME centos + APPLICATION_VERSION 7.8.2003 + APPLICATION_URL https://www.centos.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200711 + +%setup + +%environment + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7.8.2003/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # Add software repositories + yum -y install epel-release + + # Install system software metapackages + yum -y groupinstall "Development Tools" + yum -y groupinstall "Additional Development" + yum -y groupinstall "Compatibility Libraries" + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + # Install common software packages + yum -y install bc + yum -y install cmake + yum -y install curl + yum -y install expect + yum -y install mlocate + yum -y install python3 + yum -y install rsync + yum -y install time + yum -y install vim-minimal + yum -y install wget + yum -y install which + yum -y install yum-utils + + # Cleanup + package-cleanup -q --leaves | xargs -l1 yum -y remove + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/centos/Singularity.centos-7.8.2003-cuda-10.1.168 b/definition-files/centos/Singularity.centos-7.8.2003-cuda-10.1.168 new file mode 100644 index 0000000000000000000000000000000000000000..f55b327b705844c297e3b4a2c84f25f258928bee --- /dev/null +++ b/definition-files/centos/Singularity.centos-7.8.2003-cuda-10.1.168 @@ -0,0 +1,468 @@ +Bootstrap: shub +From: mkandes/centos:centos-7.8.2003 + +%labels + + APPLICATION_NAME centos + cuda + APPLICATION_VERSION 7.8.2003 + 10.1.168 + APPLICATION_URL https://developer.nvidia.com/cuda-zone + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20201016 + +%setup + +%environment + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + # Location of NVIDIA repositories + export NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' + export CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/rhel7/x86_64" + export ML_REPO_URL="${NVIDIA_ROOT_URL}/machine-learning/repos/rhel7/x86_64" + + # Install NVIDIA package dependencies + yum -y install xorg-x11-server-Xorg + yum -y install xorg-x11-server-common + yum -y install xorg-x11-apps + yum -y install xorg-x11-utils + yum -y install xorg-x11-xauth + yum -y install xorg-x11-xkb-utils + yum -y install cmake + yum -y install make + yum -y install dkms + yum -y install kernel-headers + yum -y install glibc-devel + yum -y install glibc-headers + yum -y install glibc-utils + yum -y install libwayland-client + yum -y install libwayland-server + yum -y install pkgconfig + yum -y install libvdpau + yum -y install libva-vdpau-driver + yum -y install atk + yum -y install atk-devel + yum -y install cairo + yum -y install cairo-devel + yum -y install cairo-gobject + yum -y install cairo-gobject-devel + yum -y install cairo-tools + yum -y install fontconfig + yum -y install fontconfig-devel + yum -y install gdk-pixbuf2 + yum -y install gdk-pixbuf2-devel + yum -y install gtk3 + yum -y install gtk3-devel + yum -y install gtk2 + yum -y install gtk2-devel + yum -y install jansson + yum -y install freeglut + yum -y install freeglut-devel + yum -y install libX11 + yum -y install libX11-devel + yum -y install libX11-common + yum -y install libXmu + yum -y install libXmu-devel + yum -y install libXi + yum -y install libXi-devel + yum -y install mesa-libGLU + yum -y install mesa-libGLU-devel + yum -y install java-latest-openjdk + yum -y install java-latest-openjdk-devel + + yum -y install grubby + yum -y install libtirpc + yum -y install ocl-icd + yum -y install opencl-filesystem + yum -y install vulkan-filesystem + + cd /tmp + + # Download and install NVIDIA/CUDA drivers, libraries, and packages + wget -N --wait=10 "https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-rhel7-10-1-local-10.1.168-418.67-1.0-1.x86_64.rpm" + rpm -i cuda-repo-rhel7-10-1-local-10.1.168-418.67-1.0-1.x86_64.rpm + rm cuda-repo-rhel7-10-1-local-10.1.168-418.67-1.0-1.x86_64.rpm + + yum clean all + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-cuda-libs-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-cuda-libs-418.67-4.el7.x86_64.rpm + rm nvidia-driver-cuda-libs-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-libs-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-libs-418.67-4.el7.x86_64.rpm + rm nvidia-driver-libs-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/dkms-nvidia-418.67-1.el7.x86_64.rpm" + rpm -i dkms-nvidia-418.67-1.el7.x86_64.rpm + yum -y install dkms-nvidia + rm dkms-nvidia-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-418.67-4.el7.x86_64.rpm + yum -y install nvidia-driver + rm nvidia-driver-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-devel-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-devel-418.67-4.el7.x86_64.rpm + rm nvidia-driver-devel-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-persistenced-418.67-1.el7.x86_64.rpm" + rpm -i nvidia-persistenced-418.67-1.el7.x86_64.rpm + rm nvidia-persistenced-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-cuda-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-cuda-418.67-4.el7.x86_64.rpm + rm nvidia-driver-cuda-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-diagnostic-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-diagnostic-418.67-4.el7.x86_64.rpm + rm nvidia-driver-diagnostic-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-NVML-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-NVML-418.67-4.el7.x86_64.rpm + rm nvidia-driver-NVML-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-NvFBCOpenGL-418.67-4.el7.x86_64.rpm" + rpm -i nvidia-driver-NvFBCOpenGL-418.67-4.el7.x86_64.rpm + rm nvidia-driver-NvFBCOpenGL-418.67-4.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-libXNVCtrl-418.67-1.el7.x86_64.rpm" + rpm -i nvidia-libXNVCtrl-418.67-1.el7.x86_64.rpm + rm nvidia-libXNVCtrl-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-libXNVCtrl-devel-418.67-1.el7.x86_64.rpm" + rpm -i nvidia-libXNVCtrl-devel-418.67-1.el7.x86_64.rpm + rm nvidia-libXNVCtrl-devel-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe-418.67-1.el7.x86_64.rpm" + rpm -i nvidia-modprobe-418.67-1.el7.x86_64.rpm + rm nvidia-modprobe-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-settings-418.67-1.el7.x86_64.rpm" + rpm -i nvidia-settings-418.67-1.el7.x86_64.rpm + rm nvidia-settings-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-xconfig-418.67-1.el7.x86_64.rpm" + rpm -i nvidia-xconfig-418.67-1.el7.x86_64.rpm + rm nvidia-xconfig-418.67-1.el7.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-compat-10-1-418.67-1.x86_64.rpm" + rpm -i cuda-compat-10-1-418.67-1.x86_64.rpm + rm cuda-compat-10-1-418.67-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-license-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-license-10-1-10.1.168-1.x86_64.rpm + rm cuda-license-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-misc-headers-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-misc-headers-10-1-10.1.168-1.x86_64.rpm + rm cuda-misc-headers-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvcc-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvcc-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvcc-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cuobjdump-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cuobjdump-10-1-10.1.168-1.x86_64.rpm + rm cuda-cuobjdump-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvprune-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvprune-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvprune-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-compiler-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-compiler-10-1-10.1.168-1.x86_64.rpm + rm cuda-compiler-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cudart-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cudart-10-1-10.1.168-1.x86_64.rpm + rm cuda-cudart-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-driver-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-driver-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-driver-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cudart-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cudart-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-cudart-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvdisasm-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvdisasm-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvdisasm-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-gdb-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-gdb-10-1-10.1.168-1.x86_64.rpm + rm cuda-gdb-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvprof-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvprof-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvprof-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-memcheck-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-memcheck-10-1-10.1.168-1.x86_64.rpm + rm cuda-memcheck-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cupti-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cupti-10-1-10.1.168-1.x86_64.rpm + rm cuda-cupti-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-gpu-library-advisor-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-gpu-library-advisor-10-1-10.1.168-1.x86_64.rpm + rm cuda-gpu-library-advisor-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvtx-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvtx-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvtx-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-sanitizer-api-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-sanitizer-api-10-1-10.1.168-1.x86_64.rpm + rm cuda-sanitizer-api-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-command-line-tools-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-command-line-tools-10-1-10.1.168-1.x86_64.rpm + rm cuda-command-line-tools-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvrtc-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvrtc-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvrtc-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvrtc-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvrtc-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvrtc-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvml-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvml-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvml-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvgraph-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvgraph-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvgraph-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvgraph-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvgraph-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvgraph-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvjpeg-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvjpeg-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvjpeg-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvjpeg-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvjpeg-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvjpeg-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusolver-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cusolver-10-1-10.1.168-1.x86_64.rpm + rm cuda-cusolver-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusolver-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cusolver-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-cusolver-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/libcublas10-10.2.0.168-1.x86_64.rpm" + rpm -i libcublas10-10.2.0.168-1.x86_64.rpm + rm libcublas10-10.2.0.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/libcublas-devel-10.2.0.168-1.x86_64.rpm" + rpm -i libcublas-devel-10.2.0.168-1.x86_64.rpm + rm libcublas-devel-10.2.0.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cufft-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cufft-10-1-10.1.168-1.x86_64.rpm + rm cuda-cufft-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cufft-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cufft-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-cufft-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-curand-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-curand-10-1-10.1.168-1.x86_64.rpm + rm cuda-curand-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-curand-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-curand-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-curand-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusparse-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cusparse-10-1-10.1.168-1.x86_64.rpm + rm cuda-cusparse-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusparse-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-cusparse-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-cusparse-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-npp-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-npp-10-1-10.1.168-1.x86_64.rpm + rm cuda-npp-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-npp-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-npp-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-npp-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-samples-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-samples-10-1-10.1.168-1.x86_64.rpm + rm cuda-samples-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-documentation-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-documentation-10-1-10.1.168-1.x86_64.rpm + rm cuda-documentation-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nsight-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nsight-10-1-10.1.168-1.x86_64.rpm + rm cuda-nsight-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nsight-compute-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nsight-compute-10-1-10.1.168-1.x86_64.rpm + rm cuda-nsight-compute-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nsight-systems-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nsight-systems-10-1-10.1.168-1.x86_64.rpm + rm cuda-nsight-systems-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvvp-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-nvvp-10-1-10.1.168-1.x86_64.rpm + rm cuda-nvvp-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-visual-tools-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-visual-tools-10-1-10.1.168-1.x86_64.rpm + rm cuda-visual-tools-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-tools-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-tools-10-1-10.1.168-1.x86_64.rpm + rm cuda-tools-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-libraries-dev-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-libraries-dev-10-1-10.1.168-1.x86_64.rpm + rm cuda-libraries-dev-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-toolkit-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-toolkit-10-1-10.1.168-1.x86_64.rpm + rm cuda-toolkit-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-libraries-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-libraries-10-1-10.1.168-1.x86_64.rpm + rm cuda-libraries-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-drivers-418.67-1.x86_64.rpm" + rpm -i cuda-drivers-418.67-1.x86_64.rpm + rm cuda-drivers-418.67-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-runtime-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-runtime-10-1-10.1.168-1.x86_64.rpm + rm cuda-runtime-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-demo-suite-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-demo-suite-10-1-10.1.168-1.x86_64.rpm + rm cuda-demo-suite-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-10-1-10.1.168-1.x86_64.rpm" + rpm -i cuda-10-1-10.1.168-1.x86_64.rpm + rm cuda-10-1-10.1.168-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/libcutensor1-1.0.0-1.x86_64.rpm" + rpm -i libcutensor1-1.0.0-1.x86_64.rpm + rm libcutensor1-1.0.0-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/libcutensor-devel-1.0.0-1.x86_64.rpm" + rpm -i libcutensor-devel-1.0.0-1.x86_64.rpm + rm libcutensor-devel-1.0.0-1.x86_64.rpm + + wget -N --wait=10 "${CUDA_REPO_URL}/libcutensor-doc-1.0.0-1.x86_64.rpm" + rpm -i libcutensor-doc-1.0.0-1.x86_64.rpm + rm libcutensor-doc-1.0.0-1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libcudnn7-7.6.5.32-1.cuda10.1.x86_64.rpm" + rpm -i libcudnn7-7.6.5.32-1.cuda10.1.x86_64.rpm + rm libcudnn7-7.6.5.32-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libcudnn7-devel-7.6.5.32-1.cuda10.1.x86_64.rpm" + rpm -i libcudnn7-devel-7.6.5.32-1.cuda10.1.x86_64.rpm + rm libcudnn7-devel-7.6.5.32-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnccl-2.5.6-1+cuda10.1.x86_64.rpm" + rpm -i libnccl-2.5.6-1+cuda10.1.x86_64.rpm + rm libnccl-2.5.6-1+cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnccl-devel-2.5.6-1+cuda10.1.x86_64.rpm" + rpm -i libnccl-devel-2.5.6-1+cuda10.1.x86_64.rpm + rm libnccl-devel-2.5.6-1+cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer6-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvinfer6-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvinfer6-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer-plugin6-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvinfer-plugin6-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvinfer-plugin6-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer-plugin-devel-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvinfer-plugin-devel-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvinfer-plugin-devel-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvonnxparsers6-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvonnxparsers6-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvonnxparsers6-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvonnxparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvonnxparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvonnxparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvparsers6-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvparsers6-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvparsers6-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/libnvparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i libnvparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm + rm libnvparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/python3-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i python3-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm + rm python3-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/python3-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i python3-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + rm python3-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/python-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i python-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm + rm python-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm + + wget -N --wait=10 "${ML_REPO_URL}/python-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + rpm -i python-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + rm python-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + + # Cleanup + yum -y remove cuda-repo-rhel7-10-1-local-10.1.168-418.67-1.0-1.x86_64 + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/centos/Singularity.centos-7.8.2003-mvapich-2.3.2 b/definition-files/centos/Singularity.centos-7.8.2003-mvapich-2.3.2 new file mode 100644 index 0000000000000000000000000000000000000000..befac98bbd6913435241dd9aaebe3c7f389576b7 --- /dev/null +++ b/definition-files/centos/Singularity.centos-7.8.2003-mvapich-2.3.2 @@ -0,0 +1,93 @@ +Bootstrap: shub +From: mkandes/centos:centos-7.8.2003 + +%labels + + APPLICATION_NAME centos + mvapich + APPLICATION_VERSION 7.8.2003 + 2.3.2 + APPLICATION_URL https://mvapich.cse.ohio-state.edu + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200715 + +%setup + +%environment + + # Set paths to MVAPICH2 binaries and libraries + export PATH="/opt/mvapich2-2.3.2/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/mvapich2-2.3.2/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7.8.2003/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + # Install basic drivers for user space access to Ethernet, RDMA, + # and Infiniband. See https://community.mellanox.com/docs/DOC-2431 + yum -y install dkms + yum -y install infiniband-diags + yum -y install infiniband-diags-devel + yum -y install libibverbs + yum -y install libibverbs-devel + yum -y install ibacm + yum -y install librdmacm + yum -y install librdmacm-devel + yum -y install libmlx4 + yum -y install libmlx5 + yum -y install mstflint + yum -y install libibcm + yum -y install libibmad + yum -y install libibmad-devel + yum -y install libibumad + yum -y install libibumad-devel + yum -y install opensm + yum -y install srptools + + # Install additional tools + yum -y install ibutils + yum -y install libibverbs-utils + yum -y install librdmacm-utils + yum -y install perftest + yum -y install numactl + + # Install libnl + yum -y install libnl3 + yum -y install libnl3-devel + + # Install mvapich2 (build) dependencies + yum -y install bison + + cd /tmp + + # Download, build, and install mvapich2 + wget http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.2.tar.gz + tar -xzvf mvapich2-2.3.2.tar.gz + cd mvapich2-2.3.2 + ./configure --prefix=/opt/mvapich2-2.3.2 + make + make install + + # Cleanup + package-cleanup -q --leaves | xargs -l1 yum -y remove + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/centos/Singularity.centos-7.8.2003-openmpi-3.1.4 b/definition-files/centos/Singularity.centos-7.8.2003-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..43b34d60331cb19c914669995ef056e6d319e461 --- /dev/null +++ b/definition-files/centos/Singularity.centos-7.8.2003-openmpi-3.1.4 @@ -0,0 +1,93 @@ +Bootstrap: shub +From: mkandes/centos:centos-7.8.2003 + +%labels + + APPLICATION_NAME centos + openmpi + APPLICATION_VERSION 7.8.2003 + 3.1.4 + APPLICATION_URL https://www.open-mpi.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200715 + +%setup + +%environment + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7.8.2003/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + # Install basic drivers for user space access to Ethernet, RDMA, + # and Infiniband. See https://community.mellanox.com/docs/DOC-2431 + yum -y install dkms + yum -y install infiniband-diags + yum -y install infiniband-diags-devel + yum -y install libibverbs + yum -y install libibverbs-devel + yum -y install ibacm + yum -y install librdmacm + yum -y install librdmacm-devel + yum -y install libmlx4 + yum -y install libmlx5 + yum -y install mstflint + yum -y install libibcm + yum -y install libibmad + yum -y install libibmad-devel + yum -y install libibumad + yum -y install libibumad-devel + yum -y install opensm + yum -y install srptools + + # Install additional tools + yum -y install ibutils + yum -y install libibverbs-utils + yum -y install librdmacm-utils + yum -y install perftest + yum -y install numactl + + # Install libnl + yum -y install libnl3 + yum -y install libnl3-devel + + # Install OpenMPI dependencies + yum -y install zlib + yum -y install zlib-devel + + cd /tmp + + # Download, build, and install OpenMPI + wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.4.tar.gz + tar -xzvf openmpi-3.1.4.tar.gz + cd openmpi-3.1.4 + ./configure --prefix=/opt/openmpi-3.1.4 + make all install + + # Cleanup + package-cleanup -q --leaves | xargs -l1 yum -y remove + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/fenics/Singularity.fenics-2019.1.0 b/definition-files/fenics/Singularity.fenics-2019.1.0 new file mode 100644 index 0000000000000000000000000000000000000000..76a21c17d435cfb180c892ac3edba841264fbe80 --- /dev/null +++ b/definition-files/fenics/Singularity.fenics-2019.1.0 @@ -0,0 +1,265 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:latest + +%labels + + APPLICATION_NAME fenics + APPLICATION_VERSION 2019.1.0.post0 + APPLICATION_URL https://fenicsproject.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200529 + +%setup + +%environment + + # Set locale environment + export LC_ALL=C.UTF-8 + export LANG=C.UTF-8 + export LANGUAGE=C.UTF-8 + + # Set paths to HDF5 binaries and libraries + export PATH="/opt/hdf5-1.10.1/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/hdf5-1.10.1/lib:${LD_LIBRARY_PATH}" + + # Set path to PETSC libraries + export PETSC_DIR='/opt/petsc-3.12.3' + export LD_LIBRARY_PATH="${PETSC_DIR}/lib:${LD_LIBRARY_PATH}" + + # Set path to SLEPC libraries + export SLEPC_DIR='/opt/slepc-3.12.1' + export LD_LIBRARY_PATH="${SLEPC_DIR}/lib:${LD_LIBRARY_PATH}" + + # Set FEniCS environment variables + export OPENBLAS_NUM_THREADS=1 + export OPENBLAS_VERBOSE=0 + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.2/collective:${PATH}" + export PATH="/opt/omb-5.6.2/one-sided:${PATH}" + export PATH="/opt/omb-5.6.2/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.2/startup:${PATH}" + + # Upgrade all packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install all base FEniCS dependencies + apt-get -y install locales + + # Set locale environment + echo "C.UTF-8 UTF-8" > /etc/locale.gen + locale-gen + export LC_ALL=C.UTF-8 + export LANG=C.UTF-8 + export LANGUAGE=C.UTF-8 + + # Install all core (dev-env) FEniCS dependencies available via apt-get + # https://bitbucket.org/fenics-project/docker/src/master/dockerfiles/dev-env/Dockerfile + # Non-Python utilities and libraries + apt-get -y install bison + apt-get -y install curl + apt-get -y install ccache + apt-get -y install cmake + apt-get -y install doxygen + apt-get -y install flex + apt-get -y install g++ + apt-get -y install gfortran + apt-get -y install git + apt-get -y install git-lfs + apt-get -y install graphviz + apt-get -y install libboost-dev + apt-get -y install libboost-filesystem-dev + apt-get -y install libboost-iostreams-dev + apt-get -y install libboost-math-dev + apt-get -y install libboost-program-options-dev + apt-get -y install libboost-system-dev + apt-get -y install libboost-thread-dev + apt-get -y install libboost-timer-dev + apt-get -y install libeigen3-dev + apt-get -y install libfreetype6-dev + apt-get -y install liblapack-dev + apt-get -y install libopenblas-dev + apt-get -y install libpcre3-dev + apt-get -y install libpng-dev + apt-get -y install libgmp-dev + apt-get -y install libcln-dev + apt-get -y install libmpfr-dev + apt-get -y install man + apt-get -y install nano + apt-get -y install pkg-config + apt-get -y install wget + apt-get -y install bash-completion + apt-get -y install zlib1g-dev + + git lfs install + + # Install Python3 based environment + apt-get -y install python3-dev + apt-get -y install python3-flufl.lock + apt-get -y install python3-numpy + apt-get -y install python3-ply + apt-get -y install python3-pytest + apt-get -y install python3-scipy + apt-get -y install python3-tk + apt-get -y install python3-urllib3 + apt-get -y install python3-minimal + + cd /tmp + + # Install setuptools + wget https://bootstrap.pypa.io/get-pip.py + python3 get-pip.py + pip3 install --no-cache-dir setuptools + + cd /tmp + + # Download, build, and install HDF5 + wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/hdf5-1.10.1.tar.gz + tar -xf hdf5-1.10.1.tar.gz + cd hdf5-1.10.1 + ./configure CC=mpicc \ + CXX=mpic++ \ + --prefix='/opt/hdf5-1.10.1' \ + --enable-parallel \ + --enable-fortran \ + --enable-shared + #--with-zlib='/opt/zlib-1.2.11' + make + make install + + export PATH="/opt/hdf5-1.10.1/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/hdf5-1.10.1/lib:${LD_LIBRARY_PATH}" + + cd /tmp + + # Use symbolic link for python2/3-compatability + ln -s /usr/bin/python3 /usr/bin/python + + # Download, build, and Install PETSc + wget https://gitlab.com/petsc/petsc/-/archive/v3.12.3/petsc-v3.12.3.tar.gz + tar -xf petsc-v3.12.3.tar.gz + cd petsc-v3.12.3 + ./configure --prefix='/opt/petsc-3.12.3' \ + --with-petsc-arch='arch-linux-c-opt' \ + --COPTFLAGS='-O2' \ + --CXXOPTFLAGS='-O2' \ + --FOPTFLAGS='-O2' \ + --with-fortran-bindings=no \ + --with-debugging=0 \ + --download-blacs \ + --download-hypre \ + --download-metis \ + --download-mumps \ + --download-ptscotch \ + --download-scalapack \ + --download-spai \ + --download-suitesparse \ + --download-superlu + make + make install + + export PETSC_DIR='/opt/petsc-3.12.3' + export LD_LIBRARY_PATH="${PETSC_DIR}/lib:${LD_LIBRARY_PATH}" + + cd /tmp + + # Download, build, and install SLEPc + wget https://gitlab.com/slepc/slepc/-/archive/v3.12.1/slepc-v3.12.1.tar.gz + tar -xf slepc-v3.12.1.tar.gz + cd slepc-v3.12.1 + ./configure --prefix='/opt/slepc-3.12.1' + make + make install + + export SLEPC_DIR='/opt/slepc-3.12.1' + export LD_LIBRARY_PATH="${SLEPC_DIR}/lib:${LD_LIBRARY_PATH}" + + cd /tmp + + # Install jupyterlab, sympy, mpi4py, petsc4py, slepc4py and pybind11 + pip3 install --no-cache-dir jupyter jupyterlab matplotlib sympy==1.1.1 pkgconfig + pip3 install --no-cache-dir https://github.com/mpi4py/mpi4py/archive/3.0.3.tar.gz + pip3 install --no-cache-dir https://bitbucket.org/petsc/petsc4py/downloads/petsc4py-3.12.0.tar.gz + pip3 install --no-cache-dir https://bitbucket.org/slepc/slepc4py/downloads/slepc4py-3.12.0.tar.gz + pip3 install --no-cache-dir pybind11==2.4.3 + wget https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz + tar -xf v2.4.3.tar.gz + cd pybind11-2.4.3 + mkdir build + cd build + cmake -DPYBIND11_TEST=False ../ + make + make install + + cd /tmp + + # Download, build, and install FEnICs + PIP_NO_CACHE_DIR=off python3 -m pip install 'fenics>=2019.1.0,<2019.2.0' + git clone https://bitbucket.org/fenics-project/dolfin.git + cd dolfin + git checkout 2019.1.0.post0 + mkdir build + cd build + cmake ../ + make + make install + + mv /usr/local/share/dolfin/demo /tmp/demo + mkdir -p /usr/local/share/dolfin/demo + mv /tmp/demo /usr/local/share/dolfin/demo/cpp + cd ../python + PIP_NO_CACHE_DIR=off python3 -m pip install . + + cd demo + python3 generate-demo-files.py + mkdir -p /usr/local/share/dolfin/demo/python + cp -r documented /usr/local/share/dolfin/demo/python + cp -r undocumented /usr/local/share/dolfin/demo/python + + cd /tmp + + git clone https://bitbucket.org/fenics-project/mshr.git + cd mshr + git checkout 2019.1.0 + mkdir build + cd build + cmake ../ + make + make install + cd ../python + PIP_NO_CACHE_DIR=off python3 -m pip install . + ldconfig + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/gromacs/Singularity.gromacs-2020.3-ubuntu-18.04-cuda-10.1.168-tmpi-avx-512-cuda-70 b/definition-files/gromacs/Singularity.gromacs-2020.3-ubuntu-18.04-cuda-10.1.168-tmpi-avx-512-cuda-70 new file mode 100644 index 0000000000000000000000000000000000000000..a26ab56dbf6612abd524478b8719a6e963342d15 --- /dev/null +++ b/definition-files/gromacs/Singularity.gromacs-2020.3-ubuntu-18.04-cuda-10.1.168-tmpi-avx-512-cuda-70 @@ -0,0 +1,104 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda:ubuntu-18.04-cuda-10.1.168 + +%labels + + APPLICATION_NAME gromacs + APPLICATION_VERSION 2020.3 + APPLICATION_URL http://www.gromacs.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200919 + +%setup + +%environment + + # Set GROMACS version number, build type, root and installation + # directories as well as its source repository URL + export GROMACS_VERSION='2020.3' + export GROMACS_BUILD='tmpi-cuda' + export GROMACS_ROOT_DIR='/opt/gromacs' + export GROMACS_INSTALL_DIR="${GROMACS_ROOT_DIR}/${GROMACS_VERSION}" + export GROMACS_ROOT_URL='http://ftp.gromacs.org/pub' + + # Source GROMACS environment script + . "${GROMACS_INSTALL_DIR}/bin/GMXRC" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Set GROMACS version number, build type, root and installation + # directories as well as its source repository URL + export GROMACS_VERSION='2020.3' + export GROMACS_BUILD='tmpi-cuda' + export GROMACS_ROOT_DIR='/opt/gromacs' + export GROMACS_INSTALL_DIR="${GROMACS_ROOT_DIR}/${GROMACS_VERSION}" + export GROMACS_ROOT_URL='http://ftp.gromacs.org/pub' + + cd /tmp + + # Download, build, and install GROMACS + wget "${GROMACS_ROOT_URL}/gromacs/gromacs-${GROMACS_VERSION}.tar.gz" + tar -xf "gromacs-${GROMACS_VERSION}.tar.gz" + cd "gromacs-${GROMACS_VERSION}" + mkdir -p build + cd build + cmake .. \ + -DCMAKE_C_COMPILER=gcc \ + -DCMAKE_CXX_COMPILER=g++ \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="${GROMACS_INSTALL_DIR}" \ + -DGMX_PREFER_STATIC_LIBS=ON \ + -DBUILD_SHARED_LIBS=OFF \ + -DGMX_EXTERNAL_BLAS=OFF \ + -DGMX_EXTERNAL_BOOST=OFF \ + -DGMX_EXTERNAL_LAPACK=OFF \ + -DGMX_FFT_LIBRARY=fftw3 \ + -DGMX_BUILD_OWN_FFTW=ON \ + -DGMX_DOUBLE=OFF \ + -DGMX_SIMD=AVX_512 \ + -DGMX_MPI=OFF \ + -DGMX_OPENMP=OFF \ + -DGMX_GPU=ON \ + -DGMX_CUDA_TARGET_COMPUTE='70' \ + -DGMX_CUDA_TARGET_SM='70' \ + -DREGRESSIONTEST_DOWNLOAD=OFF + make + make install + + # Cleanup + rm -rf "/tmp/gromacs-${GROMACS_VERSION}" + rm "gromacs-${GROMACS_VERSION}.tar.gz" + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/hpl/Singularity.hpl-2.3-ubuntu-18.04-openmpi-3.1.4-openblas-0.13.0 b/definition-files/hpl/Singularity.hpl-2.3-ubuntu-18.04-openmpi-3.1.4-openblas-0.13.0 new file mode 100644 index 0000000000000000000000000000000000000000..2c2e363e2f5d3496c9c018006caf55ebe62ecd8c --- /dev/null +++ b/definition-files/hpl/Singularity.hpl-2.3-ubuntu-18.04-openmpi-3.1.4-openblas-0.13.0 @@ -0,0 +1,141 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.4 + +%labels + + APPLICATION_NAME High-Performance Linpack (HPL) + APPLICATION_VERSION 2.3 + APPLICATION_URL https://www.netlib.org/benchmark/hpl + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200904 + +%setup + +%environment + + # Set OpenBLAS version number, target architecture, maximum number + # of threads, root and installation directories + export OPENBLAS_VERSION='0.3.10' + export OPENBLAS_ROOT_DIR='/opt/openblas' + export OPENBLAS_INSTALL_DIR="${OPENBLAS_ROOT_DIR}/${OPENBLAS_VERSION}" + export OPENBLAS_USE_OPENMP=1 + export OPENBLAS_DYNAMIC_ARCH=1 + export OPENBLAS_TARGET_ARCH='HASWELL' + export OPENBLAS_MAX_NUM_THREADS=256 + + # Set path to OpenBLAS libraries + export LD_LIBRARY_PATH="${OPENBLAS_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Set HPL version number, target architecture, root and installation + # directories + export HPL_VERSION='2.3' + export HPL_ARCH='linux64' + export HPL_ROOT_DIR='/opt/hpl' + export HPL_INSTALL_DIR="${HPL_ROOT_DIR}/${HPL_VERSION}" + + # Set path to HPL binary + export PATH="${HPL_INSTALL_DIR}/bin:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Set OpenBLAS version number, target architecture, maximum number + # of threads, root and installation directories + export OPENBLAS_VERSION='0.3.10' + export OPENBLAS_ROOT_DIR='/opt/openblas' + export OPENBLAS_INSTALL_DIR="${OPENBLAS_ROOT_DIR}/${OPENBLAS_VERSION}" + export OPENBLAS_USE_OPENMP=1 + export OPENBLAS_DYNAMIC_ARCH=1 + export OPENBLAS_TARGET_ARCH='HASWELL' + export OPENBLAS_MAX_NUM_THREADS=256 + + # Download, build, and install OpenBLAS + git clone https://github.com/xianyi/OpenBLAS.git + cd OpenBLAS + git checkout "v${OPENBLAS_VERSION}" + if (( "${OPENBLAS_DYNAMIC_ARCH}" == 1 )); then + make FC='gfortran' BINARY=64 USE_OPENMP="${OPENBLAS_USE_OPENMP}" DYNAMIC_ARCH=1 NUM_THREADS="${OPENBLAS_MAX_NUM_THREADS}" + else + make FC='gfortran' BINARY=64 USE_OPENMP="${OPENBLAS_USE_OPENMP}" TARGET="${OPENBLAS_TARGET_ARCH}" NUM_THREADS="${OPENBLAS_MAX_NUM_THREADS}" + fi + make PREFIX="${OPENBLAS_INSTALL_DIR}" install + + # Set path to OpenBLAS libraries + export LD_LIBRARY_PATH="${OPENBLAS_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + cd /tmp + + # Remove OpenBLAS build directory + rm -rf OpenBLAS + + # Set HPL version number, target architecture, root and installation + # directories + export HPL_VERSION='2.3' + export HPL_ARCH='linux64' + export HPL_ROOT_DIR='/opt/hpl' + export HPL_INSTALL_DIR="${HPL_ROOT_DIR}/${HPL_VERSION}" + + # Download, build, and install HPL + wget "http://www.netlib.org/benchmark/hpl/hpl-${HPL_VERSION}.tar.gz" + tar -xf "hpl-${HPL_VERSION}.tar.gz" + cd "hpl-${HPL_VERSION}/setup" + source make_generic + mv Make.UNKNOWN Make.linux64 + sed -i 's/ARCH = UNKNOWN/ARCH = linux64/' Make.linux64 + sed -i 's/TOPdir = $(HOME)\/hpl/TOPdir =/' Make.linux64 + sed -i "s/TOPdir =/TOPdir = \/opt\/hpl\/${HPL_VERSION}/" Make.linux64 + sed -i 's/MPdir = /MPdir = \/opt\/openmpi-3.1.4/' Make.linux64 + sed -i 's/MPinc = /MPinc = -I$(MPdir)\/include/' Make.linux64 + sed -i 's/MPlib = /MPlib = $(MPdir)\/lib\/libmpi.so/' Make.linux64 + sed -i "s/LAdir = /LAdir = \/opt\/openblas\/${OPENBLAS_VERSION}/" Make.linux64 + sed -i 's/LAinc = /LAinc = -I$(LAdir)\/include/' Make.linux64 + sed -i 's/LAlib = -lblas/LAlib = $(LAdir)\/lib\/libopenblas.a/' Make.linux64 + sed -i 's/LINKER = mpif77/LINKER = mpicc/' Make.linux64 + cp Make.linux64 ../ + cd ../ + export LDFLAGS="-L${OPENBLAS_INSTALL_DIR}/lib" + ./configure --prefix="${HPL_INSTALL_DIR}" + make arch='linux64' + make install + + cd /tmp + + # Remove HPL build directory and source tarball + rm -rf "hpl-${HPL_VERSION}" + rm "hpl-${HPL_VERSION}.tar.gz" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/hpl/Singularity.hpl-2.3-ubuntu-18.04-openmpi-3.1.6-openblas-0.13.0 b/definition-files/hpl/Singularity.hpl-2.3-ubuntu-18.04-openmpi-3.1.6-openblas-0.13.0 new file mode 100644 index 0000000000000000000000000000000000000000..863e2e16395a2cdc358e48682267b5de7cf0d305 --- /dev/null +++ b/definition-files/hpl/Singularity.hpl-2.3-ubuntu-18.04-openmpi-3.1.6-openblas-0.13.0 @@ -0,0 +1,156 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.6 + +%labels + + APPLICATION_NAME High-Performance Linpack (HPL) + APPLICATION_VERSION 2.3 + APPLICATION_URL https://www.netlib.org/benchmark/hpl + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200906 + +%setup + +%environment + + # Set OpenBLAS version number, target architecture, maximum number + # of threads, root and installation directories + export OPENBLAS_VERSION='0.3.10' + export OPENBLAS_ROOT_DIR='/opt/openblas' + export OPENBLAS_INSTALL_DIR="${OPENBLAS_ROOT_DIR}/${OPENBLAS_VERSION}" + export OPENBLAS_USE_OPENMP=1 + export OPENBLAS_DYNAMIC_ARCH=1 + export OPENBLAS_TARGET_ARCH='HASWELL' + export OPENBLAS_MAX_NUM_THREADS=256 + + # Set path to OpenBLAS libraries + export LD_LIBRARY_PATH="${OPENBLAS_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Set HPL version number, target architecture, root and installation + # directories + export HPL_VERSION='2.3' + export HPL_ARCH='linux64' + export HPL_ROOT_DIR='/opt/hpl' + export HPL_INSTALL_DIR="${HPL_ROOT_DIR}/${HPL_VERSION}" + + # Set path to HPL binary + export PATH="${HPL_INSTALL_DIR}/bin:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set Mellanox OFED version number, operating system, and hardware + # platform + export MLNX_OFED_VERSION='4.7-3.2.9.0' + export MLNX_OS_VERSION='ubuntu18.04' + export MLNX_PLATFORM='x86_64' + + # Set OpenMPI major, minor, and revision versions, root and + # installation directories + export OPENMPI_MAJOR_VERSION=3 + export OPENMPI_MINOR_VERSION=1 + export OPENMPI_REVISION_VERSION=6 + export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}" + export OPENMPI_ROOT_DIR='/opt/openmpi' + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}" + + # Set paths to OpenMPI binaries and libraries + export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${OPENMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Set OpenBLAS version number, target architecture, maximum number + # of threads, root and installation directories + export OPENBLAS_VERSION='0.3.10' + export OPENBLAS_ROOT_DIR='/opt/openblas' + export OPENBLAS_INSTALL_DIR="${OPENBLAS_ROOT_DIR}/${OPENBLAS_VERSION}" + export OPENBLAS_USE_OPENMP=1 + export OPENBLAS_DYNAMIC_ARCH=1 + export OPENBLAS_TARGET_ARCH='HASWELL' + export OPENBLAS_MAX_NUM_THREADS=256 + + # Download, build, and install OpenBLAS + git clone https://github.com/xianyi/OpenBLAS.git + cd OpenBLAS + git checkout "v${OPENBLAS_VERSION}" + if (( "${OPENBLAS_DYNAMIC_ARCH}" == 1 )); then + make FC='gfortran' BINARY=64 USE_OPENMP="${OPENBLAS_USE_OPENMP}" DYNAMIC_ARCH=1 NUM_THREADS="${OPENBLAS_MAX_NUM_THREADS}" + else + make FC='gfortran' BINARY=64 USE_OPENMP="${OPENBLAS_USE_OPENMP}" TARGET="${OPENBLAS_TARGET_ARCH}" NUM_THREADS="${OPENBLAS_MAX_NUM_THREADS}" + fi + make PREFIX="${OPENBLAS_INSTALL_DIR}" install + + # Set path to OpenBLAS libraries + export LD_LIBRARY_PATH="${OPENBLAS_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + cd /tmp + + # Remove OpenBLAS build directory + rm -rf OpenBLAS + + # Set HPL version number, target architecture, root and installation + # directories + export HPL_VERSION='2.3' + export HPL_ARCH='linux64' + export HPL_ROOT_DIR='/opt/hpl' + export HPL_INSTALL_DIR="${HPL_ROOT_DIR}/${HPL_VERSION}" + + # Download, build, and install HPL + wget "http://www.netlib.org/benchmark/hpl/hpl-${HPL_VERSION}.tar.gz" + tar -xf "hpl-${HPL_VERSION}.tar.gz" + cd "hpl-${HPL_VERSION}/setup" + source make_generic + mv Make.UNKNOWN Make.linux64 + sed -i 's/ARCH = UNKNOWN/ARCH = linux64/' Make.linux64 + sed -i 's/TOPdir = $(HOME)\/hpl/TOPdir =/' Make.linux64 + sed -i "s/TOPdir =/TOPdir = \/opt\/hpl\/${HPL_VERSION}/" Make.linux64 + sed -i 's/MPdir = /MPdir = \/opt\/openmpi-3.1.6/' Make.linux64 + sed -i 's/MPinc = /MPinc = -I$(MPdir)\/include/' Make.linux64 + sed -i 's/MPlib = /MPlib = $(MPdir)\/lib\/libmpi.so/' Make.linux64 + sed -i "s/LAdir = /LAdir = \/opt\/openblas\/${OPENBLAS_VERSION}/" Make.linux64 + sed -i 's/LAinc = /LAinc = -I$(LAdir)\/include/' Make.linux64 + sed -i 's/LAlib = -lblas/LAlib = $(LAdir)\/lib\/libopenblas.a/' Make.linux64 + sed -i 's/LINKER = mpif77/LINKER = mpicc/' Make.linux64 + cp Make.linux64 ../ + cd ../ + export LDFLAGS="-L${OPENBLAS_INSTALL_DIR}/lib" + ./configure --prefix="${HPL_INSTALL_DIR}" + make arch='linux64' + make install + + cd /tmp + + # Remove HPL build directory and source tarball + rm -rf "hpl-${HPL_VERSION}" + rm "hpl-${HPL_VERSION}.tar.gz" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ior/Singularity.ior-3.3.0rc1-ubuntu-18.04-openmpi-3.1.4 b/definition-files/ior/Singularity.ior-3.3.0rc1-ubuntu-18.04-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..73ab66cc32c18ce655454645e0142d902f9ca0b0 --- /dev/null +++ b/definition-files/ior/Singularity.ior-3.3.0rc1-ubuntu-18.04-openmpi-3.1.4 @@ -0,0 +1,77 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.4 + +%labels + + APPLICATION_NAME IOR + APPLICATION_VERSION 3.3.0rc1 + APPLICATION_URL https://ior.readthedocs.io + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200805 + +%setup + +%environment + + # Set IOR version number, root and installation directories + export IOR_VERSION='3.3.0rc1' + export IOR_ROOT_DIR='/opt/ior' + export IOR_INSTALL_DIR="${IOR_ROOT_DIR}/${IOR_VERSION}" + + # Set path to IOR binary and libraries + export PATH="${IOR_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${IOR_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Set IOR version number, root and installation directories + export IOR_VERSION='3.3.0rc1' + export IOR_ROOT_DIR='/opt/ior' + export IOR_INSTALL_DIR="${IOR_ROOT_DIR}/${IOR_VERSION}" + + # Download, build, and install IOR + git clone https://github.com/hpc/ior.git + cd ior + git checkout "${IOR_VERSION}" + ./bootstrap + ./configure --prefix="${IOR_INSTALL_DIR}" + make + make install + + # Cleanup + rm -rf /tmp/ior + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ior/Singularity.ior-3.3.0rc1-ubuntu-18.04-openmpi-3.1.6 b/definition-files/ior/Singularity.ior-3.3.0rc1-ubuntu-18.04-openmpi-3.1.6 new file mode 100644 index 0000000000000000000000000000000000000000..29f0f8441284f1abf50acb1f3d7232a02fa693a5 --- /dev/null +++ b/definition-files/ior/Singularity.ior-3.3.0rc1-ubuntu-18.04-openmpi-3.1.6 @@ -0,0 +1,96 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.6 + +%labels + + APPLICATION_NAME IOR + APPLICATION_VERSION 3.3.0rc1 + APPLICATION_URL https://ior.readthedocs.io + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200809 + +%setup + +%environment + + # Set IOR version number, root and installation directories + export IOR_VERSION='3.3.0rc1' + export IOR_ROOT_DIR='/opt/ior' + export IOR_INSTALL_DIR="${IOR_ROOT_DIR}/${IOR_VERSION}" + + # Set path to IOR binary and libraries + export PATH="${IOR_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${IOR_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set Mellanox OFED version number, operating system, and hardware + # platform + export MLNX_OFED_VERSION='4.7-3.2.9.0' + export MLNX_OS_VERSION='ubuntu18.04' + export MLNX_PLATFORM='x86_64' + + # Set OpenMPI major, minor, and revision versions, root and + # installation directories + export OPENMPI_MAJOR_VERSION=3 + export OPENMPI_MINOR_VERSION=1 + export OPENMPI_REVISION_VERSION=6 + export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}" + export OPENMPI_ROOT_DIR='/opt/openmpi' + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}" + + # Set paths to OpenMPI binaries and libraries + export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${OPENMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Set IOR version number, root and installation directories + export IOR_VERSION='3.3.0rc1' + export IOR_ROOT_DIR='/opt/ior' + export IOR_INSTALL_DIR="${IOR_ROOT_DIR}/${IOR_VERSION}" + + # Download, build, and install IOR + git clone https://github.com/hpc/ior.git + cd ior + git checkout "${IOR_VERSION}" + ./bootstrap + ./configure --prefix="${IOR_INSTALL_DIR}" + make + make install + + cd /tmp + + # Remove IOR build directory and source repository + rm -rf ior + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/mxnet/Singularity.mxnet-1.7.0 b/definition-files/mxnet/Singularity.mxnet-1.7.0 new file mode 100644 index 0000000000000000000000000000000000000000..89373131749e8c1bc4e86102f3ffec3807aa76b3 --- /dev/null +++ b/definition-files/mxnet/Singularity.mxnet-1.7.0 @@ -0,0 +1,110 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda-openmpi:latest + +%labels + + APPLICATION_NAME mxnet + APPLICATION_VERSION 1.7.0 + APPLICATION_URL https://mxnet.io + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200915 + +%setup + +%environment + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Upgrade all packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install python3 and some common core packages + apt-get -y install python3-dev + apt-get -y install python3-pip + apt-get -y install python3-setuptools + apt-get -y install python3-virtualenv + + # Install MXNet dependencies and prerequisites + apt-get -y install build-essential + apt-get -y install ccache + apt-get -y install cmake + apt-get -y install git + apt-get -y install ninja-build + apt-get -y install libopenblas-dev + apt-get -y install liblapack-dev + apt-get -y install libopencv-dev + apt-get -y install python3-opencv + apt-get -y install libjemalloc-dev + + cd /opt + + # Download, build, and install MXNet core (shared) library + git clone --recursive https://github.com/apache/incubator-mxnet.git + mv incubator-mxnet mxnet-1.7.0 + cd mxnet-1.7.0 + git checkout 1.7.0 + git submodule sync + git submodule update --init --recursive + sed -i 's/KNOWN_CUDA_ARCHS := 30 35 50 52 60 61 70 75/KNOWN_CUDA_ARCHS := 30 35 37 50 52 60 61 70 75/g' Makefile + make USE_BLAS='openblas' USE_LAPACK_PATH='/usr/lib/x86_64-linux-gnu' USE_OPENMP=1 USE_JEMALLOC=0 USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1 USE_NCCL=1 USE_MKLDNN=0 USE_OPENCV=1 USE_DIST_KVSTORE=1 + + # Install common mathematical and scientific python3 packages + apt-get -y install python3-numpy + apt-get -y install python3-scipy + apt-get -y install python3-pandas + apt-get -y install python3-sklearn + apt-get -y install python3-skimage + apt-get -y install python3-statsmodels + apt-get -y install python3-matplotlib + apt-get -y install python3-plotly + apt-get -y install python3-seaborn + apt-get -y install python3-astropy + apt-get -y install python3-biopython + apt-get -y install python3-h5py + apt-get -y install python3-nltk + apt-get -y install python3-sympy + + # Install JupyterLab + apt-get -y install jupyter + pip3 install jupyterlab + + # Install MXNet python3 bindings + cd python + python3 setup.py install + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/omb/Singularity.omb-5.6.3-centos-7.8.2003-mvapich-2.3.2 b/definition-files/omb/Singularity.omb-5.6.3-centos-7.8.2003-mvapich-2.3.2 new file mode 100644 index 0000000000000000000000000000000000000000..58c04de5ba050b3db201513efd1bf205fee35e0d --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.6.3-centos-7.8.2003-mvapich-2.3.2 @@ -0,0 +1,72 @@ +Bootstrap: shub +From: mkandes/centos-mvapich:centos-7.8.2003-mvapich-2.3.2 + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200716 + +%setup + +%environment + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.3/collective:${PATH}" + export PATH="/opt/omb-5.6.3/one-sided:${PATH}" + export PATH="/opt/omb-5.6.3/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.3/startup:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7.8.2003/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # Set paths to MVAPICH2 binaries and libraries + export PATH="/opt/mvapich2-2.3.2/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/mvapich2-2.3.2/lib:${LD_LIBRARY_PATH}" + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + cd /tmp + + # Download, build, and install OSU Microbenchmarks + wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz + tar -xf osu-micro-benchmarks-5.6.3.tar.gz + cd osu-micro-benchmarks-5.6.3 + ./configure --prefix='/opt/omb-5.6.3' CC='mpicc' CXX='mpicxx' + make + make install + + # Reorganize OSU Microbenchmarks directory structure + cd /opt/omb-5.6.3 + mv libexec/osu-micro-benchmarks/mpi/collective ./ + mv libexec/osu-micro-benchmarks/mpi/one-sided ./ + mv libexec/osu-micro-benchmarks/mpi/pt2pt ./ + mv libexec/osu-micro-benchmarks/mpi/startup ./ + rm -rf libexec + + # Cleanup + package-cleanup -q --leaves | xargs -l1 yum -y remove + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/omb/Singularity.omb-5.6.3-centos-7.8.2003-openmpi-3.1.4 b/definition-files/omb/Singularity.omb-5.6.3-centos-7.8.2003-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..7671e8c442815e9e3d6f7a9b483c0b1040474799 --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.6.3-centos-7.8.2003-openmpi-3.1.4 @@ -0,0 +1,72 @@ +Bootstrap: shub +From: mkandes/centos-openmpi:centos-7.8.2003-openmpi-3.1.4 + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200716 + +%setup + +%environment + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.3/collective:${PATH}" + export PATH="/opt/omb-5.6.3/one-sided:${PATH}" + export PATH="/opt/omb-5.6.3/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.3/startup:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://mirror.centos.org/centos-7/7.8.2003/os/x86_64' + + # Set operating system version + export OSVERSION='7' + + # Set system locale + export LC_ALL=C + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Update all software packages to their latest versions + yum -y check-update && yum -y update + + cd /tmp + + # Download, build, and install OSU Microbenchmarks + wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz + tar -xf osu-micro-benchmarks-5.6.3.tar.gz + cd osu-micro-benchmarks-5.6.3 + ./configure --prefix='/opt/omb-5.6.3' CC='mpicc' CXX='mpicxx' + make + make install + + # Reorganize OSU Microbenchmarks directory structure + cd /opt/omb-5.6.3 + mv libexec/osu-micro-benchmarks/mpi/collective ./ + mv libexec/osu-micro-benchmarks/mpi/one-sided ./ + mv libexec/osu-micro-benchmarks/mpi/pt2pt ./ + mv libexec/osu-micro-benchmarks/mpi/startup ./ + rm -rf libexec + + # Cleanup + package-cleanup -q --leaves | xargs -l1 yum -y remove + yum -y clean all + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..79b4202761c87d0b1d334fdedea786540b048230 --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 @@ -0,0 +1,80 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda-openmpi:ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200716 + +%setup + +%environment + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.3/collective:${PATH}" + export PATH="/opt/omb-5.6.3/one-sided:${PATH}" + export PATH="/opt/omb-5.6.3/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.3/startup:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Download, build, and install OSU Microbenchmarks + wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz + tar -xf osu-micro-benchmarks-5.6.3.tar.gz + cd osu-micro-benchmarks-5.6.3 + ./configure --prefix='/opt/omb-5.6.3' CC='mpicc' CXX='mpicxx' --enable-cuda --with-cuda-include="${CUDA_HOME}/include" --with-cuda-libpath="${CUDA_HOME}/lib64" + make + make install + + # Reorganize OSU Microbenchmarks directory structure + cd /opt/omb-5.6.3 + mv libexec/osu-micro-benchmarks/mpi/collective ./ + mv libexec/osu-micro-benchmarks/mpi/one-sided ./ + mv libexec/osu-micro-benchmarks/mpi/pt2pt ./ + mv libexec/osu-micro-benchmarks/mpi/startup ./ + rm -rf libexec + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-mvapich-2.3.2 b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-mvapich-2.3.2 new file mode 100644 index 0000000000000000000000000000000000000000..dd34d75ddd420aadc32ed42d358f269c1092438e --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-mvapich-2.3.2 @@ -0,0 +1,75 @@ +Bootstrap: shub +From: mkandes/ubuntu-mvapich:ubuntu-18.04-mvapich-2.3.2 + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200714 + +%setup + +%environment + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.3/collective:${PATH}" + export PATH="/opt/omb-5.6.3/one-sided:${PATH}" + export PATH="/opt/omb-5.6.3/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.3/startup:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to MVAPICH2 binaries and libraries + export PATH="/opt/mvapich2-2.3.2/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/mvapich2-2.3.2/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Download, build, and install OSU Microbenchmarks + wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz + tar -xf osu-micro-benchmarks-5.6.3.tar.gz + cd osu-micro-benchmarks-5.6.3 + ./configure --prefix='/opt/omb-5.6.3' CC='mpicc' CXX='mpicxx' + make + make install + + # Reorganize OSU Microbenchmarks directory structure + cd /opt/omb-5.6.3 + mv libexec/osu-micro-benchmarks/mpi/collective ./ + mv libexec/osu-micro-benchmarks/mpi/one-sided ./ + mv libexec/osu-micro-benchmarks/mpi/pt2pt ./ + mv libexec/osu-micro-benchmarks/mpi/startup ./ + rm -rf libexec + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-openmpi-3.1.4 b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..a03d73bab9054da9dd39a01336df4619acd700d8 --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-openmpi-3.1.4 @@ -0,0 +1,75 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.4 + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200711 + +%setup + +%environment + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.3/collective:${PATH}" + export PATH="/opt/omb-5.6.3/one-sided:${PATH}" + export PATH="/opt/omb-5.6.3/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.3/startup:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Download, build, and install OSU Microbenchmarks + wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz + tar -xf osu-micro-benchmarks-5.6.3.tar.gz + cd osu-micro-benchmarks-5.6.3 + ./configure --prefix='/opt/omb-5.6.3' CC='mpicc' CXX='mpicxx' + make + make install + + # Reorganize OSU Microbenchmarks directory structure + cd /opt/omb-5.6.3 + mv libexec/osu-micro-benchmarks/mpi/collective ./ + mv libexec/osu-micro-benchmarks/mpi/one-sided ./ + mv libexec/osu-micro-benchmarks/mpi/pt2pt ./ + mv libexec/osu-micro-benchmarks/mpi/startup ./ + rm -rf libexec + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-openmpi-3.1.6 b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-openmpi-3.1.6 new file mode 100644 index 0000000000000000000000000000000000000000..1e649de37d2738eb762884369d772d826417d40c --- /dev/null +++ b/definition-files/omb/Singularity.omb-5.6.3-ubuntu-18.04-openmpi-3.1.6 @@ -0,0 +1,90 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.6 + +%labels + + APPLICATION_NAME OSU Microbenchmarks + APPLICATION_VERSION 5.6.3 + APPLICATION_URL http://mvapich.cse.ohio-state.edu/benchmarks + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200711 + +%setup + +%environment + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.3/collective:${PATH}" + export PATH="/opt/omb-5.6.3/one-sided:${PATH}" + export PATH="/opt/omb-5.6.3/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.3/startup:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set Mellanox OFED version number, operating system, and hardware + # platform + export MLNX_OFED_VERSION='4.7-3.2.9.0' + export MLNX_OS_VERSION='ubuntu18.04' + export MLNX_PLATFORM='x86_64' + + # Set OpenMPI major, minor, and revision versions, root and + # installation directories + export OPENMPI_MAJOR_VERSION=3 + export OPENMPI_MINOR_VERSION=1 + export OPENMPI_REVISION_VERSION=6 + export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}" + export OPENMPI_ROOT_DIR='/opt/openmpi' + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}" + + # Set paths to OpenMPI binaries and libraries + export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${OPENMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Download, build, and install OSU Microbenchmarks + wget http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz + tar -xf osu-micro-benchmarks-5.6.3.tar.gz + cd osu-micro-benchmarks-5.6.3 + ./configure --prefix='/opt/omb-5.6.3' CC='mpicc' CXX='mpicxx' + make + make install + + # Reorganize OSU Microbenchmarks directory structure + cd /opt/omb-5.6.3 + mv libexec/osu-micro-benchmarks/mpi/collective ./ + mv libexec/osu-micro-benchmarks/mpi/one-sided ./ + mv libexec/osu-micro-benchmarks/mpi/pt2pt ./ + mv libexec/osu-micro-benchmarks/mpi/startup ./ + rm -rf libexec + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/paraview/Singularity.paraview-5.8.1-ubuntu-18.04-openmpi-3.1.4-osmesa-20.1.5 b/definition-files/paraview/Singularity.paraview-5.8.1-ubuntu-18.04-openmpi-3.1.4-osmesa-20.1.5 new file mode 100644 index 0000000000000000000000000000000000000000..f8a41d349035c0946ca6e2384da0b9cf86787192 --- /dev/null +++ b/definition-files/paraview/Singularity.paraview-5.8.1-ubuntu-18.04-openmpi-3.1.4-osmesa-20.1.5 @@ -0,0 +1,260 @@ +Bootstrap: shub +From: mkandes/ubuntu-openmpi:ubuntu-18.04-openmpi-3.1.4 + +%labels + + APPLICATION_NAME Paraview + APPLICATION_VERSION 5.8.1 + APPLICATION_URL https://www.paraview.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200830 + +%setup + +%environment + + # Set LLVM version number, root and installation directories + export LLVM_VERSION='10.0.1' + export LLVM_ROOT_DIR='/opt/llvm' + export LLVM_INSTALL_DIR="${LLVM_ROOT_DIR}/${LLVM_VERSION}" + + # Set paths to LLVM binaries and libraries + export PATH="${LLVM_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${LLVM_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Set OSMESA version number, root and installation directories + export OSMESA_VERSION='20.1.5' + export OSMESA_ROOT_DIR='/opt/osmesa' + export OSMESA_INSTALL_DIR="${OSMESA_ROOT_DIR}/${OSMESA_VERSION}" + + # Set path to OSMESA library + export LD_LIBRARY_PATH="${OSMESA_INSTALL_DIR}/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}" + + # Set git-lfs version number, root and installation directories + export GIT_LFS_VERSION='2.11.0' + export GIT_LFS_ROOT_DIR='/opt/git-lfs' + export GIT_LFS_INSTALL_DIR="${GIT_LFS_ROOT_DIR}/${GIT_LFS_VERSION}" + + # Set path to git-lfs binary + export PATH="${GIT_LFS_ROOT_DIR}/${GIT_LFS_VERSION}/bin:${PATH}" + + # Set Paraview version number, root and installation directories + export PARAVIEW_VERSION='5.8.1' + export PARAVIEW_ROOT_DIR='/opt/paraview' + export PARAVIEW_INSTALL_DIR="${PARAVIEW_ROOT_DIR}/${PARAVIEW_VERSION}" + + # Set paths to Paraview binaries, libraries, and supporting python packages + export PATH="${PARAVIEW_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${PARAVIEW_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + export PYTHONPATH="${PARAVIEW_INSTALL_DIR}/lib:${PARAVIEW_INSTALL_DIR}/lib/python3.6/site-packages:${PYTHONPATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /tmp + + # Install dependencies and prerequisites for meson + apt-get -y install python3 + apt-get -y install python3-dev + apt-get -y install python3-pip + apt-get -y install python3-setuptools + apt-get -y install python3-wheel + apt-get -y install ninja-build + + # Install meson + pip3 install meson + + # Install dependencies and prerequisites for OSMesa + apt-get -y install bison + apt-get -y install clang + apt-get -y install cmake + apt-get -y install flex + apt-get -y install gcc + apt-get -y install python3-mako + + # Set LLVM version number, root and installation directories + export LLVM_VERSION='10.0.1' + export LLVM_ROOT_DIR='/opt/llvm' + export LLVM_INSTALL_DIR="${LLVM_ROOT_DIR}/${LLVM_VERSION}" + + # Download, build, and install a newer version of Clang/LLVM + export LLVM_VERSION='10.0.1' + export LLVM_ROOT_DIR='/opt/llvm' + export LLVM_INSTALL_DIR="${LLVM_ROOT_DIR}/${LLVM_VERSION}" + git clone https://github.com/llvm/llvm-project.git + cd llvm-project + git checkout "llvmorg-${LLVM_VERSION}" + mkdir build + cd build + cmake -GNinja \ + -DCMAKE_BUILD_TYPE='Release' \ + -DCMAKE_INSTALL_PREFIX="${LLVM_INSTALL_DIR}" \ + -DLLVM_ENABLE_PROJECTS='clang;libcxx;libcxxabi' \ + -DBUILD_SHARED_LIBS='ON' \ + -DLLVM_BUILD_LLVM_DYLIB='ON' \ + -DLLVM_ENABLE_RTTI='ON' \ + -DLLVM_INSTALL_UTILS='ON' \ + -DLLVM_TARGETS_TO_BUILD='X86' \ + ../llvm + ninja + ninja install + + # Set paths to LLVM binaries and libraries + export PATH="${LLVM_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${LLVM_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + cd /tmp + + # Remove LLVM build directory + rm -rf llvm-project + + # Set OSMESA version number, root and installation directories + export OSMESA_VERSION='20.1.5' + export OSMESA_ROOT_DIR='/opt/osmesa' + export OSMESA_INSTALL_DIR="${OSMESA_ROOT_DIR}/${OSMESA_VERSION}" + + # Download, build, and install OSMesa + wget "https://archive.mesa3d.org//mesa-${OSMESA_VERSION}.tar.xz" + tar -xf "mesa-${OSMESA_VERSION}.tar.xz" + cd "mesa-${OSMESA_VERSION}" + mkdir build + meson --buildtype=release \ + -Dprefix="${OSMESA_INSTALL_DIR}" \ + -Dopengl='true' \ + -Dgles1='false' \ + -Dgles2='false' \ + -Dgallium-omx='disabled' \ + -Dgallium-va='false' \ + -Dgallium-xa='false' \ + -Dgallium-xvmc='false' \ + -Dgallium-vdpau='false' \ + -Dshared-glapi='true' \ + -Dllvm='true' \ + -Dshared-llvm='true' \ + -Dosmesa='gallium' \ + -Dgallium-drivers='swrast,swr' \ + -Ddri3='false' \ + -Ddri-drivers=[] \ + -Degl='false' \ + -Dplatforms=[] \ + -Dgbm='false' \ + -Dglx='disabled' \ + -Dvulkan-drivers=[] \ + -Dshader-cache='auto' \ + build + ninja -C build + meson install -C build + + # Set path to OSMESA library + export LD_LIBRARY_PATH="${OSMESA_INSTALL_DIR}/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}" + + cd /tmp + + # Remove OSMESA build directory and source tarball + rm -rf "mesa-${OSMESA_VERSION}" + rm "mesa-${OSMESA_VERSION}.tar.gz" + + # Install dependencies and prerequisites required for Paraview + apt-get -y install cmake + apt-get -y install ffmpeg + apt-get -y install python3-dev + apt-get -y install python3-numpy + apt-get -y install python3-matplotlib + apt-get -y install python3-scipy + apt-get -y install libtbb-dev + + # Set git-lfs version number, root and installation directories + export GIT_LFS_VERSION='2.11.0' + export GIT_LFS_ROOT_DIR='/opt/git-lfs' + export GIT_LFS_INSTALL_DIR="${GIT_LFS_ROOT_DIR}/${GIT_LFS_VERSION}" + export GIT_LFS_ROOT_URL='https://github.com/git-lfs/git-lfs/releases/download' + + # Download and install git-lfs, which is a prerequiste for VTK-m + mkdir -p "${GIT_LFS_ROOT_DIR}/${GIT_LFS_VERSION}" + cd "${GIT_LFS_ROOT_DIR}/${GIT_LFS_VERSION}" + wget "${GIT_LFS_ROOT_URL}/v${GIT_LFS_VERSION}/git-lfs-linux-amd64-v${GIT_LFS_VERSION}.tar.gz" + tar -xf "git-lfs-linux-amd64-v${GIT_LFS_VERSION}.tar.gz" + ./install.sh + + # Set path to git-lfs binary + export PATH="${GIT_LFS_ROOT_DIR}/${GIT_LFS_VERSION}/bin:${PATH}" + + cd /tmp + + # Set Paraview version number, root and installation directories + export PARAVIEW_VERSION='5.8.1' + export PARAVIEW_ROOT_DIR='/opt/paraview' + export PARAVIEW_INSTALL_DIR="${PARAVIEW_ROOT_DIR}/${PARAVIEW_VERSION}" + + # Download, build, and install Paraview + git clone https://gitlab.kitware.com/paraview/paraview.git + cd paraview + git checkout v5.8.1 + git submodule update --init --recursive + cd ../ + mkdir build + cd build + cmake -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX='/opt/paraview/5.8.1' \ + -DPARAVIEW_BUILD_EDITION='CANONICAL' \ + -DPARAVIEW_BUILD_SHARED_LIBS=ON \ + -DPARAVIEW_USE_PYTHON=ON \ + -DPARAVIEW_USE_MPI=ON \ + -DPARAVIEW_USE_QT=OFF \ + -DVTK_USE_X=OFF \ + -DVTK_OPENGL_HAS_OSMESA=ON \ + -DOSMESA_INCLUDE_DIR='/opt/osmesa/20.1.5/include' \ + -DOSMESA_LIBRARY='/opt/osmesa/20.1.5/lib/x86_64-linux-gnu/libOSMesa.so' \ + -DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=ON \ + -DVTK_OPENGL_USE_GLES=OFF \ + -DVTK_OPENGL_HAS_EGL=OFF \ + -DVTK_SMP_IMPLEMENTATION_TYPE=TBB \ + ../paraview + ninja + ninja install + + # Set paths to Paraview binaries, libraries, and supporting python packages + export PATH="${PARAVIEW_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${PARAVIEW_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + export PYTHONPATH="${PARAVIEW_INSTALL_DIR}/lib:${PARAVIEW_INSTALL_DIR}/lib/python3.6/site-packages:${PYTHONPATH}" + + cd /tmp + + # Remove Paraview build and source directories + rm -rf build + rm -rf paraview + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/pytorch/Singularity.pytorch-1.5.0 b/definition-files/pytorch/Singularity.pytorch-1.5.0 new file mode 100644 index 0000000000000000000000000000000000000000..ab3984060ddc3bbbe12fbd69f943608a7901a18d --- /dev/null +++ b/definition-files/pytorch/Singularity.pytorch-1.5.0 @@ -0,0 +1,190 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda-openmpi:latest + +%labels + + APPLICATION_NAME pytorch + APPLICATION_VERSION 1.5.0 + APPLICATION_URL https://pytorch.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200511 + +%setup + +%environment + + # Set default miniconda environment + export PATH="/opt/miniconda3/bin:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + + # Set paths to OSU Microbenchmarks binaries + export PATH="/opt/omb-5.6.2/collective:${PATH}" + export PATH="/opt/omb-5.6.2/one-sided:${PATH}" + export PATH="/opt/omb-5.6.2/pt2pt:${PATH}" + export PATH="/opt/omb-5.6.2/startup:${PATH}" + + # Upgrade all packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install miniconda3 + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh + chmod +x Miniconda3-latest-Linux-x86_64.sh + ./Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3 + + # Setup conda environment + export PATH="/opt/miniconda3/bin:${PATH}" + export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"} + + # Install common python packages + conda install -y jupyterlab + conda install -y numpy + conda install -y matplotlib + conda install -y pandas + conda install -y plotly + conda install -y scipy + conda install -y scikit-learn + conda install -y scikit-image + conda install -y seaborn + conda install -y statsmodels + conda install -y opencv + + # Install GPU-accelerated python packages + conda install -y numba + + # Install additional python packages + conda install -y astropy + conda install -y biopython + conda install -y h5py + conda install -y nltk + conda install -y sympy + + # Install PyTorch dependencies + conda install -y numpy + conda install -y ninja + conda install -y pyyaml + conda install -y mkl + conda install -y mkl-include + conda install -y setuptools + conda install -y cmake + conda install -y cffi + conda install -y spacy -c conda-forge + #conda install -y sox -c conda-forge + apt-get -y install libsox-dev + + # Add LAPACK support for the GPU + conda install -y magma-cuda101 -c pytorch + + cd /opt + + # Download, build, and install PyTorch + git clone --recursive https://github.com/pytorch/pytorch + mv pytorch pytorch-1.5.0 + cd pytorch-1.5.0 + git checkout v1.5.0 + git submodule sync + git submodule update --init --recursive + + export CC='mpicc' + export CXX='mpicxx' + export CFLAGS='-mtune=generic' + + export BLAS='MKL' + export USE_FBGEMM=1 + export USE_MKLDNN=1 + export USE_NNPACK=1 + export USE_NUMPY=1 + export USE_QNNPACK=1 + + export USE_DISTRIBUTED=1 + export USE_IBVERBS=1 + export USE_GLOO=1 + export USE_MPI=1 + export USE_C10D_MPI=1 + export USE_NCCL=1 + export USE_SYSTEM_NCCL=1 + sed -i '77,80 s/^/#/' cmake/Modules/FindNCCL.cmake + + export USE_OPENMP=1 + export ATEN_THREADING='OMP' + export MKL_THREADING='OMP' + + export TORCH_CUDA_ARCH_LIST='3.0;3.5;3.7;5.2;6.0;6.1;7.0;7.5' + export USE_CUDA=1 + export USE_CUDNN=1 + + export USE_FFMPEG=0 + export USE_OPENCV=1 + + python setup.py install + + # Download and install vision package for PyTorch + git clone https://github.com/pytorch/vision.git + cd vision + git checkout v0.6.0 + python setup.py install + + cd ../ + + # Download and install text package for PyTorch + git clone https://github.com/pytorch/text.git + cd text + git checkout 0.6.0 + python setup.py install + + cd ../ + + # Download and install audio package for PyTorch + git clone https://github.com/pytorch/audio.git + cd audio + git checkout v0.5.0 + python setup.py install + + cd ../ + + # Download examples for PyTorch + git clone https://github.com/pytorch/examples.git + + # Install fastai for PyTorch + git clone https://github.com/fastai/fastai + cd fastai + git checkout 1.0.61 + tools/run-after-git-clone + pip install -e ".[dev]" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/stream/Singularity.stream-5.10-ubuntu-18.04 b/definition-files/stream/Singularity.stream-5.10-ubuntu-18.04 new file mode 100644 index 0000000000000000000000000000000000000000..1dc0f759d586bcef2884880ff2fcb9115275df54 --- /dev/null +++ b/definition-files/stream/Singularity.stream-5.10-ubuntu-18.04 @@ -0,0 +1,92 @@ +Bootstrap: shub +From: mkandes/ubuntu:ubuntu-18.04 + +%labels + + APPLICATION_NAME stream + APPLICATION_VERSION 5.10 + APPLICATION_URL http://www.cs.virginia.edu/stream + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200831 + +%setup + +%environment + + # Set STREAM version number, root and installation directories + export STREAM_VERSION='5.10' + export STREAM_ROOT_DIR='/opt/stream' + export STREAM_INSTALL_DIR="${STREAM_ROOT_DIR}/${STREAM_VERSION}" + + # Set path to stream binary + export PATH="${STREAM_INSTALL_DIR}/bin:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + cd /opt + + # Set STREAM version number, root and installation directories + export STREAM_VERSION='5.10' + export STREAM_ROOT_DIR='/opt/stream' + export STREAM_INSTALL_DIR="${STREAM_ROOT_DIR}/${STREAM_VERSION}" + + # Download, build, and install STREAM + mkdir -p "${STREAM_INSTALL_DIR}/bin" + cd "${STREAM_INSTALL_DIR}" + wget -r -np -nH --cut-dirs=1 --reject "index.html*" \ + "http://www.cs.virginia.edu/stream/FTP/Code/" + + STREAM_ARRAY_SIZE_EXPONENT_BEGIN=13 + STREAM_ARRAY_SIZE_EXPONENT_END=36 + for (( n = "${STREAM_ARRAY_SIZE_EXPONENT_BEGIN}"; \ + n <= "${STREAM_ARRAY_SIZE_EXPONENT_END}"; \ + n++ )); do + STREAM_ARRAY_SIZES+=("$((2**${n}))") + done + + STREAM_NTIMES=100 + STREAM_OFFSET=0 + + for STREAM_ARRAY_SIZE in "${STREAM_ARRAY_SIZES[@]}"; do + gcc -Ofast -march=native -fopenmp -mcmodel=large \ + -DSTREAM_ARRAY_SIZE="${STREAM_ARRAY_SIZE}" \ + -DNTIMES="${STREAM_NTIMES}" \ + -DOFFSET="${STREAM_OFFSET}" \ + -o stream_omp."${STREAM_ARRAY_SIZE}.x" FTP/Code/stream.c + done + + mv *.x "${STREAM_INSTALL_DIR}/bin" + + # Set path to stream binary + export PATH="${STREAM_INSTALL_DIR}/bin:${PATH}" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/tensorflow/Singularity.tensorflow-2.3.0 b/definition-files/tensorflow/Singularity.tensorflow-2.3.0 new file mode 100644 index 0000000000000000000000000000000000000000..36106d7386569e6e34f5df58987865fab987b60c --- /dev/null +++ b/definition-files/tensorflow/Singularity.tensorflow-2.3.0 @@ -0,0 +1,213 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda-openmpi:latest + +%labels + + APPLICATION_NAME tensorflow + APPLICATION_VERSION 2.3.0 + APPLICATION_URL https://www.tensorflow.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20201202 + +%setup + +%environment + + # Set paths to CUDA binaries and libraries + export CUDA_VERSION='10.1' + export CUDA_HOME="/usr/local/cuda-${CUDA_VERSION}" + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Set paths to OpenMPI binaries and libraries + export OPENMPI_VERSION='3.1.4' + export OPENMPI_ROOT_DIR="/opt/openmpi-${OPENMPI_VERSION}" + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}" + export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${OPENMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Set path to Bazel binary and libraries + export BAZEL_VERSION='3.5.0' + export BAZEL_ROOT_DIR='/opt/bazel' + export BAZEL_INSTALL_DIR="${BAZEL_ROOT_DIR}/${BAZEL_VERSION}" + export PATH="${BAZEL_INSTALL_DIR}/output:${PATH}" + + # Set TensorFlow version number, root and install directories + export TENSORFLOW_VERSION='2.3.0' + export TENSORFLOW_ROOT_DIR='/opt/tensorflow' + export TENSORFLOW_INSTALL_DIR="${TENSORFLOW_ROOT_DIR}/${TENSORFLOW_VERSION}" + + export PYTHONPATH="${TENSORFLOW_INSTALL_DIR}/models:${PYTHONPATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to CUDA binaries and libraries + export CUDA_VERSION='10.1' + export CUDA_HOME="/usr/local/cuda-${CUDA_VERSION}" + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Set paths to OpenMPI binaries and libraries + export OPENMPI_VERSION='3.1.4' + export OPENMPI_ROOT_DIR="/opt/openmpi-${OPENMPI_VERSION}" + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}" + export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${OPENMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + + # Upgrade all packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install python3 and some common core packages + apt-get -y install python3-dev + apt-get -y install python3-pip + apt-get -y install python3-setuptools + apt-get -y install python3-virtualenv + + # Install Bazel dependencies and prerequisites + apt-get -y install g++ + apt-get -y install unzip + apt-get -y install zip + apt-get -y install git + apt-get -y install openjdk-11-jdk + + # Set Bazel version number, root and installation directories + export BAZEL_VERSION='3.5.0' + export BAZEL_ROOT_DIR='/opt/bazel' + export BAZEL_INSTALL_DIR="${BAZEL_ROOT_DIR}/${BAZEL_VERSION}" + + # Download, build, and install Bazel + mkdir -p "${BAZEL_INSTALL_DIR}" + cd "${BAZEL_INSTALL_DIR}" + wget "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-dist.zip" + unzip -o "bazel-${BAZEL_VERSION}-dist.zip" + export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" + rm /usr/bin/python + ln -s /usr/bin/python3 /usr/bin/python + ./compile.sh + + # Set path to Bazel + export PATH="${BAZEL_INSTALL_DIR}/output:${PATH}" + + # Install common mathematical and scientific python3 packages + apt-get -y install python3-numpy + apt-get -y install python3-scipy + apt-get -y install python3-pandas + apt-get -y install python3-sklearn + apt-get -y install python3-skimage + apt-get -y install python3-statsmodels + apt-get -y install python3-matplotlib + apt-get -y install python3-plotly + apt-get -y install python3-seaborn + apt-get -y install python3-opencv + apt-get -y install python3-astropy + apt-get -y install python3-biopython + apt-get -y install python3-h5py + apt-get -y install python3-nltk + apt-get -y install python3-sympy + apt-get -y install python3-netcdf4 + + # Install JupyterLab + apt-get -y install jupyter + pip3 install jupyterlab + + # Install additioanl dependencies for TensorFlow + apt-get -y install python3-six + apt-get -y install python3-wheel + apt-get -y install python3-mock + apt-get -y install python3-future + + pip3 install keras_applications --no-deps + pip3 install keras_preprocessing --no-deps + + # Set TensorFlow version number, root and install directories + export TENSORFLOW_VERSION='2.3.0' + export TENSORFLOW_ROOT_DIR='/opt/tensorflow' + export TENSORFLOW_INSTALL_DIR="${TENSORFLOW_ROOT_DIR}/${TENSORFLOW_VERSION}" + + # Download, build, and install TensorFlow + mkdir -p "${TENSORFLOW_INSTALL_DIR}" + cd "${TENSORFLOW_INSTALL_DIR}" + git clone https://github.com/tensorflow/tensorflow.git + cd tensorflow + git checkout "v${TENSORFLOW_VERSION}" + + export PYTHON_BIN_PATH='/usr/bin/python3' + export PYTHON_LIB_PATH='/usr/local/lib/python3.6/dist-packages' + export TF_ENABLE_XLA=1 + export TF_NEED_OPENCL_SYCL=0 + export TF_NEED_ROCM=0 + export TF_NEED_CUDA=1 + export TF_NEED_TENSORRT=0 + #export TF_CUDA_COMPUTE_CAPABILITIES='3.5,3.7,5.2,6.0,6.1,7.0,7.5' + export TF_CUDA_COMPUTE_CAPABILITIES='3.7,6.0,7.0' + export TF_CUDA_CLANG=0 + export TF_NEED_MPI=1 + export MPI_HOME="${OPENMPI_INSTALL_DIR}" + export CC_OPT_FLAGS='-mtune=generic' + export TF_SET_ANDROID_WORKSPACE=0 + + #bazel build --local_ram_resources 2048 --local_cpu_resources 1 -c opt --config=cuda --config=numa --config=v2 --verbose_failures //tensorflow/tools/pip_package:build_pip_package + bazel build -c opt --config=cuda --config=numa --config=v2 --verbose_failures //tensorflow/tools/pip_package:build_pip_package + bazel-bin/tensorflow/tools/pip_package/build_pip_package tensorflow_pkg + pip3 install tensorflow_pkg/tensorflow-2.3.0-cp36-cp36m-linux_x86_64.whl + + cd "${TENSORFLOW_INSTALL_DIR}" + + # Download, build and install TensorFlow Addons + git clone https://github.com/tensorflow/addons.git + cd addons + git checkout v0.11.2 + + export TF_NEED_CUDA=1 + export TF_CUDA_VERSION="${CUDA_VERSION}" + export TF_CUDNN_VERSION=7 + export CUDA_TOOLKIT_PATH="${CUDA_HOME}" + export CUDNN_INSTALL_PATH='/usr/lib/x86_64-linux-gnu' + + python3 ./configure.py + + rm /usr/bin/python + ln -s /usr/bin/python3 /usr/bin/python + + bazel build --enable_runfiles build_pip_pkg + bazel-bin/build_pip_pkg artifacts + pip3 install artifacts/tensorflow_addons-*.whl + + cd "${TENSORFLOW_INSTALL_DIR}" + + # Download and install TensorFlow Models + git clone https://github.com/tensorflow/models.git + cd models + git checkout "v${TENSORFLOW_VERSION}" + export PYTHONPATH="${TENSORFLOW_INSTALL_DIR}/models:${PYTHONPATH}" + sed -i 's/kaggle>=1.3.9/#kaggle>=1.3.9/' official/requirements.txt + pip3 install scikit-build + pip3 install -r official/requirements.txt + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04 b/definition-files/ubuntu/Singularity.ubuntu-18.04 new file mode 100644 index 0000000000000000000000000000000000000000..6ac8025a0f1875e17434b5a858b2d432a5bf2072 --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04 @@ -0,0 +1,98 @@ +Bootstrap: debootstrap +MirrorURL: http://us.archive.ubuntu.com/ubuntu +OSVersion: bionic + +%labels + + APPLICATION_NAME ubuntu + APPLICATION_VERSION 18.04 + APPLICATION_URL https://www.ubuntu.com + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200809 + +%setup + +%environment + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL=C + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Install system metapackages + apt-get -y install ubuntu-standard + apt-get -y install ubuntu-server + + # Add repositories + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security restricted" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install common packages from 'main' + apt-get -y install autoconf + apt-get -y install automake + apt-get -y install build-essential + apt-get -y install cmake + apt-get -y install expect + apt-get -y install gfortran + apt-get -y install libtool + apt-get -y install mlocate + apt-get -y install pkg-config + apt-get -y install wget + apt-get -y install zip + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.1.168 b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.1.168 new file mode 100644 index 0000000000000000000000000000000000000000..25f4f59d6d92e40ff9066a13aed6f2e0024d0c66 --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.1.168 @@ -0,0 +1,475 @@ +Bootstrap: shub +From: mkandes/ubuntu:ubuntu-18.04 + +%labels + + APPLICATION_NAME ubuntu + cuda + APPLICATION_VERSION 18.04 + 10.1.168 + APPLICATION_URL https://developer.nvidia.com/cuda-zone + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200714 + +%setup + +%environment + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Location of NVIDIA repositories + export NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' + export CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/ubuntu1804/x86_64" + export ML_REPO_URL="${NVIDIA_ROOT_URL}/machine-learning/repos/ubuntu1804/x86_64" + + # Install NVIDIA package dependencies + apt-get -y install x11-common + apt-get -y install xserver-xorg-core + apt-get -y install xserver-xorg-legacy + apt-get -y install cmake + apt-get -y install make + apt-get -y install dkms + apt-get -y install linux-libc-dev + apt-get -y install libc6-dev + apt-get -y install lib32gcc1 + apt-get -y install libc6-i386 + apt-get -y install libgl1 + apt-get -y install libwayland-client0 + apt-get -y install libwayland-server0 + apt-get -y install pkg-config + apt-get -y install screen-resolution-extra + apt-get -y install libvdpau1 + apt-get -y install libatk1.0-0 + apt-get -y install libcairo-gobject2 + apt-get -y install libcairo2 + apt-get -y install libfontconfig1 + apt-get -y install libgdk-pixbuf2.0-0 + apt-get -y install libgtk-3-0 + apt-get -y install libgtk2.0-0 + apt-get -y install libjansson4 + apt-get -y install freeglut3-dev + apt-get -y install libx11-dev + apt-get -y install libxmu-dev + apt-get -y install libxi-dev + apt-get -y install libglu1-mesa + apt-get -y install libglu1-mesa-dev + apt-get -y install default-jre + + cd /tmp + + # Fix for "update-alternatives: error: error creating symbolic link '/usr/lib/nvidia/alternate-install-present.dpkg-tmp': No such file or directory" + mkdir -p /usr/lib/nvidia + + # Download and install NVIDIA/CUDA drivers, libraries, and packages + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-common-440_440.33.01-0ubuntu1_all.deb" + dpkg -i libnvidia-common-440_440.33.01-0ubuntu1_all.deb + rm libnvidia-common-440_440.33.01-0ubuntu1_all.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-compute-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-compute-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-compute-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-cfg1-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-cfg1-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-cfg1-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-decode-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-decode-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-decode-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-encode-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-encode-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-encode-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-fbc1-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-fbc1-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-fbc1-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-gl-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-gl-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-gl-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-ifr1-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libnvidia-ifr1-440_440.33.01-0ubuntu1_amd64.deb + rm libnvidia-ifr1-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libxnvctrl0_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libxnvctrl0_440.33.01-0ubuntu1_amd64.deb + rm libxnvctrl0_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libxnvctrl-dev_440.33.01-0ubuntu1_amd64.deb" + dpkg -i libxnvctrl-dev_440.33.01-0ubuntu1_amd64.deb + rm libxnvctrl-dev_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-kernel-source-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-kernel-source-440_440.33.01-0ubuntu1_amd64.deb + rm nvidia-kernel-source-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-kernel-common-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-kernel-common-440_440.33.01-0ubuntu1_amd64.deb + rm nvidia-kernel-common-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-dkms-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-dkms-440_440.33.01-0ubuntu1_amd64.deb + rm nvidia-dkms-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-compute-utils-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-compute-utils-440_440.33.01-0ubuntu1_amd64.deb + rm nvidia-compute-utils-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-utils-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-utils-440_440.33.01-0ubuntu1_amd64.deb + rm nvidia-utils-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/xserver-xorg-video-nvidia-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i xserver-xorg-video-nvidia-440_440.33.01-0ubuntu1_amd64.deb + rm xserver-xorg-video-nvidia-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-driver-440_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-driver-440_440.33.01-0ubuntu1_amd64.deb + rm nvidia-driver-440_440.33.01-0ubuntu1_amd64.deb + + #wget -N --wait=10 "${CUDA_REPO_URL}/libnvidia-diagnostic-440_440.33.01-0ubuntu1_amd64.deb" + #dpkg -i libnvidia-diagnostic-440_440.33.01-0ubuntu1_amd64.deb + #rm libnvidia-diagnostic-440_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-modprobe_440.33.01-0ubuntu1_amd64.deb + rm nvidia-modprobe_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/nvidia-settings_440.33.01-0ubuntu1_amd64.deb" + dpkg -i nvidia-settings_440.33.01-0ubuntu1_amd64.deb + rm nvidia-settings_440.33.01-0ubuntu1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-drivers_440.33.01-1_amd64.deb" + dpkg -i cuda-drivers_440.33.01-1_amd64.deb + rm cuda-drivers_440.33.01-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-drivers-diagnostic_440.33.01-1_amd64.deb" + dpkg -i cuda-drivers-diagnostic_440.33.01-1_amd64.deb + rm cuda-drivers-diagnostic_440.33.01-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-compat-10-1_440.33.01-1_amd64.deb" + dpkg -i cuda-compat-10-1_440.33.01-1_amd64.deb + rm cuda-compat-10-1_440.33.01-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-license-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-license-10-1_10.1.168-1_amd64.deb + rm cuda-license-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-misc-headers-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-misc-headers-10-1_10.1.168-1_amd64.deb + rm cuda-misc-headers-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvcc-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvcc-10-1_10.1.168-1_amd64.deb + rm cuda-nvcc-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cuobjdump-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cuobjdump-10-1_10.1.168-1_amd64.deb + rm cuda-cuobjdump-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvprune-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvprune-10-1_10.1.168-1_amd64.deb + rm cuda-nvprune-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-compiler-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-compiler-10-1_10.1.168-1_amd64.deb + rm cuda-compiler-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cudart-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cudart-10-1_10.1.168-1_amd64.deb + rm cuda-cudart-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-driver-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-driver-dev-10-1_10.1.168-1_amd64.deb + rm cuda-driver-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cudart-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cudart-dev-10-1_10.1.168-1_amd64.deb + rm cuda-cudart-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvdisasm-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvdisasm-10-1_10.1.168-1_amd64.deb + rm cuda-nvdisasm-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-gdb-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-gdb-10-1_10.1.168-1_amd64.deb + rm cuda-gdb-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvprof-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvprof-10-1_10.1.168-1_amd64.deb + rm cuda-nvprof-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-memcheck-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-memcheck-10-1_10.1.168-1_amd64.deb + rm cuda-memcheck-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cupti-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cupti-10-1_10.1.168-1_amd64.deb + rm cuda-cupti-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-gpu-library-advisor-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-gpu-library-advisor-10-1_10.1.168-1_amd64.deb + rm cuda-gpu-library-advisor-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvtx-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvtx-10-1_10.1.168-1_amd64.deb + rm cuda-nvtx-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-sanitizer-api-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-sanitizer-api-10-1_10.1.168-1_amd64.deb + rm cuda-sanitizer-api-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-command-line-tools-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-command-line-tools-10-1_10.1.168-1_amd64.deb + rm cuda-command-line-tools-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvrtc-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvrtc-10-1_10.1.168-1_amd64.deb + rm cuda-nvrtc-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvrtc-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvrtc-dev-10-1_10.1.168-1_amd64.deb + rm cuda-nvrtc-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvml-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvml-dev-10-1_10.1.168-1_amd64.deb + rm cuda-nvml-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvgraph-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvgraph-10-1_10.1.168-1_amd64.deb + rm cuda-nvgraph-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvgraph-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvgraph-dev-10-1_10.1.168-1_amd64.deb + rm cuda-nvgraph-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvjpeg-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvjpeg-10-1_10.1.168-1_amd64.deb + rm cuda-nvjpeg-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvjpeg-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvjpeg-dev-10-1_10.1.168-1_amd64.deb + rm cuda-nvjpeg-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusolver-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cusolver-10-1_10.1.168-1_amd64.deb + rm cuda-cusolver-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusolver-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cusolver-dev-10-1_10.1.168-1_amd64.deb + rm cuda-cusolver-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libcublas10_10.2.0.168-1_amd64.deb" + dpkg -i libcublas10_10.2.0.168-1_amd64.deb + rm libcublas10_10.2.0.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libcublas-dev_10.2.0.168-1_amd64.deb" + dpkg -i libcublas-dev_10.2.0.168-1_amd64.deb + rm libcublas-dev_10.2.0.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cufft-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cufft-10-1_10.1.168-1_amd64.deb + rm cuda-cufft-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cufft-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cufft-dev-10-1_10.1.168-1_amd64.deb + rm cuda-cufft-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-curand-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-curand-10-1_10.1.168-1_amd64.deb + rm cuda-curand-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-curand-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-curand-dev-10-1_10.1.168-1_amd64.deb + rm cuda-curand-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusparse-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cusparse-10-1_10.1.168-1_amd64.deb + rm cuda-cusparse-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-cusparse-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-cusparse-dev-10-1_10.1.168-1_amd64.deb + rm cuda-cusparse-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-npp-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-npp-10-1_10.1.168-1_amd64.deb + rm cuda-npp-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-npp-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-npp-dev-10-1_10.1.168-1_amd64.deb + rm cuda-npp-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-samples-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-samples-10-1_10.1.168-1_amd64.deb + rm cuda-samples-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-documentation-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-documentation-10-1_10.1.168-1_amd64.deb + rm cuda-documentation-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nsight-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nsight-10-1_10.1.168-1_amd64.deb + rm cuda-nsight-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nsight-compute-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nsight-compute-10-1_10.1.168-1_amd64.deb + rm cuda-nsight-compute-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nsight-systems-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nsight-systems-10-1_10.1.168-1_amd64.deb + rm cuda-nsight-systems-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-nvvp-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-nvvp-10-1_10.1.168-1_amd64.deb + rm cuda-nvvp-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-visual-tools-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-visual-tools-10-1_10.1.168-1_amd64.deb + rm cuda-visual-tools-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-tools-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-tools-10-1_10.1.168-1_amd64.deb + rm cuda-tools-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-libraries-dev-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-libraries-dev-10-1_10.1.168-1_amd64.deb + rm cuda-libraries-dev-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-toolkit-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-toolkit-10-1_10.1.168-1_amd64.deb + rm cuda-toolkit-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-libraries-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-libraries-10-1_10.1.168-1_amd64.deb + rm cuda-libraries-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-runtime-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-runtime-10-1_10.1.168-1_amd64.deb + rm cuda-runtime-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-demo-suite-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-demo-suite-10-1_10.1.168-1_amd64.deb + rm cuda-demo-suite-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/cuda-10-1_10.1.168-1_amd64.deb" + dpkg -i cuda-10-1_10.1.168-1_amd64.deb + rm cuda-10-1_10.1.168-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libcutensor1_1.0.0-1_amd64.deb" + dpkg -i libcutensor1_1.0.0-1_amd64.deb + rm libcutensor1_1.0.0-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libcutensor-dev_1.0.0-1_amd64.deb" + dpkg -i libcutensor-dev_1.0.0-1_amd64.deb + rm libcutensor-dev_1.0.0-1_amd64.deb + + wget -N --wait=10 "${CUDA_REPO_URL}/libcutensor-doc_1.0.0-1_amd64.deb" + dpkg -i libcutensor-doc_1.0.0-1_amd64.deb + rm libcutensor-doc_1.0.0-1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb" + dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb + rm libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb" + dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb + rm libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnccl2_2.5.6-1+cuda10.1_amd64.deb" + dpkg -i libnccl2_2.5.6-1+cuda10.1_amd64.deb + rm libnccl2_2.5.6-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnccl-dev_2.5.6-1+cuda10.1_amd64.deb" + dpkg -i libnccl-dev_2.5.6-1+cuda10.1_amd64.deb + rm libnccl-dev_2.5.6-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer6_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvinfer6_6.0.1-1+cuda10.1_amd64.deb + rm libnvinfer6_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer-dev_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvinfer-dev_6.0.1-1+cuda10.1_amd64.deb + rm libnvinfer-dev_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer-plugin6_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvinfer-plugin6_6.0.1-1+cuda10.1_amd64.deb + rm libnvinfer-plugin6_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvinfer-plugin-dev_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvinfer-plugin-dev_6.0.1-1+cuda10.1_amd64.deb + rm libnvinfer-plugin-dev_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvonnxparsers6_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvonnxparsers6_6.0.1-1+cuda10.1_amd64.deb + rm libnvonnxparsers6_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvonnxparsers-dev_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvonnxparsers-dev_6.0.1-1+cuda10.1_amd64.deb + rm libnvonnxparsers-dev_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvparsers6_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvparsers6_6.0.1-1+cuda10.1_amd64.deb + rm libnvparsers6_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/libnvparsers-dev_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i libnvparsers-dev_6.0.1-1+cuda10.1_amd64.deb + rm libnvparsers-dev_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/python3-libnvinfer_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i python3-libnvinfer_6.0.1-1+cuda10.1_amd64.deb + rm python3-libnvinfer_6.0.1-1+cuda10.1_amd64.deb + + wget -N --wait=10 "${ML_REPO_URL}/python3-libnvinfer-dev_6.0.1-1+cuda10.1_amd64.deb" + dpkg -i python3-libnvinfer-dev_6.0.1-1+cuda10.1_amd64.deb + rm python3-libnvinfer-dev_6.0.1-1+cuda10.1_amd64.deb + + # Fix path-related issues associated with *.deb-based install of libcudnn and libnccl + cp /usr/lib/x86_64-linux-gnu/libcudnn_static.a /usr/local/cuda-10.1/lib64/libcudnn_static.a + cp /usr/lib/x86_64-linux-gnu/libcudnn_static_v7.a /usr/local/cuda-10.1/lib64/libcudnn_static_v7.a + cp /usr/lib/x86_64-linux-gnu/libcudnn.so.7.6.5 /usr/local/cuda-10.1/lib64/libcudnn.so.7.6.5 + ln -s /usr/local/cuda-10.1/lib64/libcudnn.so.7.6.5 /usr/local/cuda-10.1/lib64/libcudnn.so.7 + ln -s /usr/local/cuda-10.1/lib64/libcudnn.so.7 /usr/local/cuda-10.1/lib64/libcudnn.so + cp /usr/lib/x86_64-linux-gnu/libnccl_static.a /usr/local/cuda-10.1/lib64/libnccl_static.a + cp /usr/lib/x86_64-linux-gnu/libnccl.so.2.5.6 /usr/local/cuda-10.1/lib64/libnccl.so.2.5.6 + ln -s /usr/local/cuda-10.1/lib64/libnccl.so.2.5.6 /usr/local/cuda-10.1/lib64/libnccl.so.2 + ln -s /usr/local/cuda-10.1/lib64/libnccl.so.2 /usr/local/cuda-10.1/lib64/libnccl.so + cp /usr/include/nccl.h /usr/local/cuda-10.1/include/nccl.h + ln -s /usr/local/cuda-10.1/lib64 /usr/local/cuda-10.1/lib + + #https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/7.0/7.0.0.11/local_repo/nv-tensorrt-repo-ubuntu1804-cuda10.0-trt7.0.0.11-ga-20191216_1-1_amd64.deb + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..1c2585022f54fdf9d9027f8d9c555c77730be80e --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-cuda-10.1.168-openmpi-3.1.4 @@ -0,0 +1,98 @@ +Bootstrap: shub +From: mkandes/ubuntu-cuda:ubuntu-18.04-cuda-10.1.168 + +%labels + + APPLICATION_NAME ubuntu + cuda + openmpi + APPLICATION_VERSION 18.04 + 10.1.168 + 3.1.4 + APPLICATION_URL https://www.open-mpi.org/faq/?category=runcuda + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200715 + +%setup + +%environment + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set paths to CUDA binaries and libraries + export CUDA_HOME='/usr/local/cuda-10.1' + export PATH="${CUDA_HOME}/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install basic drivers for user space access to Ethernet, RDMA, + # and Infiniband. See https://community.mellanox.com/docs/DOC-2431 + apt-get -y install dkms + apt-get -y install infiniband-diags + apt-get -y install libibverbs-dev + apt-get -y install ibacm + apt-get -y install librdmacm-dev + #apt-get -y install libmlx4-dev + #apt-get -y install libmlx5-dev + apt-get -y install mstflint + #apt-get -y install libibcm-dev + apt-get -y install libibmad-dev + apt-get -y install libibumad-dev + apt-get -y install opensm + apt-get -y install srptools + + # Install additional tools + apt-get -y install ibutils + apt-get -y install ibverbs-utils + apt-get -y install rdmacm-utils + apt-get -y install perftest + apt-get -y install numactl + apt-get -y install libnuma-dev + + # Install libnl + apt-get -y install libnl-3-200 + apt-get -y install libnl-route-3-200 + apt-get -y install libnl-route-3-dev + apt-get -y install libnl-utils + + # Install OpenMPI dependencies + apt-get -y install zlib1g-dev + + cd /tmp + + # Download, build, and install OpenMPI + wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.4.tar.gz + tar -xf openmpi-3.1.4.tar.gz + cd openmpi-3.1.4 + ./configure --prefix=/opt/openmpi-3.1.4 --with-cuda + make all install + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-mvapich-2.3.2 b/definition-files/ubuntu/Singularity.ubuntu-18.04-mvapich-2.3.2 new file mode 100644 index 0000000000000000000000000000000000000000..2b3798fce6819897ffb03954c959ca0016157d59 --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-mvapich-2.3.2 @@ -0,0 +1,94 @@ +Bootstrap: shub +From: mkandes/ubuntu:ubuntu-18.04 + +%labels + + APPLICATION_NAME ubuntu + mvapich + APPLICATION_VERSION 18.04 + 2.3.2 + APPLICATION_URL https://mvapich.cse.ohio-state.edu + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200714 + +%setup + +%environment + + # Set paths to MVAPICH2 binaries and libraries + export PATH="/opt/mvapich2-2.3.2/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/mvapich2-2.3.2/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install basic drivers for user space access to Ethernet, RDMA, + # and Infiniband. See https://community.mellanox.com/docs/DOC-2431 + apt-get -y install dkms + apt-get -y install infiniband-diags + apt-get -y install libibverbs-dev + apt-get -y install ibacm + apt-get -y install librdmacm-dev + #apt-get -y install libmlx4-dev + #apt-get -y install libmlx5-dev + apt-get -y install mstflint + #apt-get -y install libibcm-dev + apt-get -y install libibmad-dev + apt-get -y install libibumad-dev + apt-get -y install opensm + apt-get -y install srptools + + # Install additional tools + apt-get -y install ibutils + apt-get -y install ibverbs-utils + apt-get -y install rdmacm-utils + apt-get -y install perftest + apt-get -y install numactl + apt-get -y install libnuma-dev + + # Install libnl + apt-get -y install libnl-3-200 + apt-get -y install libnl-route-3-200 + apt-get -y install libnl-route-3-dev + apt-get -y install libnl-utils + + # Install mvapich2 (build) dependencies + apt-get -y install bison + + cd /tmp + + # Download, build, and install mvapich2 + wget http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.2.tar.gz + tar -xzvf mvapich2-2.3.2.tar.gz + cd mvapich2-2.3.2 + ./configure --prefix=/opt/mvapich2-2.3.2 + make + make install + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-3.1.4 b/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-3.1.4 new file mode 100644 index 0000000000000000000000000000000000000000..6e84fe5869dda408a9c4c6b46e310be1022d1df7 --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-3.1.4 @@ -0,0 +1,94 @@ +Bootstrap: shub +From: mkandes/ubuntu:ubuntu-18.04 + +%labels + + APPLICATION_NAME ubuntu + openmpi + APPLICATION_VERSION 18.04 + 3.1.4 + APPLICATION_URL https://www.open-mpi.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200809 + +%setup + +%environment + + # Set paths to OpenMPI binaries and libraries + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install basic drivers for user space access to Ethernet, RDMA, + # and Infiniband. See https://community.mellanox.com/docs/DOC-2431 + apt-get -y install dkms + + apt-get -y install infiniband-diags + apt-get -y install libibverbs-dev + apt-get -y install ibacm + apt-get -y install librdmacm-dev + #apt-get -y install libmlx4-dev + #apt-get -y install libmlx5-dev + apt-get -y install mstflint + #apt-get -y install libibcm-dev + apt-get -y install libibmad-dev + apt-get -y install libibumad-dev + apt-get -y install opensm + apt-get -y install srptools + + # Install additional tools + apt-get -y install ibutils + apt-get -y install ibverbs-utils + apt-get -y install rdmacm-utils + apt-get -y install perftest + apt-get -y install numactl + apt-get -y install libnuma-dev + + # Install libnl + apt-get -y install libnl-3-200 + apt-get -y install libnl-route-3-200 + apt-get -y install libnl-route-3-dev + apt-get -y install libnl-utils + + # Install OpenMPI dependencies + apt-get -y install zlib1g-dev + + cd /tmp + + # Download, build, and install OpenMPI + wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.4.tar.gz + tar -xf openmpi-3.1.4.tar.gz + cd openmpi-3.1.4 + ./configure --prefix=/opt/openmpi-3.1.4 + make all install + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-3.1.6 b/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-3.1.6 new file mode 100644 index 0000000000000000000000000000000000000000..dcc6fd0f5d2fc7cd2129b9489b47391a65ad5d43 --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-openmpi-3.1.6 @@ -0,0 +1,132 @@ +Bootstrap: shub +From: mkandes/ubuntu:ubuntu-18.04 + +%labels + + APPLICATION_NAME ubuntu + openmpi + APPLICATION_VERSION 18.04 + 3.1.6 + APPLICATION_URL https://www.open-mpi.org + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200809 + +%setup + +%environment + + # Set Mellanox OFED version number, operating system, and hardware + # platform + export MLNX_OFED_VERSION='4.7-3.2.9.0' + export MLNX_OS_VERSION='ubuntu18.04' + export MLNX_PLATFORM='x86_64' + + # Set OpenMPI major, minor, and revision versions, root and + # installation directories + export OPENMPI_MAJOR_VERSION=3 + export OPENMPI_MINOR_VERSION=1 + export OPENMPI_REVISION_VERSION=6 + export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}" + export OPENMPI_ROOT_DIR='/opt/openmpi' + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}" + + # Set paths to OpenMPI binaries and libraries + export PATH="${OPENMPI_INSTALL_DIR}/bin:${PATH}" + export LD_LIBRARY_PATH="${OPENMPI_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install all dependencies and/or prerequisites for Mellanox OFED + apt-get -y install bison + apt-get -y install chrpath + apt-get -y install debhelper + apt-get -y install dpatch + apt-get -y install flex + apt-get -y install graphviz + apt-get -y install libnl-3-dev + apt-get -y install libnl-route-3-200 + apt-get -y install tcl-dev + apt-get -y install tk-dev + apt-get -y install swig + + cd /tmp + + # Set Mellanox OFED version number, operating system, and hardware + # platform + export MLNX_OFED_VERSION='4.7-3.2.9.0' + export MLNX_OS_VERSION='ubuntu18.04' + export MLNX_PLATFORM='x86_64' + + # Download and install Mellanox OFED drivers and supporting + # libraries for userspace access to Ethernet, RDMA, and Infiniband. + # https://docs.mellanox.com/pages/releaseview.action?pageId=15049785 + wget "http://www.mellanox.com/downloads/ofed/MLNX_OFED-${MLNX_OFED_VERSION}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz" + tar -xf "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz" + cd "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}" + ./mlnxofedinstall --user-space-only --without-fw-update --force + + cd /tmp + + # Remove Mellanox OFED archive directory and tarball + rm -rf "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}" + rm "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz" + + # Install additional tools + apt-get -y install numactl + apt-get -y install libnuma-dev + + # Install OpenMPI dependencies + apt-get -y install zlib1g-dev + + cd /tmp + + # Set OpenMPI major, minor, and revision versions, root and + # installation directories + export OPENMPI_MAJOR_VERSION=3 + export OPENMPI_MINOR_VERSION=1 + export OPENMPI_REVISION_VERSION=6 + export OPENMPI_VERSION="${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}.${OPENMPI_REVISION_VERSION}" + export OPENMPI_ROOT_DIR='/opt/openmpi' + export OPENMPI_INSTALL_DIR="${OPENMPI_ROOT_DIR}/${OPENMPI_VERSION}" + + # Download, build, and install OpenMPI + wget "https://download.open-mpi.org/release/open-mpi/v${OPENMPI_MAJOR_VERSION}.${OPENMPI_MINOR_VERSION}/openmpi-${OPENMPI_VERSION}.tar.gz" + tar -xf "openmpi-${OPENMPI_VERSION}.tar.gz" + cd "openmpi-${OPENMPI_VERSION}" + ./configure --prefix="${OPENMPI_INSTALL_DIR}" + make all install + + cd /tmp + + # Remove OpenMPI build directory and source tarball + rm -rf "openmpi-${OPENMPI_VERSION}" + rm "openmpi-${OPENMPI_VERSION}.tar.gz" + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/ubuntu/Singularity.ubuntu-20.04 b/definition-files/ubuntu/Singularity.ubuntu-20.04 new file mode 100644 index 0000000000000000000000000000000000000000..67d482119f6434cbba2c06397ea7650a6b61051d --- /dev/null +++ b/definition-files/ubuntu/Singularity.ubuntu-20.04 @@ -0,0 +1,98 @@ +Bootstrap: debootstrap +MirrorURL: http://us.archive.ubuntu.com/ubuntu +OSVersion: focal + +%labels + + APPLICATION_NAME ubuntu + APPLICATION_VERSION 20.04 + APPLICATION_URL https://www.ubuntu.com + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200809 + +%setup + +%environment + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='focal' + + # Set system locale + export LC_ALL='C' + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='focal' + + # Set system locale + export LC_ALL=C + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Install system metapackages + apt-get -y install ubuntu-standard + apt-get -y install ubuntu-server + + # Add repositories + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION} restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-updates restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-backports restricted" + + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security main" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security universe" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security multiverse" + add-apt-repository -y "deb ${MIRRORURL} ${OSVERSION}-security restricted" + + # Upgrade all software packages to their latest versions + apt-get -y update && apt-get -y upgrade + + # Install common packages from 'main' + apt-get -y install autoconf + apt-get -y install automake + apt-get -y install build-essential + apt-get -y install cmake + apt-get -y install expect + apt-get -y install gfortran + apt-get -y install libtool + apt-get -y install mlocate + apt-get -y install pkg-config + apt-get -y install wget + apt-get -y install zip + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/xcrysden/Singularity.xcrysden-1.6.2 b/definition-files/xcrysden/Singularity.xcrysden-1.6.2 new file mode 100644 index 0000000000000000000000000000000000000000..05a4824ee523275f6a3a796d024572e430689744 --- /dev/null +++ b/definition-files/xcrysden/Singularity.xcrysden-1.6.2 @@ -0,0 +1,80 @@ +Bootstrap: shub +From: mkandes/ubuntu:latest + +%labels + + APPLICATION_NAME xcrysden + APPLICATION_VERSION 1.6.2 + APPLICATION_URL http://www.xcrysden.org + + SINGULARITY_VERSION 2.6.1 + SINGULARITY_IMAGE_SIZE 2048 + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200413 + +%setup + +%environment + + # Set path to XCrySDen + export PATH="/opt/xcrysden-1.6.2:${PATH}" + +%post -c /bin/bash + + # Set operating system mirror URL + export MIRRORURL='http://us.archive.ubuntu.com/ubuntu' + + # Set operating system version + export OSVERSION='bionic' + + # Set system locale + export LC_ALL=C + + # Set debian frontend interface + export DEBIAN_FRONTEND='noninteractive' + + # Set path to miniconda + export PATH="/opt/miniconda3/bin:${PATH}" + + # Install XCrySDen dependencies + apt-get -y install xorg + apt-get -y install xorg-dev + apt-get -y install xorg-docs + apt-get -y install xorg-docs-core + apt-get -y install tcl + apt-get -y install tcl-dev + apt-get -y install tcl-doc + apt-get -y install tk + apt-get -y install tk-dev + apt-get -y install tk-doc + apt-get -y install libtogl-dev + apt-get -y install bwidget + apt-get -y install libfftw3-dev + apt-get -y install freeglut3-dev + + cd /opt + + # Download, build, and install XCrySDen + wget http://www.xcrysden.org/download/xcrysden-1.6.2.tar.gz + tar -xf xcrysden-1.6.2.tar.gz + cd xcrysden-1.6.2 + cp system/Make.sys-shared Make.sys + make all + cd ../ + rm xcrysden-1.6.2.tar.gz + + # Cleanup + apt-get -y autoremove --purge + apt-get -y clean + + # Update database for mlocate + updatedb + +%files + +%runscript + +%test