From b8c0946912d0f2c8e572d701f82ad1b21924ab2d Mon Sep 17 00:00:00 2001
From: Marty Kandes <mkandes@sdsc.edu>
Date: Fri, 3 Sep 2021 18:18:38 +0000
Subject: [PATCH] Update Ubuntu + MLNX_OFED + OpenMPI def files; explicit
 ./configure

Updated the definition files for the base Ubuntu 18.04 + Mellanox
OFED 4.7 + OpenMPI 3.1.6 and 4.0.5 Singularity containers to have more
extensive and explicit ./configure commands for each OpenMPI build. This
is to to help investigate higher than expected latencies observed with
collective OMB benchmarks when using UCX-only OpenMPI 4.0.5 on Expanse.
Note, however, these high latencies are observed for non-containerized
builds of OMB + OpenMPI 4.0.5 as well and are not specific to the
containerzed builds themselves. The issue appears to be UCX-specific at
this time, but it is still under investigation.
---
 README.md                                          |  4 ++--
 .../Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0 |  5 ++---
 ...buntu-18.04-mlnx-ofed-4.7-3.2.9.0-mvapich-2.3.6 |  4 ++--
 ...buntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-3.1.6 | 13 ++++++++++---
 ...buntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 | 14 +++++++++++---
 5 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/README.md b/README.md
index eacf637..2d23adc 100644
--- a/README.md
+++ b/README.md
@@ -60,8 +60,8 @@ University of California, San Diego
 
 ## Version
 
-1.8.6
+1.8.8
 
 ## Last Updated
 
-Wednesday, August 18th, 2021
+Friday, September 3rd, 2021
diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0 b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
index 6906762..68eabe5 100644
--- a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
+++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
@@ -10,14 +10,13 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04
     AUTHOR_NAME Marty Kandes
     AUTHOR_EMAIL mkandes@sdsc.edu
 
-    LAST_UPDATED 20210804
+    LAST_UPDATED 20210901
 
 %setup
 
 %environment
 
     # Set Mellanox OFED version, operating system, and hardware platform
-    export MLNX_ROOT_URL='http://www.mellanox.com/downloads/ofed'
     export MLNX_OFED_VERSION='4.7-3.2.9.0'
     export MLNX_OS_VERSION='ubuntu18.04'
     export MLNX_PLATFORM='x86_64'
@@ -61,7 +60,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04
     export MLNX_PLATFORM='x86_64'
 
     # Download and install Mellanox OFED drivers and supporting
-    # libraries for userspace access to Ethernet, RDMA, and Infiniband. 
+    # libraries for user space access to Ethernet, RDMA, and Infiniband.
     # https://docs.mellanox.com/pages/releaseview.action?pageId=15049785
     wget "${MLNX_ROOT_URL}/MLNX_OFED-${MLNX_OFED_VERSION}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz"
     tar -xf "MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-${MLNX_OS_VERSION}-${MLNX_PLATFORM}.tgz"
diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-mvapich-2.3.6 b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-mvapich-2.3.6
index 37747d6..da012d8 100644
--- a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-mvapich-2.3.6
+++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-mvapich-2.3.6
@@ -10,7 +10,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
     AUTHOR_NAME Marty Kandes
     AUTHOR_EMAIL mkandes@sdsc.edu
 
-    LAST_UPDATED 20210805
+    LAST_UPDATED 20210901
 
 %setup
 
@@ -18,7 +18,6 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
 
     # Set MVAPICH major, minor, and revision numbers, root and
     # installation directories
-    export MV_ROOT_URL='http://mvapich.cse.ohio-state.edu/download/mvapich'
     export MV_MAJOR='2'
     export MV_MINOR='3'
     export MV_REVISION='6'
@@ -64,6 +63,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
     tar -xf "mvapich${MV_MAJOR}-${MV_VERSION}.tar.gz"
     cd "mvapich${MV_MAJOR}-${MV_VERSION}"
     ./configure --prefix="${MV_INSTALL_DIR}"
