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>
<package>standard</package>
<package>testsuite</package>
<package>ofi</package>
<package>ofi-testsuite</package>
<package>gnu-hpc</package>
<package>gnu-hpc-testsuite</package>
<package>gnu-hpc-ofi-testsuite</package>
</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>

View File

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