Skip to content
Snippets Groups Projects
Commit 529c5f12 authored by Marty Kandes's avatar Marty Kandes
Browse files

Re-commit latest container definition files

parent eec4bcf0
No related branches found
No related tags found
No related merge requests found
Showing
with 2661 additions and 0 deletions
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment