Skip to content

Commit

Permalink
Update OpenMPI to version 4.1.0
Browse files Browse the repository at this point in the history
See https://www.open-mpi.org/software/ompi/major-changes.php for major
user-noticeable changes in the OpenMPI 4.1.x and 4.0.x series.

See https://raw.githubusercontent.com/open-mpi/ompi/v4.1.x/NEWS for a
detailed list of changes in the OpenMPI 4.1.x and 4.0.x series.
  • Loading branch information
fwyzard committed Dec 30, 2020
1 parent 1613e44 commit 39328c1
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 13 deletions.
19 changes: 10 additions & 9 deletions openmpi-toolfile.spec
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@ Requires: openmpi
%build

%install

mkdir -p %i/etc/scram.d
cat << \EOF_TOOLFILE >%i/etc/scram.d/openmpi.xml
<tool name="openmpi" version="@TOOL_VERSION@">
<lib name="mpi"/>
<lib name="mpi_cxx"/>
<client>
<environment name="OPENMPI_BASE" default="@TOOL_ROOT@"/>
<environment name="LIBDIR" default="$OPENMPI_BASE/lib"/>
<environment name="INCLUDE" default="$OPENMPI_BASE/include"/>
</client>
<runtime name="PATH" value="$OPENMPI_BASE/bin" type="path"/>
<runtime name="OPAL_PREFIX" value="$OPENMPI_BASE"/>
<lib name="mpi"/>
<lib name="mpi_cxx"/>
<client>
<environment name="OPENMPI_BASE" default="@TOOL_ROOT@"/>
<environment name="LIBDIR" default="$OPENMPI_BASE/lib"/>
<environment name="INCLUDE" default="$OPENMPI_BASE/include"/>
</client>
<runtime name="PATH" value="$OPENMPI_BASE/bin" type="path"/>
<runtime name="OPAL_PREFIX" value="$OPENMPI_BASE"/>
</tool>
EOF_TOOLFILE

Expand Down
37 changes: 33 additions & 4 deletions openmpi.spec
Original file line number Diff line number Diff line change
@@ -1,16 +1,45 @@
### RPM external openmpi 4.0.5
### RPM external openmpi 4.1.0
## INITENV SET OPAL_PREFIX %{i}
Source: http://download.open-mpi.org/release/open-mpi/v4.0/%{n}-%{realversion}.tar.gz
Source: https://download.open-mpi.org/release/open-mpi/v4.1/%{n}-%{realversion}.tar.bz2
BuildRequires: autotools
Requires: zlib cuda hwloc ucx
# external libraries are needed for additional protocols:
# --with-ofi: Open Fabric Interface's libfabric
# --with-mxm: Mellanox Messaging
# --with-fca: Mellanox Fabric Collective Accelerator
# --with-hcoll: Mellanox Hierarchical Collectives
# --with-lsf: LSF job scheduler
# --with-lustre: Lustre filesystem
# etc.

%prep
%setup -q -n %{n}-%{realversion}

./autogen.pl --force
./configure --prefix=%i --without-lsf --disable-libnuma --enable-mpi-cxx --enable-mpi-thread-multiple
./configure \
--prefix=%i \
--disable-dependency-tracking \
--enable-ipv6 \
--enable-mpi-cxx \
--enable-shared \
--disable-static \
--enable-cxx-exceptions \
--disable-mpi-java \
--enable-openib-rdmacm-ibaddr \
--with-zlib=$ZLIB_ROOT \
--with-cuda=$CUDA_ROOT \
--with-hwloc=$HWLOC_ROOT \
--with-ucx=$UCX_ROOT \
--without-x \
--with-pic \
--with-gnu-ld

%build
make %{makeprocesses}

%install
make install

%post
%{relocateConfig}lib/pmix/lib*.la
%{relocateConfig}lib/openmpi/lib*.la
%{relocateConfig}share/openmpi/*-wrapper-data.txt

0 comments on commit 39328c1

Please sign in to comment.