From b5a28248ad7d6bacd1439cd7896768288f3b30a9 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jun 09 2020 19:55:54 +0000 Subject: import mpitests-5.6.2-1.el8 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b89b5f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/IMB-v2019.6.tar.gz +SOURCES/osu-micro-benchmarks-5.6.2.tar.gz diff --git a/.mpitests.metadata b/.mpitests.metadata new file mode 100644 index 0000000..d4984aa --- /dev/null +++ b/.mpitests.metadata @@ -0,0 +1,2 @@ +10181aeb3bc5be69b751ca0be0a40086566e0622 SOURCES/IMB-v2019.6.tar.gz +28cae75574f57b3092e4b8d8ba472db15c25c534 SOURCES/osu-micro-benchmarks-5.6.2.tar.gz diff --git a/SPECS/mpitests.spec b/SPECS/mpitests.spec new file mode 100644 index 0000000..9e79653 --- /dev/null +++ b/SPECS/mpitests.spec @@ -0,0 +1,191 @@ +%global intel_mpi_bench_vers IMB-v2019.6 +%global osu_micro_bench_vers 5.6.2 +Summary: MPI Benchmarks and tests +Name: mpitests +Version: %{osu_micro_bench_vers} +Release: 1%{?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/%{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 -fPIC" +export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC" +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} + make 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}/ + 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 +* Tue May 12 2020 Honggang Li - 5.6.2-1 +- Update OSU benchmarks to upstream release 5.6.2 +- Update IMB benchmarks to upstream release v2019.6 +- Resolves: rhbz#1817837 + +* Sat Sep 22 2018 Jarod Wilson - 5.4.2-4 +- Properly fix build and linker flags, annocheck now silent +- Resolves: rhbz#1624145 + +* Tue Sep 18 2018 Jarod Wilson - 5.4.2-3 +- First wave of compiler flag usage fixups from annobin scans +- Related: rhbz#1624145 + +* Thu Sep 13 2018 Jarod Wilson - 5.4.2-2 +- Rebuild with updated openmpi, mvapich and mpich for proper deps +- Resolves: rhbz#1628627 + +* Thu Aug 16 2018 Jarod Wilson - 5.4.2-1 +- Initial build for RHEL8, based on latest RHEL7 package +- Resolves: rhbz#1556959