From 19880fc24d33be0c9173d611b0381c60e2cc25b7 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 02 2019 18:24:34 +0000 Subject: import mpitests-5.4.2-1.el7 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..46f6f3f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/osu-micro-benchmarks-5.4.2.tar.gz +SOURCES/v2018.1.tar.gz diff --git a/.mpitests.metadata b/.mpitests.metadata new file mode 100644 index 0000000..b24328d --- /dev/null +++ b/.mpitests.metadata @@ -0,0 +1,2 @@ +532412ecf2e4ddf516913211a34c88452eca9e6b SOURCES/osu-micro-benchmarks-5.4.2.tar.gz +fae1fb6ddafd9a96ed96a1a04b59293e679bbec6 SOURCES/v2018.1.tar.gz diff --git a/SOURCES/OMB-disable-collective-async.patch b/SOURCES/OMB-disable-collective-async.patch new file mode 100644 index 0000000..beae0df --- /dev/null +++ b/SOURCES/OMB-disable-collective-async.patch @@ -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 diff --git a/SPECS/mpitests.spec b/SPECS/mpitests.spec new file mode 100644 index 0000000..ded56e2 --- /dev/null +++ b/SPECS/mpitests.spec @@ -0,0 +1,469 @@ +%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: 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/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}. + +%package openmpi +Summary: MPI tests package compiled against openmpi +Group: Applications +BuildRequires: openmpi-devel >= 1.4 +Requires: openmpi%{?_isa} +%description openmpi +MPI test suite compiled against the openmpi package + +# openmpi 3.0.0 dropped support for big endian ppc +%ifnarch ppc ppc64 +%package openmpi3 +Summary: MPI tests package compiled against openmpi3 +Group: Applications +BuildRequires: openmpi3-devel +Requires: openmpi3%{?_isa} +%description openmpi3 +MPI test suite compiled against the openmpi3 package +%endif + +%package mpich +Summary: MPI tests package compiled against mpich +Group: Applications +BuildRequires: mpich-devel >= 3.0.4 +Requires: mpich%{?_isa} +%description mpich +MPI test suite compiled against the mpich package + +%package mpich32 +Summary: MPI tests package compiled against mpich-3.2 +Group: Applications +BuildRequires: mpich-3.2-devel +Requires: mpich-3.2%{?_isa} +%description mpich32 +MPI test suite compiled against the mpich-3.2 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 >= 1.4 +Requires: mvapich2%{?_isa} +%description mvapich2 +MPI test suite compiled against the mvapich2 package + +%package mvapich222 +Summary: MPI tests package compiled against mvapich2-2.2 +Group: Applications +BuildRequires: mvapich2-2.2-devel +Requires: mvapich2-2.2%{?_isa} +%description mvapich222 +MPI test suite compiled against the mvapich2-2.2 package + +%package mvapich23 +Summary: MPI tests package compiled against mvapich23 +Group: Applications +BuildRequires: mvapich23-devel +Requires: mvapich23%{?_isa} +%description mvapich23 +MPI test suite compiled against the mvapich23 package + +# s390(x) did not have openmpi-1.6 +%package compat-openmpi16 +Summary: MPI tests package compiled against compat-openmpi16 +Group: Applications +BuildRequires: compat-openmpi16-devel +Requires: compat-openmpi16%{?_isa} +%description compat-openmpi16 +MPI test suite compiled against the compat-openmpi16 package +%endif + +# PSM is x86_64-only +%ifarch x86_64 +%package mvapich2-psm +Summary: MPI tests package compiled against mvapich2 using InfiniPath +Group: Applications +BuildRequires: mvapich2-psm-devel >= 1.4 +BuildRequires: infinipath-psm-devel +Requires: mvapich2-psm%{?_isa} +%description mvapich2-psm +MPI test suite compiled against the mvapich2 package using InfiniPath + +%package mvapich222-psm +Summary: MPI tests package compiled against mvapich2-2.2 using InfiniPath +Group: Applications +BuildRequires: mvapich2-2.2-psm-devel +BuildRequires: infinipath-psm-devel +Requires: mvapich2-2.2-psm%{?_isa} +%description mvapich222-psm +MPI test suite compiled against the mvapich2-2.2 package using InfiniPath + +%package mvapich222-psm2 +Summary: MPI tests package compiled against mvapich2-2.2 using OmniPath +Group: Applications +BuildRequires: mvapich2-2.2-psm2-devel +BuildRequires: libpsm2-devel +Requires: mvapich2-2.2-psm2%{?_isa} +%description mvapich222-psm2 +MPI test suite compiled against the mvapich2-2.2 package using OmniPath + +%package mvapich23-psm +Summary: MPI tests package compiled against mvapich23-psm +Group: Applications +BuildRequires: mvapich23-psm-devel +Requires: mvapich23-psm%{?_isa} +%description mvapich23-psm +MPI test suite compiled against the mvapich23-psm package + +%package mvapich23-psm2 +Summary: MPI tests package compiled against mvapich23-psm2 +Group: Applications +BuildRequires: mvapich23-psm2-devel +Requires: mvapich23-psm2%{?_isa} +%description mvapich23-psm2 +MPI test suite compiled against the mvapich23-psm2 package + +%endif + +%prep +%setup -c +%setup -T -D -a 1 +cd osu-micro-benchmarks-%{version} +cd .. + +%build +RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//' -e 's/-fstack-protector-strong//' -e 's/-fstack-protector//'` +# 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="%{optflags}" 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 +%{_openmpi_load} +do_build +%{_openmpi_unload} + +%ifnarch ppc ppc64 +%{_openmpi3_load} +do_build +%{_openmpi3_unload} +%endif + +%{_mpich_load} +do_build +%{_mpich_unload} + +%{_mpich_3_2_load} +do_build +%{_mpich_3_2_unload} + +%ifnarch s390 s390x +%{_mvapich2_load} +do_build +%{_mvapich2_unload} + +%{_mvapich2_2_2_load} +do_build +%{_mvapich2_2_2_unload} + +%{_mvapich23_load} +do_build +%{_mvapich23_unload} + +%{_compat_openmpi16_load} +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="%{optflags}" MPI_HOME="$MPI_HOME" IMB-MPI1 IMB-EXT IMB-IO +cd ../../osu-micro-benchmarks-%{osu_micro_bench_vers} +patch -p1 < %PATCH101 +%configure +make %{?_smp_mflags} +cd ../.. +%{_compat_openmpi16_unload} +%endif + +%ifarch x86_64 +%{_mvapich2_psm_load} +do_build +%{_mvapich2_psm_unload} + +%{_mvapich2_2_2_psm_load} +do_build +%{_mvapich2_2_2_psm_unload} + +%{_mvapich2_2_2_psm2_load} +do_build +%{_mvapich2_2_2_psm2_unload} + +%{_mvapich23_psm_load} +do_build +%{_mvapich23_psm_unload} + +%{_mvapich23_psm2_load} +do_build +%{_mvapich23_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 +%{_openmpi_load} +do_install +%{_openmpi_unload} + +%ifnarch ppc ppc64 +%{_openmpi3_load} +do_install +%{_openmpi3_unload} +%endif + +%{_mpich_load} +do_install +%{_mpich_unload} + +%{_mpich_3_2_load} +do_install +%{_mpich_3_2_unload} + +%ifnarch s390 s390x +%{_mvapich2_load} +do_install +%{_mvapich2_unload} + +%{_mvapich2_2_2_load} +do_install +%{_mvapich2_2_2_unload} + +%{_mvapich23_load} +do_install +%{_mvapich23_unload} + +%{_compat_openmpi16_load} +do_install +%{_compat_openmpi16_unload} +%endif + +%ifarch x86_64 +%{_mvapich2_psm_load} +do_install +%{_mvapich2_psm_unload} + +%{_mvapich2_2_2_psm_load} +do_install +%{_mvapich2_2_2_psm_unload} + +%{_mvapich2_2_2_psm2_load} +do_install +%{_mvapich2_2_2_psm2_unload} + +%{_mvapich23_psm_load} +do_install +%{_mvapich23_psm_unload} + +%{_mvapich23_psm2_load} +do_install +%{_mvapich23_psm2_unload} +%endif + +%files openmpi +%{_libdir}/openmpi/bin/mpitests-* + +%ifnarch ppc ppc64 +%files openmpi3 +%{_libdir}/openmpi3/bin/mpitests-* +%endif + +%files mpich +%{_libdir}/mpich/bin/mpitests-* + +%files mpich32 +%{_libdir}/mpich-3.2/bin/mpitests-* + +%ifnarch s390 s390x +%files mvapich2 +%{_libdir}/mvapich2/bin/mpitests-* + +%files mvapich222 +%{_libdir}/mvapich2-2.2/bin/mpitests-* + +%files mvapich23 +%{_libdir}/mvapich23/bin/mpitests-* + +%files compat-openmpi16 +%{_libdir}/compat-openmpi16/bin/mpitests-* +%endif + +%ifarch x86_64 +%files mvapich2-psm +%{_libdir}/mvapich2-psm/bin/mpitests-* + +%files mvapich222-psm +%{_libdir}/mvapich2-2.2-psm/bin/mpitests-* + +%files mvapich222-psm2 +%{_libdir}/mvapich2-2.2-psm2/bin/mpitests-* + +%files mvapich23-psm +%{_libdir}/mvapich23-psm/bin/mpitests-* + +%files mvapich23-psm2 +%{_libdir}/mvapich23-psm2/bin/mpitests-* +%endif + +%changelog +* Thu Jun 28 2018 Jarod Wilson - 5.4.2-1 +- Update IMB to 2018.1. +- Update OMB to 5.4.2. +- Resolves: rhbz1596385 + +* Wed Jan 17 2018 Michal Schmidt - 5.4-2 +- Add a mvapich23-psm subpackage. +- Resolves: rhbz1536192 + +* Sat Nov 04 2017 Michal Schmidt - 5.4-1 +- Update IMB to 2018.0. +- Update OMB to 5.4. +- Add builds for openmpi 3 and mvapich 2.3. +- Build IMB NBC and RMA tests. +- Build OSUMB collective async tests. +- Add precise Requires. +- Resolves: rhbz1358437 + +* Tue Jul 05 2016 Michal Schmidt - 4.1-1 +- Update IMB to 4.1. +- Update OSUMB to 5.3. +- Add subpackages for new mpich and mvapich2 versions and variants. +- Resolves: rhbz961885 +- Resolves: rhbz1093466 + +* Mon Sep 07 2015 Michal Schmidt - 3.2-14 +- Rebuild for new openmpi. Add compat-openmpi16 subpackage. +- Resolves: rhbz1258866 + +* Thu Sep 11 2014 Yaakov Selkowitz - 3.2-13 +- Enable on aarch64 + Resolves: rhbz1100503 + +* Tue Sep 9 2014 Dan HorĂ¡k +- Mass rebuild 2013-12-27 + +* Wed Oct 9 2013 Jay Fenlason 3.2-10 +- Add BuildRequires for libibmad-devel +- Build against mpich, now that we have a mpi-3 version of it. +- rebuild against new mvapich2 + Resolves: rhbz1011910, rhbz1011915 + +* Tue Aug 27 2013 Jay Fenlason 3.2-9 +- Remove presta and obsolete versions of imb and osu from the tarball. +- clean up build process + +* Thu Aug 22 2013 Jay Fenlason 3.2-8 +- Remove mvapich, as it is dead upstream + +* Tue Feb 26 2013 Jay Fenlason 3.2-7 +- Add win_free patch to close + Resolves: rhbz834237 + +* Thu May 31 2012 Jay Fenlason 3.2-6 +- Add BuildRequires: hwloc-devel to close + Resolves: rhbz822526 + +* Tue Feb 21 2012 Jay Fenlason 3.2-5.el6 +- Rebuild against newer infinipath-psm, openmpi, mvapich, mvapich2 + This removes the openmpi-psm subpackage, as openmpi now switches between + psm and non- at runtime. +- Correct version numbers for IMB and OSU benchmarkes in the description. +- Update spec file to fix pkgwrangler warnings. + Resolves: rhbz557803 + Related: rhbz739138 + +* Mon Aug 22 2011 Jay Fenlason 3.2-4.el6 +- BuildRequires infinipath-psm-devel for the infinipath subpackages. + Related: rhbz725016 + +* Thu Aug 18 2011 Jay Fenlason 3.2-3.el6 +- Build using new mvapich, mvapich2, and openmpi. + Add support for the -psm variants of the three mpi stacks. + Related: rhbz725016 + +* Fri Jan 15 2010 Doug Ledford - 3.2-2.el6 +- Rebuild using Fedora MPI package guidelines semantics +- Related: bz543948 + +* Tue Dec 22 2009 Doug Ledford - 3.2-1.el5 +- Update to latest release and compile against new mpi libs +- Related: bz518218 + +* Mon Jun 22 2009 Doug Ledford - 3.1-3.el5 +- Rebuild against libibverbs that isn't missing the proper ppc wmb() macro +- Related: bz506258 + +* Sun Jun 21 2009 Doug Ledford - 3.1-2.el5 +- Rebuild against MPIs that were rebuilt against non-XRC libibverbs +- Related: bz506258 + +* Thu Apr 23 2009 Doug Ledford - 3.1-1 +- Upgrade to version from ofed 1.4.1-rc3 +- Related: bz459652 + +* Thu Sep 18 2008 Doug Ledford - 3.0-2 +- Add no-strict-aliasing compile flag to silence warnings + +* Thu Sep 18 2008 Doug Ledford - 3.0-1 +- Update to latest upstream version +- Compile three times against the three mpi stacks and make three packages +- Resolves: bz451474 + +* Mon Jan 22 2007 Doug Ledford - 2.0-2 +- Recreate lost spec file and patches from memory +- Add dist tag to release +- Turn off FORTIFY_SOURCE when building +