SHA256
1
0
forked from pool/mvapich3

Accepting request 1102426 from home:NMorey:branches:science:HPC

- Tune multibuild flavours to match the new ch4 targets

OBS-URL: https://build.opensuse.org/request/show/1102426
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mvapich3?expand=0&rev=2
This commit is contained in:
Nicolas Morey 2023-08-04 19:20:12 +00:00 committed by Git OBS Bridge
parent 6961053612
commit 2e5b37a453
3 changed files with 88 additions and 95 deletions

View File

@ -1,6 +1,9 @@
<multibuild> <multibuild>
<package>standard</package> <package>standard</package>
<package>testsuite</package> <package>testsuite</package>
<package>ofi</package>
<package>ofi-testsuite</package>
<package>gnu-hpc</package> <package>gnu-hpc</package>
<package>gnu-hpc-testsuite</package> <package>gnu-hpc-testsuite</package>
<package>gnu-hpc-ofi-testsuite</package>
</multibuild> </multibuild>

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Jul 26 13:27:31 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
- Tune multibuild flavours to match the new ch4 targets
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Jul 23 09:25:21 UTC 2023 - Klaus Kämpf <kkaempf@suse.com> Sun Jul 23 09:25:21 UTC 2023 - Klaus Kämpf <kkaempf@suse.com>

View File

