diff --git a/README b/README index 4142c3e1f8d74d05fbfedffe50a8479c14042446..6e6ffb518ded0e8936f63396d43c0439d0831a7a 100644 --- a/README +++ b/README @@ -46,7 +46,7 @@ AUTHOR VERSION - 0.9.1 + 0.9.2 LAST UPDATED diff --git a/definition-files/comet/centos/centos-cuda-openmpi.def b/definition-files/comet/centos/centos-cuda-openmpi.def new file mode 100644 index 0000000000000000000000000000000000000000..0e3446177105181c02aa70cb3909b7468b3fb7aa --- /dev/null +++ b/definition-files/comet/centos/centos-cuda-openmpi.def @@ -0,0 +1,392 @@ +Bootstrap: yum +OSVersion: 7 +MirrorURL: http://mirror.centos.org/centos-7/7/os/x86_64/ +Include: yum + +%labels + + APPLICATION_NAME centos + cuda + openmpi + APPLICATION_VERSION 7.7.1908 + 10.1.168 + 3.1.4 + APPLICATION_URL https://www.open-mpi.org/faq/?category=runcuda + + SINGULARITY_VERSION 2.6.1 + SINGULARITY_IMAGE_SIZE 16384 + + AUTHOR_NAME Marty Kandes + AUTHOR_EMAIL mkandes@sdsc.edu + + LAST_UPDATED 20200212 + +%setup + +%environment + + # Set system locale + export LC_ALL=C + + # Set paths to CUDA binaries and libraries + export PATH="/usr/local/cuda-10.1/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="/usr/local/cuda-10.1/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 default miniconda environment + export PATH="/opt/miniconda3/bin:${PATH}" + +%post -c /bin/bash + + # Set system locale + export LC_ALL=C + + # Add repositories + yum -y install epel-release + + # Install system metapackages + yum -y groupinstall "Development Tools" + yum -y groupinstall "Additional Development" + yum -y groupinstall "Compatibility Libraries" + + # Update all packages to their latest versions + yum -y update + + # Install common packages + yum -y install bc + yum -y install cmake + yum -y install curl + yum -y install mlocate + yum -y install rsync + yum -y install time + yum -y install wget + yum -y install which + + # Install expect to automate responses for interactive build questions + yum -y install expect + + # Use /tmp to store temporary files within the container during the + # bootstraping process + cd /tmp + + # 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 + + # Location of NVIDIA repositories + declare -r NVIDIA_ROOT_URL='http://developer.download.nvidia.com/compute' + declare -r CUDA_REPO_URL="${NVIDIA_ROOT_URL}/cuda/repos/rhel7/x86_64" + declare -r 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 + + # Download NVIDIA driver, libraries, and packages + wget --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 + yum clean all + + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-cuda-libs-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-libs-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/dkms-nvidia-418.67-1.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-devel-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-persistenced-418.67-1.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-cuda-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-diagnostic-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-NVML-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-driver-NvFBCOpenGL-418.67-4.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-libXNVCtrl-418.67-1.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-libXNVCtrl-devel-418.67-1.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-modprobe-418.67-1.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-settings-418.67-1.el7.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/nvidia-xconfig-418.67-1.el7.x86_64.rpm" + + # Download CUDA libraries and packages + wget --wait=10 "${CUDA_REPO_URL}/cuda-compat-10-1-418.67-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-license-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-misc-headers-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvcc-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cuobjdump-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvprune-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-compiler-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cudart-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-driver-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cudart-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvdisasm-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-gdb-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvprof-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-memcheck-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cupti-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-gpu-library-advisor-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvtx-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-sanitizer-api-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-command-line-tools-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvrtc-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvrtc-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvml-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvgraph-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvgraph-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvjpeg-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvjpeg-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cusolver-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cusolver-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/libcublas10-10.2.0.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/libcublas-devel-10.2.0.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cufft-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cufft-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-curand-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-curand-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cusparse-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-cusparse-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-npp-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-npp-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-samples-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-documentation-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nsight-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nsight-compute-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nsight-systems-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-nvvp-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-visual-tools-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-tools-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-libraries-dev-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-toolkit-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-libraries-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-drivers-418.67-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-runtime-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-demo-suite-10-1-10.1.168-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/cuda-10-1-10.1.168-1.x86_64.rpm" + + wget --wait=10 "${CUDA_REPO_URL}/libcutensor1-1.0.0-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/libcutensor-devel-1.0.0-1.x86_64.rpm" + wget --wait=10 "${CUDA_REPO_URL}/libcutensor-doc-1.0.0-1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/libcudnn7-7.6.5.32-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libcudnn7-devel-7.6.5.32-1.cuda10.1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/libnccl-2.5.6-1+cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnccl-devel-2.5.6-1+cuda10.1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/libnvinfer6-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/libnvinfer-plugin6-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvinfer-plugin-devel-6.0.1-1.cuda10.1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/libnvonnxparsers6-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvonnxparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/libnvparsers6-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm" + + wget --wait=10 "${ML_REPO_URL}/python3-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/python3-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + + # Install NVIDIA drivers, libraries, and packages + rpm -i nvidia-driver-cuda-libs-418.67-4.el7.x86_64.rpm + rpm -i nvidia-driver-libs-418.67-4.el7.x86_64.rpm + yum -y install dkms-nvidia + yum -y install nvidia-driver + rpm -i nvidia-driver-NVML-418.67-4.el7.x86_64.rpm + rpm -i nvidia-driver-NvFBCOpenGL-418.67-4.el7.x86_64.rpm + rpm -i nvidia-libXNVCtrl-418.67-1.el7.x86_64.rpm + rpm -i nvidia-libXNVCtrl-devel-418.67-1.el7.x86_64.rpm + rpm -i nvidia-driver-devel-418.67-4.el7.x86_64.rpm + rpm -i nvidia-driver-diagnostic-418.67-4.el7.x86_64.rpm + rpm -i nvidia-modprobe-418.67-1.el7.x86_64.rpm + rpm -i nvidia-settings-418.67-1.el7.x86_64.rpm + rpm -i nvidia-xconfig-418.67-1.el7.x86_64.rpm + yum -y install nvidia-persistenced + yum -y install nvidia-driver-cuda + + rpm -i cuda-compat-10-1-418.67-1.x86_64.rpm + rpm -i cuda-license-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-misc-headers-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvcc-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cuobjdump-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvprune-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-compiler-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cudart-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-driver-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cudart-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvdisasm-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-gdb-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvprof-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-memcheck-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cupti-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-gpu-library-advisor-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvtx-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-sanitizer-api-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-command-line-tools-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvrtc-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvrtc-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvml-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvgraph-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvgraph-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvjpeg-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvjpeg-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cusolver-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cusolver-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i libcublas10-10.2.0.168-1.x86_64.rpm + rpm -i libcublas-devel-10.2.0.168-1.x86_64.rpm + rpm -i cuda-cufft-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cufft-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-curand-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-curand-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cusparse-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-cusparse-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-npp-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-npp-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-samples-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-documentation-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nsight-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nsight-compute-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nsight-systems-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-nvvp-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-visual-tools-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-tools-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-libraries-dev-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-toolkit-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-libraries-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-drivers-418.67-1.x86_64.rpm + rpm -i cuda-runtime-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-demo-suite-10-1-10.1.168-1.x86_64.rpm + rpm -i cuda-10-1-10.1.168-1.x86_64.rpm + + rpm -i libcutensor1-1.0.0-1.x86_64.rpm + rpm -i libcutensor-devel-1.0.0-1.x86_64.rpm + rpm -i libcutensor-doc-1.0.0-1.x86_64.rpm + + rpm -i libcudnn7-7.6.5.32-1.cuda10.1.x86_64.rpm + rpm -i libcudnn7-devel-7.6.5.32-1.cuda10.1.x86_64.rpm + + rpm -i libnccl-2.5.6-1+cuda10.1.x86_64.rpm + rpm -i libnccl-devel-2.5.6-1+cuda10.1.x86_64.rpm + + rpm -i libnvinfer6-6.0.1-1.cuda10.1.x86_64.rpm + rpm -i libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + + rpm -i libnvinfer-plugin6-6.0.1-1.cuda10.1.x86_64.rpm + rpm -i libnvinfer-plugin-devel-6.0.1-1.cuda10.1.x86_64.rpm + + rpm -i libnvonnxparsers6-6.0.1-1.cuda10.1.x86_64.rpm + rpm -i libnvonnxparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm + + rpm -i libnvparsers6-6.0.1-1.cuda10.1.x86_64.rpm + rpm -i libnvparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm + + rpm -i python3-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm + rpm -i python3-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm + + # Set paths to CUDA binaries and libraries + export PATH="/usr/local/cuda-10.1/bin${PATH:+:${PATH}}" + export LD_LIBRARY_PATH="/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + + # 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 msflint + 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 rdmacm-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 + + # 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 + + # 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 database for mlocate + updatedb + +%files + +%runscript + +%test diff --git a/definition-files/comet/centos/centos-cuda.def b/definition-files/comet/centos/centos-cuda.def index 74552d1cdd59a6666133de878738dda383cb961c..5bdc8781ce7bc871a3bc522207fa842ee3c39e3d 100644 --- a/definition-files/comet/centos/centos-cuda.def +++ b/definition-files/comet/centos/centos-cuda.def @@ -15,7 +15,7 @@ Include: yum AUTHOR_NAME Marty Kandes AUTHOR_EMAIL mkandes@sdsc.edu - LAST_UPDATED 20200203 + LAST_UPDATED 20200213 %setup @@ -217,14 +217,19 @@ Include: yum wget --wait=10 "${ML_REPO_URL}/libnvinfer6-6.0.1-1.cuda10.1.x86_64.rpm" wget --wait=10 "${ML_REPO_URL}/libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvinfer-plugin6-6.0.1-1.cuda10.1.x86_64.rpm" wget --wait=10 "${ML_REPO_URL}/libnvinfer-plugin-devel-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvonnxparsers6-6.0.1-1.cuda10.1.x86_64.rpm" wget --wait=10 "${ML_REPO_URL}/libnvonnxparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/libnvparsers6-6.0.1-1.cuda10.1.x86_64.rpm" wget --wait=10 "${ML_REPO_URL}/libnvparsers-devel-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/python3-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm" wget --wait=10 "${ML_REPO_URL}/python3-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" + wget --wait=10 "${ML_REPO_URL}/python-libnvinfer-6.0.1-1.cuda10.1.x86_64.rpm" wget --wait=10 "${ML_REPO_URL}/python-libnvinfer-devel-6.0.1-1.cuda10.1.x86_64.rpm" diff --git a/definition-files/comet/centos/centos-openmpi.def b/definition-files/comet/centos/centos-openmpi.def index eb2f2253a3e50b7fce96573478f0206a326a3772..e88430db0a06b5c962e638942821dd63573a504c 100644 --- a/definition-files/comet/centos/centos-openmpi.def +++ b/definition-files/comet/centos/centos-openmpi.def @@ -6,19 +6,16 @@ Include: yum %labels APPLICATION_NAME centos + openmpi - APPLICATION_VERSION 7.7.1908 + 1.8.4 + APPLICATION_VERSION 7.7.1908 + 3.1.4 APPLICATION_URL https://www.open-mpi.org/ - SYSTEM_NAME comet - SYSTEM_SINGULARITY_VERSION 2.6.1 - SYSTEM_URL http://www.sdsc.edu/support/user_guides/comet.html - - SINGULARITY_IMAGE_SIZE 8192 + SINGULARITY_VERSION 2.6.1 + SINGULARITY_IMAGE_SIZE 4096 AUTHOR_NAME Marty Kandes AUTHOR_EMAIL mkandes@sdsc.edu - LAST_UPDATED 20190919 + LAST_UPDATED 20200211 %setup @@ -28,8 +25,8 @@ Include: yum export LC_ALL=C # Set paths to OpenMPI binaries and libraries - export PATH="/opt/openmpi-1.8.4/bin:${PATH}" - export LD_LIBRARY_PATH="/opt/openmpi-1.8.4/lib:${LD_LIBRARY_PATH}" + export PATH="/opt/openmpi-3.1.4/bin:${PATH}" + export LD_LIBRARY_PATH="/opt/openmpi-3.1.4/lib:${LD_LIBRARY_PATH}" # Set default miniconda environment export PATH="/opt/miniconda3/bin:${PATH}" @@ -47,7 +44,7 @@ Include: yum yum -y groupinstall "Additional Development" yum -y groupinstall "Compatibility Libraries" - # Upgrade all packages to their latest versions + # Update all packages to their latest versions yum -y update # Install common packages @@ -63,18 +60,10 @@ Include: yum # Install expect to automate responses for interactive build questions yum -y install expect - # Make filesystem mount points - mkdir /cvmfs /oasis /projects /scratch - # Use /tmp to store temporary files within the container during the # bootstraping process cd /tmp - # Install miniconda2 - wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh - chmod +x Miniconda2-latest-Linux-x86_64.sh - ./Miniconda2-latest-Linux-x86_64.sh -b -p /opt/miniconda2 - # Install miniconda3 wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.sh @@ -118,12 +107,16 @@ Include: yum yum -y install zlib-devel # Download, build, and install OpenMPI - wget https://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.4.tar.gz - tar -xzvf openmpi-1.8.4.tar.gz - cd openmpi-1.8.4 - ./configure --prefix=/opt/openmpi-1.8.4 + 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 + # 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 database for mlocate updatedb @@ -131,12 +124,4 @@ Include: yum %runscript - echo " " - echo " __________________ __ _______________ " - echo " -----/ ____/ __ \/ |/ / ____/_ __/ " - echo " --/ / / / / / /|_/ / __/ / / " - echo " / /___/ /_/ / / / / /___ / / " - echo " \____/\____/_/ /_/_____/ /_/ " - echo " " - %test