forked from pool/mpich
Compare commits
9 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 0de26d06e3 | |||
| ed256dcfb4 | |||
| 676e345393 | |||
| b2677afd16 | |||
| 751f748c71 | |||
| 9a0939998e | |||
| 5734d84e32 | |||
| 82176c5905 | |||
| c03905df39 |
@@ -3,8 +3,4 @@
|
|||||||
<package>testsuite</package>
|
<package>testsuite</package>
|
||||||
<package>ofi</package>
|
<package>ofi</package>
|
||||||
<package>ofi-testsuite</package>
|
<package>ofi-testsuite</package>
|
||||||
<package>gnu-hpc</package>
|
|
||||||
<package>gnu-hpc-testsuite</package>
|
|
||||||
<package>gnu-hpc-ofi</package>
|
|
||||||
<package>gnu-hpc-ofi-testsuite</package>
|
|
||||||
</multibuild>
|
</multibuild>
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
#
|
|
||||||
# mpich
|
|
||||||
#
|
|
||||||
|
|
||||||
%hpc_mpich_init(V:) \
|
|
||||||
%{-V: %define _mf_ver %{-V*}} \
|
|
||||||
%{expand: %%global hpc_mpich_dep_version %%{?_mf_ver}} \
|
|
||||||
%{expand: %%global hpc_mpich_dir mpich%{hpc_mpich_dep_version}} \
|
|
||||||
%global hpc_mpich_pack_version %{hpc_mpich_dep_version} \
|
|
||||||
%{expand: %%global _hpc_mpich_modules mpich}
|
|
||||||
|
|
||||||
# We may have to add a version here.
|
|
||||||
%hpc_setup_mpich \
|
|
||||||
module load mpich
|
|
||||||
|
|
||||||
%hpc_mpich_requires \
|
|
||||||
Requires: mpich%{hpc_mpich_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc
|
|
||||||
|
|
||||||
%hpc_mpich_requires_devel \
|
|
||||||
Requires: mpich%{hpc_mpich_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc-devel
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3492e98adab62b597ef0d292fb2459b6123bc80070a8aa0a30be6962075a12f0
|
|
||||||
size 39250122
|
|
||||||
BIN
mpich-4.3.0.tar.gz
LFS
Normal file
BIN
mpich-4.3.0.tar.gz
LFS
Normal file
Binary file not shown.
125
mpich.changes
125
mpich.changes
@@ -1,3 +1,128 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Mar 29 14:25:11 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
|
||||||
|
|
||||||
|
- Remove support for gnu-hpc build flavours
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 24 12:49:48 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
|
||||||
|
|
||||||
|
- Disable gnu-hpc build flavours (bsc#1239982)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 19 15:24:58 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
|
||||||
|
|
||||||
|
- Update to 4.3.0
|
||||||
|
- Support MPI memory allocation kinds side document.
|
||||||
|
- Support MPI ABI Proposal. Configure with --enable-mpi-abi and build with
|
||||||
|
mpicc_abi. By default, mpicc still builds and links with MPICH ABI.
|
||||||
|
- Added benchmark tests test/mpi/bench/p2p_{latency,bw}.
|
||||||
|
- Added CMA support in CH4 IPC.
|
||||||
|
- Added IPC read algorithm for intranode Allgather and Allgatherv.
|
||||||
|
- Added CVAR MPIR_CVAR_CH4_SHM_POSIX_TOPO_ENABLE to enable non-temporal memcpy
|
||||||
|
for inter-numa shm communication.
|
||||||
|
- Added CVAR MPIR_CVAR_DEBUG_PROGRESS_TIMEOUT for debugging MPI deadlock issues.
|
||||||
|
- ch4:ucx now supports dynamic processes. MPI_Comm_spawn{_multiple} will work.
|
||||||
|
MPI_Open_port will fail due to ucx port name exceeds current MPI_MAX_PORT_NAME
|
||||||
|
of 256. One can work around by use an info hint "port_name_size" and use a
|
||||||
|
larger port name buffer.
|
||||||
|
- PMI-1 defines PMI_MAX_PORT_NAME, which may be different from MPI_MAX_PORT_NAME.
|
||||||
|
This is used by "PMI_Lookup_name". Consequently, MPI_Lookup_name accepts info
|
||||||
|
hint "port_name_size" that may be larger than MPI_MAX_PORT_NAME. If the port
|
||||||
|
name does not fit in "port_name_size", it will return a truncation error.
|
||||||
|
- Autogen default to use -yaksa-depth=2.
|
||||||
|
- Default MPIR_CVAR_CH4_ROOTS_ONLY_PMI to on.
|
||||||
|
- Added ch4 netmod API am_tag_send and am_tag_recv.
|
||||||
|
- Added MPIR_CVAR_CH4_OFI_EAGER_THRESHOLD to force RNDV send mode.
|
||||||
|
- Make check target will run ROMIO tests.
|
||||||
|
- Add back handle conversion macros (f2c/c2f) to preserve ABI
|
||||||
|
compatibility with older MPICH libraries
|
||||||
|
- Fix compilation issue with g++ in -std=gnu++20 mode
|
||||||
|
- Fix bug in MPI_ANY_SOURCE handling observed using the libfabric CXI
|
||||||
|
provider
|
||||||
|
- Add NIC information to error messages in ch4:ofi netmod
|
||||||
|
- Add romio-disable-tests.patch to disable romio tests
|
||||||
|
as they cannot be ran within %check
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 12 10:30:53 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
|
||||||
|
|
||||||
|
- Update to 4.2.2
|
||||||
|
- Update embedded libfabric to v1.20.1 and fix compilation with GCC 14.
|
||||||
|
- Fix dataloop support for MPIX_Type_iov routines
|
||||||
|
- Fix crash in Hydra when system has many local ip addresses
|
||||||
|
- Fix RMA fallback check in ch4:ofi netmod
|
||||||
|
- Fix MPI_UNDEFINED handling in mpi_f08 module
|
||||||
|
- Fix Slurm environment variable inheritance in Hydra
|
||||||
|
- Fix multiple issues with large count support in ROMIO
|
||||||
|
- Fix potential hang in init using PMIx client and nonstandard keys
|
||||||
|
- Fix crash if PMIx client cannot get appnum from server during init
|
||||||
|
- Fix other build errors and warnings
|
||||||
|
- Disable flat_namespace to build libmpifort on macOS by default
|
||||||
|
- Prefix warning messages with "MPICH"
|
||||||
|
- Add --disable-doc configure option
|
||||||
|
- Fix support for building MPICH Fortran support with Xcode 15 on macOS
|
||||||
|
- Fix bug in MPI_WIN_SHARED_QUERY when window is not shared
|
||||||
|
- Fix bug in ch4/ofi gpu pipelining
|
||||||
|
- Fixes for Intel GPU support
|
||||||
|
- Fix memory leak in ch4/shm collectives
|
||||||
|
- Fix bug in MPI_COMM_SPLIT with intercommunicators and non-zero root
|
||||||
|
- Fix bug in DAOS ROMIO driver
|
||||||
|
- Fix bug in cycling error code array
|
||||||
|
- Return an error if there is failure to create a datatype in mpi_f08
|
||||||
|
module for noncontiguous user data
|
||||||
|
- Return an error when shared memory segment creation fails
|
||||||
|
- Complete support MPI 4.1 specification
|
||||||
|
- Experimental thread communicator feature (e.g. MPIX_Threadcomm_init).
|
||||||
|
See paper "Frustrated With MPI+Threads? Try MPIxThreads!",
|
||||||
|
https://doi.org/10.1145/3615318.3615320.
|
||||||
|
- Experimental datatype functions MPIX_Type_iov_len and MPIX_Type_Iov
|
||||||
|
- Experimental op MPIX_EQUAL for MPI_Reduce and MPI_Allreduce (intra
|
||||||
|
communicator only)
|
||||||
|
- Use --with-{pmi,pmi2,pmix]=[path] to configure external PMI library.
|
||||||
|
Convenience options for Slurm and cray deprecated. Use --with-pmi=oldcray
|
||||||
|
for older Cray environment.
|
||||||
|
- Error checking default changed to runtime (used to be all).
|
||||||
|
- Use the error handler bound to MPI_COMM_SELF as the default error handler.
|
||||||
|
- Use ierror instead of ierr in "use mpi" Fortran interface. This affects
|
||||||
|
user code if they call with explicit keyword, e.g. call MPI_Init(ierr=arg).
|
||||||
|
"ierror" is the correct name specified in the MPI specification. We only
|
||||||
|
added subroutine interface in "mpi.mod" since 4.1.
|
||||||
|
- Handle conversion functions, such as MPI_Comm_c2f, MPI_Comm_f2c, etc., are
|
||||||
|
no longer macros. MPI-4.1 require these to be actual functions.
|
||||||
|
- Yaksa updated to auto detect the GPU architecture and only build for
|
||||||
|
the detected arch. This applies to CUDA and HIP support.
|
||||||
|
- MPI_Win_shared_query can be used on windows created by MPI_Win_create,
|
||||||
|
MPI_Win_allocate, in addition to windows created by MPI_Win_allocate_shared.
|
||||||
|
MPI_Win_allocate will create shared memory whenever feasible, including between
|
||||||
|
spawned processes on the same node.
|
||||||
|
- Fortran mpi.mod support Type(c_ptr) buffer output for MPI_Alloc_mem,
|
||||||
|
MPI_Win_allocate, and MPI_Win_allocate_shared.
|
||||||
|
- New functions added in MPI-4.1: MPI_Remove_error_string, MPI_Remove_error_code,
|
||||||
|
and MPI_Remove_error_class
|
||||||
|
- New functions added in MPI-4.1: MPI_Request_get_status_all,
|
||||||
|
MPI_Request_get_status_any, and MPI_Request_get_status_some.
|
||||||
|
- New function added in MPI-4.1: MPI_Type_get_value_index.
|
||||||
|
- New functions added in MPI-4.1: MPI_Comm_attach_buffer, MPI_Session_attach_buffer,
|
||||||
|
MPI_Comm_detach_buffer, MPI_Session_detach_buffer,
|
||||||
|
MPI_Buffer_flush, MPI_Comm_flush_buffer, MPI_Session_flush_buffer,
|
||||||
|
MPI_Buffer_iflush, MPI_Comm_iflush_buffer, and MPI_Session_iflush_buffer.
|
||||||
|
Also added constant MPI_BUFFER_AUTOMATIC to allow automatic buffers.
|
||||||
|
- Support for "mpi_memory_alloc_kinds" info key. Memory allocation kind
|
||||||
|
requests can be made via argument to mpiexec, or as info during
|
||||||
|
session creation. Kinds supported are "mpi" (with standard defined
|
||||||
|
restrictors) and "system". Queries for supported kinds can be made on
|
||||||
|
MPI objects such as sessions, comms, windows, or files. MPI 4.1 states
|
||||||
|
that supported kinds can also be found in MPI_INFO_ENV, but it was
|
||||||
|
decided at the October 2023 meeting that this was a mistake and will
|
||||||
|
be removed in an erratum.
|
||||||
|
- Fix potential crash in GPU memory hooks
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 25 13:15:12 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
|
||||||
|
|
||||||
|
- Remove unneeded sysfsutil dependency
|
||||||
|
- Do no build hpc flavours on 32b systems
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 22 11:59:42 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
Wed May 22 11:59:42 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
|||||||
298
mpich.spec
298
mpich.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file
|
# spec file for package mpich
|
||||||
#
|
#
|
||||||
# Copyright (c) 2023 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -24,185 +24,25 @@
|
|||||||
# % define build_static_devel 1
|
# % define build_static_devel 1
|
||||||
|
|
||||||
%define pname mpich
|
%define pname mpich
|
||||||
%define vers 4.1.2
|
|
||||||
%define _vers 4_1_2
|
|
||||||
|
|
||||||
%if "%{flavor}" == ""
|
%if "%{flavor}" == ""
|
||||||
ExclusiveArch: do_not_build
|
ExclusiveArch: do_not_build
|
||||||
%{bcond_with hpc}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{flavor}" == "standard"
|
%if "%{flavor}" == "standard"
|
||||||
%define build_flavor ucx
|
%define build_flavor ucx
|
||||||
%{bcond_with hpc}
|
|
||||||
%endif
|
%endif
|
||||||
%if "%{flavor}" == "testsuite"
|
%if "%{flavor}" == "testsuite"
|
||||||
%define build_flavor ucx
|
%define build_flavor ucx
|
||||||
%define testsuite 1
|
%define testsuite 1
|
||||||
%{bcond_with hpc}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{flavor}" == "ofi"
|
%if "%{flavor}" == "ofi"
|
||||||
%define build_flavor ofi
|
%define build_flavor ofi
|
||||||
%{bcond_with hpc}
|
|
||||||
%endif
|
%endif
|
||||||
%if "%{flavor}" == "ofi-testsuite"
|
%if "%{flavor}" == "ofi-testsuite"
|
||||||
%define build_flavor ofi
|
%define build_flavor ofi
|
||||||
%define testsuite 1
|
%define testsuite 1
|
||||||
%{bcond_with hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu-hpc"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%undefine c_f_ver
|
|
||||||
%define build_flavor ucx
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu-hpc-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%undefine c_f_ver
|
|
||||||
%define testsuite 1
|
|
||||||
%define build_flavor ucx
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu-hpc-ofi"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%undefine c_f_ver
|
|
||||||
%define build_flavor ofi
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu-hpc-ofi-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%undefine c_f_ver
|
|
||||||
%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 ucx
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu7-hpc-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 7
|
|
||||||
%define testsuite 1
|
|
||||||
%define build_flavor ucx
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu7-hpc-ofi"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 7
|
|
||||||
%define build_flavor ofi
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu7-hpc-ofi-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 7
|
|
||||||
%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 ucx
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu8-hpc-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 8
|
|
||||||
%define testsuite 1
|
|
||||||
%define build_flavor ucx
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu8-hpc-ofi"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 8
|
|
||||||
%define build_flavor ofi
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu8-hpc-ofi-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 8
|
|
||||||
%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 ucx
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu9-hpc-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 9
|
|
||||||
%define testsuite 1
|
|
||||||
%define build_flavor ucx
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu9-hpc-ofi"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 9
|
|
||||||
%define build_flavor ofi
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu9-hpc-ofi-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 9
|
|
||||||
%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 ucx
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu10-hpc-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 10
|
|
||||||
%define testsuite 1
|
|
||||||
%define build_flavor ucx
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%flavor" == "gnu10-hpc-ofi"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 10
|
|
||||||
%define build_flavor ofi
|
|
||||||
%define build_static_devel 1
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
|
||||||
%if "%flavor" == "gnu10-hpc-ofi-testsuite"
|
|
||||||
%define compiler_family gnu
|
|
||||||
%define c_f_ver 10
|
|
||||||
%define testsuite 1
|
|
||||||
%define build_flavor ofi
|
|
||||||
%{bcond_without hpc}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{build_flavor}" != "ucx"
|
%if "%{build_flavor}" != "ucx"
|
||||||
@@ -217,7 +57,6 @@ ExclusiveArch: do_not_build
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{without hpc}
|
|
||||||
%define module_name mpich%{?pack_suff}
|
%define module_name mpich%{?pack_suff}
|
||||||
%define p_prefix /usr/%_lib/mpi/gcc/%{module_name}
|
%define p_prefix /usr/%_lib/mpi/gcc/%{module_name}
|
||||||
%define p_bindir %{p_prefix}/bin
|
%define p_bindir %{p_prefix}/bin
|
||||||
@@ -228,36 +67,21 @@ ExclusiveArch: do_not_build
|
|||||||
%define p_libexecdir %{p_prefix}/%{_lib}
|
%define p_libexecdir %{p_prefix}/%{_lib}
|
||||||
%define _moduledir /usr/share/modules/gnu-%{module_name}
|
%define _moduledir /usr/share/modules/gnu-%{module_name}
|
||||||
%define package_name %{pname}%{?pack_suff}
|
%define package_name %{pname}%{?pack_suff}
|
||||||
%else
|
|
||||||
%{hpc_init -M -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} -m mpich %{?pack_suff:-e %{build_flavor}} %{?mpi_f_ver:-V %{mpi_f_ver}}}
|
|
||||||
%define p_prefix %{hpc_prefix}
|
|
||||||
%define p_bindir %{hpc_bindir}
|
|
||||||
%define p_datadir %{hpc_datadir}
|
|
||||||
%define p_includedir %{hpc_includedir}
|
|
||||||
%define p_mandir %{hpc_mandir}
|
|
||||||
%define p_libdir %{hpc_libdir}
|
|
||||||
%define p_libexecdir %{hpc_libexecdir}
|
|
||||||
%define package_name %{pname}%{?pack_suff}_%{_vers}-%{compiler_family}%{?c_f_ver}-hpc
|
|
||||||
|
|
||||||
%global hpc_mpich_dep_version %(VER=%{?m_f_ver}; echo -n ${VER})
|
|
||||||
%global hpc_mpich_dir mpich
|
|
||||||
%global hpc_mpich_pack_version %{hpc_mpich_dep_version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Name: %{package_name}%{?testsuite:-testsuite}
|
Name: %{package_name}%{?testsuite:-testsuite}
|
||||||
Version: %{vers}
|
Version: 4.3.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: High-performance and widely portable implementation of MPI
|
Summary: High-performance and widely portable implementation of MPI
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Libraries/Parallel
|
Group: Development/Libraries/Parallel
|
||||||
URL: http://www.mpich.org/
|
URL: http://www.mpich.org/
|
||||||
Source0: http://www.mpich.org/static/downloads/%{version}/mpich-%{vers}.tar.gz
|
Source0: http://www.mpich.org/static/downloads/%{version}/mpich-%{version}.tar.gz
|
||||||
Source1: mpivars.sh
|
Source1: mpivars.sh
|
||||||
Source2: mpivars.csh
|
Source2: mpivars.csh
|
||||||
Source3: macros.hpc-mpich
|
|
||||||
Source100: _multibuild
|
Source100: _multibuild
|
||||||
Patch1: autogen-only-deal-with-json-yaksa-if-enabled.patch
|
Patch1: autogen-only-deal-with-json-yaksa-if-enabled.patch
|
||||||
Patch2: autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch
|
Patch2: autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch
|
||||||
|
Patch3: romio-disable-tests.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@@ -275,7 +99,6 @@ BuildRequires: libtool
|
|||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: mpi-selector
|
BuildRequires: mpi-selector
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: sysfsutils
|
|
||||||
|
|
||||||
%if "%{build_flavor}" == "ofi"
|
%if "%{build_flavor}" == "ofi"
|
||||||
BuildRequires: libfabric-devel
|
BuildRequires: libfabric-devel
|
||||||
@@ -291,19 +114,12 @@ ExcludeArch: %ix86 %arm
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Provides: mpi
|
Provides: mpi
|
||||||
%if %{without hpc}
|
|
||||||
BuildRequires: Modules
|
BuildRequires: Modules
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gcc-fortran
|
BuildRequires: gcc-fortran
|
||||||
BuildRequires: mpi-selector
|
BuildRequires: mpi-selector
|
||||||
Requires: mpi-selector
|
Requires: mpi-selector
|
||||||
Requires(preun):mpi-selector
|
Requires(preun): mpi-selector
|
||||||
%else
|
|
||||||
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
|
||||||
BuildRequires: lua-lmod
|
|
||||||
BuildRequires: suse-hpc
|
|
||||||
%hpc_requires
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?testsuite}
|
%if 0%{?testsuite}
|
||||||
BuildRequires: %package_name = %{version}
|
BuildRequires: %package_name = %{version}
|
||||||
@@ -326,15 +142,11 @@ The goals of MPICH are:
|
|||||||
%if 0%{!?testsuite:1}
|
%if 0%{!?testsuite:1}
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: SDK for MPICH %{?with_hpc:HPC} version %{version}
|
Summary: SDK for MPICH version %{version}
|
||||||
Group: Development/Libraries/Parallel
|
Group: Development/Libraries/Parallel
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
%if %{without hpc}
|
|
||||||
Requires: libstdc++-devel
|
|
||||||
%else
|
|
||||||
%hpc_requires_devel
|
|
||||||
%endif
|
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
Requires: libstdc++-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
MPICH is a freely available, portable implementation of MPI, the
|
MPICH is a freely available, portable implementation of MPI, the
|
||||||
@@ -344,21 +156,9 @@ headers and libraries needed for developing MPI applications.
|
|||||||
This RPM contains all the wrappers necessary to compile, link, and run
|
This RPM contains all the wrappers necessary to compile, link, and run
|
||||||
Open MPI jobs.
|
Open MPI jobs.
|
||||||
|
|
||||||
%if %{with hpc}
|
|
||||||
%package macros-devel
|
|
||||||
Summary: HPC Macros for MPICH version %{version}
|
|
||||||
Group: Development/Libraries/Parallel
|
|
||||||
Requires: %{name}-devel = %{version}
|
|
||||||
Provides: %{pname}-hpc-macros-devel = %{version}
|
|
||||||
Conflicts: otherproviders(%{pname}-hpc-macros-devel)
|
|
||||||
|
|
||||||
%description macros-devel
|
|
||||||
HPC Macros for building RPM packages for MPICH version %{version}.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?build_static_devel}
|
%if 0%{?build_static_devel}
|
||||||
%package devel-static
|
%package devel-static
|
||||||
Summary: Static libraries for MPICH %{?with_hpc:HPC} version %{version}
|
Summary: Static libraries for MPICH version %{version}
|
||||||
Group: Development/Libraries/Parallel
|
Group: Development/Libraries/Parallel
|
||||||
Requires: %{name}-devel = %{version}
|
Requires: %{name}-devel = %{version}
|
||||||
|
|
||||||
@@ -371,23 +171,10 @@ This RPM contains the static library files, which are packaged separately from
|
|||||||
the dynamic library and headers.
|
the dynamic library and headers.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with hpc}
|
|
||||||
%{hpc_master_package -L -a}
|
|
||||||
%{hpc_master_package -a devel}
|
|
||||||
%{hpc_master_package macros-devel}
|
|
||||||
%{hpc_master_package -a devel-static}
|
|
||||||
%endif # ?with_hpc
|
|
||||||
|
|
||||||
%endif # ! testsuite
|
%endif # ! testsuite
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
echo FLAVOR %{flavor}
|
echo FLAVOR %{flavor}
|
||||||
%if %{with hpc}
|
|
||||||
echo with HPC
|
|
||||||
%endif
|
|
||||||
%if %{without hpc}
|
|
||||||
echo without HPC
|
|
||||||
%endif
|
|
||||||
%autosetup -p0 -n mpich-%{version}%{?rc_ver}
|
%autosetup -p0 -n mpich-%{version}%{?rc_ver}
|
||||||
|
|
||||||
# Make sure prebuilt dependencies are used and not mpich submodules
|
# Make sure prebuilt dependencies are used and not mpich submodules
|
||||||
@@ -397,17 +184,12 @@ rm -R modules/{ucx,libfabric,json-c}
|
|||||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
|
|
||||||
# GCC10 needs an extra flag to allow badly passed parameters
|
# GCC10 needs an extra flag to allow badly passed parameters
|
||||||
%if 0%{?suse_version} > 1500 || 0%{?hpc_gnu_dep_version} >= 10
|
%if 0%{?suse_version} > 1500
|
||||||
export FFLAGS="-fallow-argument-mismatch $FFLAGS"
|
export FFLAGS="-fallow-argument-mismatch $FFLAGS"
|
||||||
export FCFLAGS="-fallow-argument-mismatch $FCFLAGS"
|
export FCFLAGS="-fallow-argument-mismatch $FCFLAGS"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
./autogen.sh --without-ucx --without-ofi --without-json
|
./autogen.sh --without-ucx --without-ofi --without-json
|
||||||
%{?with_hpc:%hpc_debug}
|
|
||||||
%if %{with hpc}
|
|
||||||
%{hpc_setup}
|
|
||||||
%{hpc_configure} \
|
|
||||||
%else
|
|
||||||
%configure \
|
%configure \
|
||||||
--prefix=%{p_prefix} \
|
--prefix=%{p_prefix} \
|
||||||
--exec-prefix=%{p_prefix} \
|
--exec-prefix=%{p_prefix} \
|
||||||
@@ -417,7 +199,6 @@ export FCFLAGS="-fallow-argument-mismatch $FCFLAGS"
|
|||||||
--libdir=%{p_libdir} \
|
--libdir=%{p_libdir} \
|
||||||
--libexecdir=%{p_libexecdir} \
|
--libexecdir=%{p_libexecdir} \
|
||||||
--mandir=%{p_mandir} \
|
--mandir=%{p_mandir} \
|
||||||
%endif
|
|
||||||
--docdir=%{_datadir}/doc/%{name} \
|
--docdir=%{_datadir}/doc/%{name} \
|
||||||
--disable-rpath \
|
--disable-rpath \
|
||||||
--disable-wrapper-rpath \
|
--disable-wrapper-rpath \
|
||||||
@@ -477,7 +258,6 @@ make check
|
|||||||
|
|
||||||
%else
|
%else
|
||||||
|
|
||||||
%if %{without hpc}
|
|
||||||
# make and install mpivars files
|
# make and install mpivars files
|
||||||
install -m 0755 -d %{buildroot}%{_bindir}
|
install -m 0755 -d %{buildroot}%{_bindir}
|
||||||
sed -e 's,prefix,%p_prefix,g' -e 's,libdir,%{p_libdir},g' %{S:1} > %{buildroot}%{p_bindir}/mpivars.sh
|
sed -e 's,prefix,%p_prefix,g' -e 's,libdir,%{p_libdir},g' %{S:1} > %{buildroot}%{p_bindir}/mpivars.sh
|
||||||
@@ -507,47 +287,6 @@ cat << EOF > %{buildroot}%{_moduledir}/.version
|
|||||||
set ModulesVersion "%{version}"
|
set ModulesVersion "%{version}"
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
%else # with hpc
|
|
||||||
|
|
||||||
install -d -m 755 %{buildroot}%{_rpmmacrodir}
|
|
||||||
cp %{S:3} %{buildroot}%{_rpmmacrodir}
|
|
||||||
|
|
||||||
%hpc_write_modules_files
|
|
||||||
#%%Module1.0#####################################################################
|
|
||||||
|
|
||||||
proc ModulesHelp { } {
|
|
||||||
|
|
||||||
puts stderr " "
|
|
||||||
puts stderr "This module loads the %{pname} library built with the %{compiler_family} toolchain."
|
|
||||||
puts stderr "\nVersion %{version}\n"
|
|
||||||
|
|
||||||
}
|
|
||||||
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
|
|
||||||
module-whatis "Version: %{version}"
|
|
||||||
module-whatis "Category: runtime library"
|
|
||||||
module-whatis "Description: %{SUMMARY:0}"
|
|
||||||
module-whatis "URL: %{url}"
|
|
||||||
|
|
||||||
set version %{version}
|
|
||||||
|
|
||||||
prepend-path PATH %{hpc_bindir}
|
|
||||||
prepend-path MANPATH %{hpc_mandir}
|
|
||||||
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
|
||||||
prepend-path MODULEPATH %{hpc_modulepath}
|
|
||||||
prepend-path MPI_DIR %{hpc_prefix}
|
|
||||||
%{hpc_modulefile_add_pkgconfig_path}
|
|
||||||
|
|
||||||
family "MPI"
|
|
||||||
EOF
|
|
||||||
cat <<EOF > %{buildroot}/%{p_bindir}/mpivars.sh
|
|
||||||
%hpc_setup_compiler
|
|
||||||
module load %{hpc_mpi_family}%{?pack_suff}/%{version}
|
|
||||||
EOF
|
|
||||||
sed -e "s/export/setenv/" -e "s/=/ /" \
|
|
||||||
%{buildroot}/%{p_bindir}/mpivars.sh > \
|
|
||||||
%{buildroot}/%{p_bindir}/mpivars.csh
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
|
||||||
%endif # with hpc
|
|
||||||
|
|
||||||
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
||||||
|
|
||||||
@@ -555,18 +294,15 @@ find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
|||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%if %{without hpc}
|
|
||||||
# Always register. We might be already registered in the case of an udate
|
# Always register. We might be already registered in the case of an udate
|
||||||
# but mpi-selector handles it fine
|
# but mpi-selector handles it fine
|
||||||
/usr/bin/mpi-selector \
|
/usr/bin/mpi-selector \
|
||||||
--register %{name}%{?pack_suff} \
|
--register %{name}%{?pack_suff} \
|
||||||
--source-dir %{p_bindir} \
|
--source-dir %{p_bindir} \
|
||||||
--yes
|
--yes
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%if %{without hpc}
|
|
||||||
# Only unregister when uninstalling
|
# Only unregister when uninstalling
|
||||||
if [ "$1" = "0" ]; then
|
if [ "$1" = "0" ]; then
|
||||||
/usr/bin/mpi-selector --unregister %{name}%{?pack_suff} --yes
|
/usr/bin/mpi-selector --unregister %{name}%{?pack_suff} --yes
|
||||||
@@ -575,23 +311,15 @@ if [ "$1" = "0" ]; then
|
|||||||
/usr/bin/mpi-selector --system --unset --yes
|
/usr/bin/mpi-selector --system --unset --yes
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
%else
|
|
||||||
%hpc_module_delete_if_default
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc CHANGES COPYRIGHT README README.envvar RELEASE_NOTES
|
%doc CHANGES COPYRIGHT README README.envvar RELEASE_NOTES
|
||||||
%if %{without hpc}
|
|
||||||
%dir /usr/%_lib/mpi
|
%dir /usr/%_lib/mpi
|
||||||
%dir /usr/%_lib/mpi/gcc
|
%dir /usr/%_lib/mpi/gcc
|
||||||
%dir /usr/share/modules
|
%dir /usr/share/modules
|
||||||
%dir %{_moduledir}
|
%dir %{_moduledir}
|
||||||
%{_moduledir}
|
%{_moduledir}
|
||||||
%else
|
|
||||||
%hpc_mpi_dirs
|
|
||||||
%hpc_modules_files
|
|
||||||
%endif
|
|
||||||
%doc %{_datadir}/doc/*
|
%doc %{_datadir}/doc/*
|
||||||
%dir %{p_prefix}
|
%dir %{p_prefix}
|
||||||
%dir %{p_bindir}
|
%dir %{p_bindir}
|
||||||
@@ -619,12 +347,6 @@ fi
|
|||||||
%{p_libdir}/*.a
|
%{p_libdir}/*.a
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with hpc}
|
|
||||||
%files macros-devel
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%config %{_rpmmacrodir}/macros.hpc-mpich
|
|
||||||
%endif # with hpc
|
|
||||||
|
|
||||||
%endif # !testsuite
|
%endif # !testsuite
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
24
romio-disable-tests.patch
Normal file
24
romio-disable-tests.patch
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
commit 064abd16295dd402a436d9e9e3a1ad887c6fafb6
|
||||||
|
Author: Nicolas Morey <nmorey@suse.com>
|
||||||
|
Date: Wed Feb 19 19:45:08 2025 +0100
|
||||||
|
|
||||||
|
romio: disable tests
|
||||||
|
|
||||||
|
Tests assumes mpich to be fully installed which does not work
|
||||||
|
for %check
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey <nmorey@suse.com>
|
||||||
|
|
||||||
|
diff --git src/mpi/romio/Makefile.am src/mpi/romio/Makefile.am
|
||||||
|
index a6429766fd47..eb9ccd4f2f81 100644
|
||||||
|
--- src/mpi/romio/Makefile.am
|
||||||
|
+++ src/mpi/romio/Makefile.am
|
||||||
|
@@ -56,7 +56,7 @@ nodist_include_HEADERS += include/mpio.h include/mpiof.h
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-SUBDIRS = $(external_subdirs) . test
|
||||||
|
+SUBDIRS = $(external_subdirs) .
|
||||||
|
DIST_SUBDIRS = test test-internal $(external_dist_subdirs)
|
||||||
|
|
||||||
|
# for the sake of parallel make and avoiding an excessive number of convenience
|
||||||
Reference in New Issue
Block a user