@ -29,31 +29,21 @@ ExclusiveArch: do_not_build
%endif %endif
%if "%{flavor}" == "standard" %if "%{flavor}" == "standard"
%define build_flavor verbs %define build_flavor ucx
%{bcond_with hpc} %{bcond_with hpc}
%endif %endif
%if "%{flavor}" == "testsuite" %if "%{flavor}" == "testsuite"
%define build_flavor verbs %define build_flavor ucx
%define testsuite 1 %define testsuite 1
%{bcond_with hpc} %{bcond_with hpc}
%endif %endif
%if "%{flavor}" == "psm" %if "%{flavor}" == "ofi"
%define build_flavor psm %define build_flavor ofi
%{bcond_with hpc} %{bcond_with hpc}
%endif %endif
%if "%{flavor}" == "psm-testsuite" %if "%{flavor}" == "ofi-testsuite"
%define build_flavor psm %define build_flavor ofi
%define testsuite 1
%{bcond_with hpc}
%endif
%if "%{flavor}" == "psm2"
%define build_flavor psm2
%{bcond_with hpc}
%endif
%if "%{flavor}" == "psm2-testsuite"
%define build_flavor psm2
%define testsuite 1 %define testsuite 1
%{bcond_with hpc} %{bcond_with hpc}
%endif %endif
@ -61,144 +51,150 @@ ExclusiveArch: do_not_build
%if "%flavor" == "gnu-hpc" %if "%flavor" == "gnu-hpc"
%define compiler_family gnu %define compiler_family gnu
%undefine c_f_ver %undefine c_f_ver
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu-hpc-testsuite" %if "%flavor" == "gnu-hpc-testsuite"
%define compiler_family gnu %define compiler_family gnu
%undefine c_f_ver %undefine c_f_ver
%define testsuite 1 %define testsuite 1
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu-hpc-psm" %if "%flavor" == "gnu-hpc-ofi"
%define compiler_family gnu %define compiler_family gnu
%undefine c_f_ver %undefine c_f_ver
%define build_flavor psm %define build_flavor ofi
%define build_static_devel 1
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu-hpc-ofi-testsuite"
%if "%flavor" == "gnu-hpc-psm2"
%define compiler_family gnu %define compiler_family gnu
%undefine c_f_ver %undefine c_f_ver
%define build_flavor psm2 %define testsuite 1
%define build_flavor ofi
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu7-hpc" %if "%flavor" == "gnu7-hpc"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 7 %define c_f_ver 7
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu7-hpc-testsuite" %if "%flavor" == "gnu7-hpc-testsuite"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 7 %define c_f_ver 7
%define testsuite 1 %define testsuite 1
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu7-hpc-psm" %if "%flavor" == "gnu7-hpc-ofi"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 7 %define c_f_ver 7
%define build_flavor psm %define build_flavor ofi
%define build_static_devel 1
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu7-hpc-ofi-testsuite"
%if "%flavor" == "gnu7-hpc-psm2"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 7 %define c_f_ver 7
%define build_flavor psm2 %define testsuite 1
%define build_flavor ofi
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu8-hpc" %if "%flavor" == "gnu8-hpc"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 8 %define c_f_ver 8
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu8-hpc-testsuite" %if "%flavor" == "gnu8-hpc-testsuite"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 8 %define c_f_ver 8
%define testsuite 1 %define testsuite 1
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu8-hpc-psm" %if "%flavor" == "gnu8-hpc-ofi"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 8 %define c_f_ver 8
%define build_flavor psm %define build_flavor ofi
%define build_static_devel 1
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu8-hpc-psm2" %if "%flavor" == "gnu8-hpc-ofi-testsuite"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 8 %define c_f_ver 8
%define build_flavor psm2 %define testsuite 1
%define build_flavor ofi
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu9-hpc" %if "%flavor" == "gnu9-hpc"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 9 %define c_f_ver 9
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu9-hpc-testsuite" %if "%flavor" == "gnu9-hpc-testsuite"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 9 %define c_f_ver 9
%define testsuite 1 %define testsuite 1
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu9-hpc-psm" %if "%flavor" == "gnu9-hpc-ofi"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 9 %define c_f_ver 9
%define build_flavor psm %define build_flavor ofi
%define build_static_devel 1
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu9-hpc-ofi-testsuite"
%if "%flavor" == "gnu9-hpc-psm2"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 9 %define c_f_ver 9
%define build_flavor psm2 %define testsuite 1
%define build_flavor ofi
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu10-hpc" %if "%flavor" == "gnu10-hpc"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 10 %define c_f_ver 10
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu10-hpc-testsuite" %if "%flavor" == "gnu10-hpc-testsuite"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 10 %define c_f_ver 10
%define testsuite 1 %define testsuite 1
%define build_flavor verbs %define build_flavor ucx
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu10-hpc-psm" %if "%flavor" == "gnu10-hpc-ofi"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 10 %define c_f_ver 10
%define build_flavor psm %define build_flavor ofi
%define build_static_devel 1
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%flavor" == "gnu10-hpc-ofi-testsuite"
%if "%flavor" == "gnu10-hpc-psm2"
%define compiler_family gnu %define compiler_family gnu
%define c_f_ver 10 %define c_f_ver 10
%define build_flavor psm2 %define testsuite 1
%define build_flavor ofi
%{bcond_without hpc} %{bcond_without hpc}
%endif %endif
%if "%{build_flavor}" != "verbs" %if "%{build_flavor}" != "ucx"
%define pack_suff %{?build_flavor:-%{build_flavor}} %define pack_suff %{?build_flavor:-%{build_flavor}}
%endif %endif
@ -252,7 +248,6 @@ Source2: mpivars.csh
Source3: macros.hpc-mvapich3 Source3: macros.hpc-mvapich3
Source100: _multibuild Source100: _multibuild
Patch1: 0001-fix-control-reaches-end-of-non-void-function.patch Patch1: 0001-fix-control-reaches-end-of-non-void-function.patch
URL: http://mvapich.cse.ohio-state.edu URL: http://mvapich.cse.ohio-state.edu
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -265,14 +260,12 @@ BuildRequires: automake
BuildRequires: bison BuildRequires: bison
BuildRequires: flex BuildRequires: flex
BuildRequires: hwloc-devel >= 2.0 BuildRequires: hwloc-devel >= 2.0
BuildRequires: libibverbs
%ifnarch s390 s390x %{arm} %ifnarch s390 s390x %{arm}
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
BuildRequires: libnl3-devel BuildRequires: libnl3-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: libuuid-devel BuildRequires: libuuid-devel
BuildRequires: rdma-core-devel
BuildRequires: sysfsutils BuildRequires: sysfsutils
%if %{without hpc} %if %{without hpc}
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@ -289,25 +282,30 @@ BuildRequires: hwloc-devel
%if %{with pmix} %if %{with pmix}
BuildRequires: pmix-devel BuildRequires: pmix-devel
%endif %endif
#%if "%{build_flavor}" == "psm" && %{with skip_hpc_build} %if "%{build_flavor}" == "ofi"
ExclusiveArch: %ix86 x86_64 BuildRequires: libfabric-devel
%ifarch x86_64 %{ix86}
BuildRequires: infinipath-psm-devel BuildRequires: infinipath-psm-devel
#%endif %endif
#%if "%{build_flavor}" == "psm2" && %{with skip_hpc_build} %ifarch x86_64
ExclusiveArch: x86_64
BuildRequires: libpsm2-devel BuildRequires: libpsm2-devel
#%endif %endif
%if "%{build_flavor}" == "verbs"
BuildRequires: infiniband-diags-devel
BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel BuildRequires: librdmacm-devel
%if 0%{?sle_version} <= 120200
BuildRequires: libibmad-devel
%endif
%endif %endif
BuildRequires: libfabric-devel %if "%{build_flavor}" == "ucx"
BuildRequires: libucm-devel >= 1.7.0
BuildRequires: libucp-devel >= 1.7.0
BuildRequires: libucs-devel >= 1.7.0
BuildRequires: libuct-devel >= 1.7.0
# UCX is only available for 64b archs
ExcludeArch: %ix86 %arm
%endif
# Temporary: armv7 is broken due to Fortran Float issues
ExcludeArch: %arm
BuildRequires: python3 BuildRequires: python3
%if %{without hpc} %if %{without hpc}
@ -328,16 +326,14 @@ is based on MPICH2 and MVICH.
Summary: OSU MVAPICH3 MPI package Summary: OSU MVAPICH3 MPI package
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
Requires: %{name} = %{version} Requires: %{name} = %{version}
%if "%{build_flavor}" == "psm" %if "%{build_flavor}" == "ofi"
Requires: infinipath-psm-devel Requires: libfabric-devel
%endif %endif
%if "%{build_flavor}" == "psm2" %if "%{build_flavor}" == "ucx"
Requires: libpsm2-devel Requires: libucm-devel >= 1.7.0
%endif Requires: libucp-devel >= 1.7.0
%if "%{build_flavor}" == "verbs" Requires: libucs-devel >= 1.7.0
Requires: libibumad-devel Requires: libuct-devel >= 1.7.0
Requires: libibverbs-devel
Requires: librdmacm-devel
%endif %endif
%if %{without hpc} %if %{without hpc}
Requires: gcc-c++ Requires: gcc-c++
@ -425,21 +421,18 @@ export FFLAGS="-fallow-argument-mismatch $FFLAGS"
--disable-wrapper-rpath \ --disable-wrapper-rpath \
--enable-yield=sched_yield \ --enable-yield=sched_yield \
%if %{with hwloc} %if %{with hwloc}
--with-hwloc=external \ --with-hwloc-prefix=%{_prefix} \
%endif %endif
%if %{with pmix} %if %{with pmix}
--with-pmix=${_prefix} \ --with-pmix=${_prefix} \
%endif %endif
%if "%{build_flavor}" == "psm" %if "%{build_flavor}" == "ofi"
--with-device=ch3:psm \ --with-ofi \
--with-psm=/usr \ --with-device=ch4:ofi \
%endif %endif
%if "%{build_flavor}" == "psm2" %if "%{build_flavor}" == "ucx"
--with-device=ch3:psm \ --with-ucx \
--with-psm2=/usr \ --with-device=ch4:ucx \
%endif
%if "%{build_flavor}" == "verbs"
--disable-ibv-dlopen \
%endif %endif
--without-mpe --without-mpe
make %{?_smp_mflags} V=1 make %{?_smp_mflags} V=1
@ -607,18 +600,10 @@ fi
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%dir %{p_libdir}/pkgconfig %{p_libdir}/pkgconfig
%{p_mandir}/man3/* %{p_mandir}/man3/*
%{p_includedir} %{p_includedir}
%{p_libdir}/*.so %{p_libdir}/*.so
%if "%flavor" == "gnu-hpc"
# wtf ?!
/usr/lib/hpc/gnu13/mpi/mvapich3/3.0b/lib64/pkgconfig/mvapich.pc
/usr/lib/hpc/gnu13/mpi/mvapich3/3.0b/lib64/pkgconfig/yaksa.pc
%else
%{_libdir}/mpi/gcc/mvapich3/lib64/pkgconfig/mvapich.pc
%{_libdir}/mpi/gcc/mvapich3/lib64/pkgconfig/yaksa.pc
%endif
%files devel-static %files devel-static
%defattr(-,root,root) %defattr(-,root,root)