+
     make
     make install
 
diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-3.1.6 b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-3.1.6
index 9cb6074..d5b8140 100644
--- a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-3.1.6
+++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-3.1.6
@@ -10,7 +10,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
     AUTHOR_NAME Marty Kandes
     AUTHOR_EMAIL mkandes@sdsc.edu
 
-    LAST_UPDATED 20210804
+    LAST_UPDATED 20210901
 
 %setup
 
@@ -18,7 +18,6 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
 
     # Set OpenMPI major, minor, and revision numbers, root and
     # installation directories
-    export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi'
     export OMPI_MAJOR='3'
     export OMPI_MINOR='1'
     export OMPI_REVISION='6'
@@ -66,7 +65,15 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
     wget "${OMPI_ROOT_URL}/v${OMPI_MAJOR}.${OMPI_MINOR}/openmpi-${OMPI_VERSION}.tar.gz"
     tar -xf "openmpi-${OMPI_VERSION}.tar.gz"
     cd "openmpi-${OMPI_VERSION}"
-    ./configure --prefix="${OMPI_INSTALL_DIR}"
+    ./configure --prefix="${OMPI_INSTALL_DIR}" --enable-shared \
+      --disable-silent-rules --disable-builtin-atomics --enable-static \
+      --without-hcoll --without-psm --without-knem --without-psm2 \
+      --with-verbs=/usr --without-ofi --without-mxm --without-fca \
+      --without-xpmem --without-ucx --without-cma --without-slurm \
+      --without-tm --without-loadleveler --without-alps --without-lsf \
+      --without-sge --disable-memchecker --disable-java \
+      --disable-mpi-java --without-cuda --enable-mpi-cxx \
+      --enable-cxx-exceptions
     make all install
 
     cd /tmp
diff --git a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5 b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5
index 74ffdba..e5114ab 100644
--- a/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5
+++ b/definition-files/ubuntu/Singularity.ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0-openmpi-4.0.5
@@ -10,7 +10,7 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
     AUTHOR_NAME Marty Kandes
     AUTHOR_EMAIL mkandes@sdsc.edu
 
-    LAST_UPDATED 20210804
+    LAST_UPDATED 20210903
 
 %setup
 
@@ -18,7 +18,6 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
 
     # Set OpenMPI major, minor, and revision numbers, root and
     # installation directories
-    export OMPI_ROOT_URL='https://download.open-mpi.org/release/open-mpi'
     export OMPI_MAJOR='4'
     export OMPI_MINOR='0'
     export OMPI_REVISION='5'
@@ -66,7 +65,16 @@ From: ghcr.io/mkandes/naked-singularity:ubuntu-18.04-mlnx-ofed-4.7-3.2.9.0
     wget "${OMPI_ROOT_URL}/v${OMPI_MAJOR}.${OMPI_MINOR}/openmpi-${OMPI_VERSION}.tar.gz"
     tar -xf "openmpi-${OMPI_VERSION}.tar.gz"
     cd "openmpi-${OMPI_VERSION}"
-    ./configure --prefix="${OMPI_INSTALL_DIR}" --without-verbs
+    ./configure --prefix="${OMPI_INSTALL_DIR}" --enable-shared \
+      --disable-silent-rules --disable-builtin-atomics --enable-static \
+      --without-hcoll --without-psm --without-knem --without-psm2 \
+      --without-verbs --without-ofi --without-mxm --without-fca \
+      --without-xpmem --with-ucx=/usr --without-cma --without-slurm \
+      --without-tm --without-loadleveler --without-alps --without-lsf \
+      --without-sge --disable-memchecker  --disable-java \
+      --disable-mpi-java --without-cuda --disable-mpi-cxx \
+      --disable-cxx-exceptions
+    #--enable-mpi1-compatibility
     make all install
 
     cd /tmp
-- 
GitLab