import mpitests-5.4.2-4.el8
This commit is contained in:
commit
4ea1c6fb21
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
SOURCES/osu-micro-benchmarks-5.4.2.tar.gz
|
||||
SOURCES/v2018.1.tar.gz
|
2
.mpitests.metadata
Normal file
2
.mpitests.metadata
Normal file
@ -0,0 +1,2 @@
|
||||
532412ecf2e4ddf516913211a34c88452eca9e6b SOURCES/osu-micro-benchmarks-5.4.2.tar.gz
|
||||
fae1fb6ddafd9a96ed96a1a04b59293e679bbec6 SOURCES/v2018.1.tar.gz
|
23
SOURCES/OMB-disable-collective-async.patch
Normal file
23
SOURCES/OMB-disable-collective-async.patch
Normal file
@ -0,0 +1,23 @@
|
||||
OMB: disable collective async
|
||||
|
||||
To build mpitests against old MPI implementations that don't provide
|
||||
MPI_Ibarrier etc.
|
||||
|
||||
diff -up osu-micro-benchmarks-5.4/mpi/collective/Makefile.in.orig osu-micro-benchmarks-5.4/mpi/collective/Makefile.in
|
||||
--- osu-micro-benchmarks-5.4/mpi/collective/Makefile.in.orig 2017-11-03 23:06:44.176756058 +0100
|
||||
+++ osu-micro-benchmarks-5.4/mpi/collective/Makefile.in 2017-11-03 23:07:05.677306833 +0100
|
||||
@@ -93,13 +93,7 @@ collective_PROGRAMS = osu_alltoallv$(EXE
|
||||
osu_reduce_scatter$(EXEEXT) osu_barrier$(EXEEXT) \
|
||||
osu_reduce$(EXEEXT) osu_allreduce$(EXEEXT) \
|
||||
osu_alltoall$(EXEEXT) osu_bcast$(EXEEXT) osu_gather$(EXEEXT) \
|
||||
- osu_allgather$(EXEEXT) osu_scatter$(EXEEXT) \
|
||||
- osu_iallgather$(EXEEXT) osu_ibcast$(EXEEXT) \
|
||||
- osu_ialltoall$(EXEEXT) osu_ibarrier$(EXEEXT) \
|
||||
- osu_igather$(EXEEXT) osu_iscatter$(EXEEXT) \
|
||||
- osu_iscatterv$(EXEEXT) osu_igatherv$(EXEEXT) \
|
||||
- osu_iallgatherv$(EXEEXT) osu_ialltoallv$(EXEEXT) \
|
||||
- osu_ialltoallw$(EXEEXT)
|
||||
+ osu_allgather$(EXEEXT) osu_scatter$(EXEEXT)
|
||||
@CUDA_KERNELS_TRUE@am__append_1 = ../../util/kernel.cu
|
||||
@BUILD_PROFILING_LIB_TRUE@@EMBEDDED_BUILD_TRUE@am__append_2 = $(top_builddir)/../lib/lib@PMPILIBNAME@.la
|
||||
@OPENACC_TRUE@am__append_3 = -acc
|
185
SPECS/mpitests.spec
Normal file
185
SPECS/mpitests.spec
Normal file
@ -0,0 +1,185 @@
|
||||
%global intel_mpi_bench_vers 2018.1
|
||||
%global osu_micro_bench_vers 5.4.2
|
||||
Summary: MPI Benchmarks and tests
|
||||
Name: mpitests
|
||||
Version: %{osu_micro_bench_vers}
|
||||
Release: 4%{?dist}
|
||||
License: CPL and BSD
|
||||
Group: Applications/Engineering
|
||||
# These days we get the benchmark soucres from Intel and OSU directly
|
||||
# rather than from openfabrics.
|
||||
URL: http://www.openfabrics.org
|
||||
# https://software.intel.com/en-us/articles/intel-mpi-benchmarks
|
||||
Source0: https://github.com/intel/mpi-benchmarks/archive/v%{intel_mpi_bench_vers}.tar.gz
|
||||
Source1: http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-%{osu_micro_bench_vers}.tar.gz
|
||||
# Only for old openmpi
|
||||
Patch101: OMB-disable-collective-async.patch
|
||||
BuildRequires: hwloc-devel, libibmad-devel, rdma-core-devel
|
||||
|
||||
%description
|
||||
A set of popular MPI benchmarks:
|
||||
Intel MPI benchmarks %{intel_mpi_bench_vers}.
|
||||
OSU micro-benchmarks %{osu_micro_bench_vers}.
|
||||
|
||||
# openmpi 3.0.0 dropped support for big endian ppc
|
||||
%ifnarch ppc ppc64
|
||||
%package openmpi
|
||||
Summary: MPI tests package compiled against openmpi
|
||||
Group: Applications
|
||||
BuildRequires: openmpi-devel >= 3.1.2-2
|
||||
Requires: openmpi%{?_isa}
|
||||
%description openmpi
|
||||
MPI test suite compiled against the openmpi package
|
||||
%endif
|
||||
|
||||
%package mpich
|
||||
Summary: MPI tests package compiled against mpich
|
||||
Group: Applications
|
||||
BuildRequires: mpich-devel >= 3.2.1-8
|
||||
Requires: mpich%{?_isa}
|
||||
%description mpich
|
||||
MPI test suite compiled against the mpich package
|
||||
|
||||
# mvapich2 is not yet built on s390(x)
|
||||
%ifnarch s390 s390x
|
||||
%package mvapich2
|
||||
Summary: MPI tests package compiled against mvapich2
|
||||
Group: Applications
|
||||
BuildRequires: mvapich2-devel >= 2.3-2
|
||||
Requires: mvapich2%{?_isa}
|
||||
%description mvapich2
|
||||
MPI test suite compiled against the mvapich2 package
|
||||
%endif
|
||||
|
||||
# PSM is x86_64-only
|
||||
%ifarch x86_64
|
||||
%package mvapich2-psm2
|
||||
Summary: MPI tests package compiled against mvapich2 using OmniPath
|
||||
Group: Applications
|
||||
BuildRequires: mvapich2-psm2-devel >= 2.3-2
|
||||
BuildRequires: libpsm2-devel
|
||||
Requires: mvapich2-psm2%{?_isa}
|
||||
%description mvapich2-psm2
|
||||
MPI test suite compiled against the mvapich2 package using OmniPath
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -c
|
||||
%setup -T -D -a 1
|
||||
cd osu-micro-benchmarks-%{version}
|
||||
cd ..
|
||||
|
||||
%build
|
||||
# We don't do a non-mpi version of this package, just straight to the mpi builds
|
||||
export CC=mpicc
|
||||
export CXX=mpicxx
|
||||
export FC=mpif90
|
||||
export F77=mpif77
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||
do_build() {
|
||||
mkdir build-$MPI_COMPILER
|
||||
cp -al mpi-benchmarks-%{intel_mpi_bench_vers} osu-micro-benchmarks-%{osu_micro_bench_vers} build-$MPI_COMPILER
|
||||
cd build-$MPI_COMPILER/mpi-benchmarks-%{intel_mpi_bench_vers}/src
|
||||
make -f make_mpich OPTFLAGS="%{build_cflags}" LDFLAGS="%{build_ldflags}" MPI_HOME="$MPI_HOME" all
|
||||
cd ../../osu-micro-benchmarks-%{osu_micro_bench_vers}
|
||||
%configure
|
||||
make %{?_smp_mflags}
|
||||
cd ../..
|
||||
}
|
||||
|
||||
# do N builds, one for each mpi stack
|
||||
%ifnarch ppc ppc64
|
||||
%{_openmpi_load}
|
||||
do_build
|
||||
%{_openmpi_unload}
|
||||
%endif
|
||||
|
||||
%{_mpich_load}
|
||||
do_build
|
||||
%{_mpich_unload}
|
||||
|
||||
%ifnarch s390 s390x
|
||||
%{_mvapich2_load}
|
||||
do_build
|
||||
%{_mvapich2_unload}
|
||||
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%{_mvapich2_psm2_load}
|
||||
do_build
|
||||
%{_mvapich2_psm2_unload}
|
||||
%endif
|
||||
|
||||
%install
|
||||
do_install() {
|
||||
mkdir -p %{buildroot}$MPI_BIN
|
||||
cd build-$MPI_COMPILER/osu-micro-benchmarks-%{osu_micro_bench_vers}
|
||||
make install DESTDIR=%{buildroot}/staging
|
||||
find %{buildroot}/staging -name 'osu_*' -type f -perm -111 | while read X; do
|
||||
mv $X %{buildroot}$MPI_BIN/mpitests-$(basename $X)
|
||||
done
|
||||
cd ../mpi-benchmarks-%{intel_mpi_bench_vers}/src
|
||||
for X in IMB-*; do
|
||||
cp $X %{buildroot}$MPI_BIN/mpitests-$X
|
||||
done
|
||||
cd ../../..
|
||||
}
|
||||
|
||||
# do N installs, one for each mpi stack
|
||||
%ifnarch ppc ppc64
|
||||
%{_openmpi_load}
|
||||
do_install
|
||||
%{_openmpi_unload}
|
||||
%endif
|
||||
|
||||
%{_mpich_load}
|
||||
do_install
|
||||
%{_mpich_unload}
|
||||
|
||||
%ifnarch s390 s390x
|
||||
%{_mvapich2_load}
|
||||
do_install
|
||||
%{_mvapich2_unload}
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%{_mvapich2_psm2_load}
|
||||
do_install
|
||||
%{_mvapich2_psm2_unload}
|
||||
%endif
|
||||
|
||||
%ifnarch ppc ppc64
|
||||
%files openmpi
|
||||
%{_libdir}/openmpi/bin/mpitests-*
|
||||
%endif
|
||||
|
||||
%files mpich
|
||||
%{_libdir}/mpich/bin/mpitests-*
|
||||
|
||||
%ifnarch s390 s390x
|
||||
%files mvapich2
|
||||
%{_libdir}/mvapich2/bin/mpitests-*
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%files mvapich2-psm2
|
||||
%{_libdir}/mvapich2-psm2/bin/mpitests-*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Sep 22 2018 Jarod Wilson <jarod@redhat.com> - 5.4.2-4
|
||||
- Properly fix build and linker flags, annocheck now silent
|
||||
- Resolves: rhbz#1624145
|
||||
|
||||
* Tue Sep 18 2018 Jarod Wilson <jarod@redhat.com> - 5.4.2-3
|
||||
- First wave of compiler flag usage fixups from annobin scans
|
||||
- Related: rhbz#1624145
|
||||
|
||||
* Thu Sep 13 2018 Jarod Wilson <jarod@redhat.com> - 5.4.2-2
|
||||
- Rebuild with updated openmpi, mvapich and mpich for proper deps
|
||||
- Resolves: rhbz#1628627
|
||||
|
||||
* Thu Aug 16 2018 Jarod Wilson <jarod@redhat.com> - 5.4.2-1
|
||||
- Initial build for RHEL8, based on latest RHEL7 package
|
||||
- Resolves: rhbz#1556959
|
Loading…
Reference in New Issue
Block a user