22 Commits

Author SHA256 Message Date
Nicolas Morey
f02c6a436f Update to v5.0.9
Signed-off-by: Nicolas Morey <nmorey@suse.com>
2025-10-31 09:07:37 +01:00
b719259536 Add Gitea build results 2025-10-27 17:35:41 +01:00
ca949bb47e Accepting request 1301458 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1301458
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=16
2025-08-27 19:33:20 +00:00
40a0347aed - Enable Grid Cluster Scheduler support (jsc#PED-13373)
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=35
2025-08-26 15:20:44 +00:00
34902c0ee1 Accepting request 1285181 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1285181
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=15
2025-06-13 16:42:54 +00:00
8e7149c689 - Update to 5.0.8
- Functionality Enhancements
    - UCC collective operations:
      Improved handling of MPI_IN_PLACE in allgather, allgatherv, alltoall,
      alltoallv, gather, gatherv, scatter, and scatterv operations
    - UCX OSC: Added support for "no_locks" info key to disable lock table usage
    - OFI MTL: Enhanced CXI provider support for better compatibility
    - AARCH64: Added SVE detection alongside NEON in aarch64 op component
    - Fortran: Fixed common symbol sizes and alignments for better compatibility
  - Bug Fixes and Minor Enhancements
    - Hugepage Mpool: Fixed sizing of hugepages for better memory management
    - Configure: Fixed --with-prrte=internal option handling
    - Documentation: Updated shared memory and networking documentation
    - Build system: Fixed support for flang on OSX
    - Removed unused spread contrib sample scripts
    - Various documentation updates and improvements
    - CI: Removed Ubuntu 18 and RHEL 7 from test matrix
    - Fixed type mismatch errors in shared memory components
    - Updated Java configuration for latest Fedora releases
    - Fixed memory zone reference counting in UCX dynamic windows
- Remove Fix-type-mismatch-error.patch to fix a compilation error
  as it was merged upstream.

OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=33
2025-06-12 14:32:45 +00:00
1a15b9e8fb Accepting request 1281139 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1281139
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=14
2025-06-01 19:36:13 +00:00
fc3217c927 - Add Force-alignment-of-opal_atomic_int128_t-to-be-16B.patch to fix a 128b CAS issue on
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=31
2025-05-29 12:20:25 +00:00
a6f36aee74 - Fix bad git_ver appearing in VERSION
- Add disable-atomic-cas-128b-on-s390x.patch to fix a 128b CAS issue on
  s390x (bsc#1243680)

OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=30
2025-05-27 09:07:36 +00:00
5ed905f310 Accepting request 1269645 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1269645
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=13
2025-04-16 18:37:24 +00:00
9230b55a54 - Remove bad dependency from openmpi5-testsuite to openmpi5-testsuite-libs
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=28
2025-04-15 14:18:56 +00:00
8e15dc437e Accepting request 1265555 from science:HPC
- Remove support for gnu-hpc build flavours.

- Disable gnu-hpc build flavours (bsc#1239982)

OBS-URL: https://build.opensuse.org/request/show/1265555
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=12
2025-04-03 14:45:49 +00:00
ee474d67d4 - Remove support for gnu-hpc build flavours.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=26
2025-03-30 15:33:59 +00:00
0258f269ae - Disable gnu-hpc build flavours (bsc#1239982)
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=25
2025-03-24 16:01:06 +00:00
c912b32e5b Accepting request 1247230 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1247230
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=11
2025-02-26 16:13:46 +00:00
1f7b9ae050 Accepting request 1247214 from home:NMorey:branches:science:HPC
- Update to 5.0.7 (jsc#PED-11356):
  - Updated UCX version requirement to v1.9
  - Documentation Improvements
    - Updated `coll tuned` rules file documentation to reflect changes in versioning and features.
    - Updated CUDA-related networking documentation for consistency.
    - Improved descriptions for `mpirun` options, including ``--pmixmca`` and ``--prtemca``.
    - Fixed typos and formatting issues in `mpirun` man pages.
  - Functionality Enhancements
    - Improved argument checking for ``MPI_Comm_create_from_group`` and ``MPI_Intercomm_create_from_groups`` to align with MPI 4.0 standards.
    - Addressed potential race conditions in `PMIx_Group_construct` calls by adding discriminators.
    - Fixed ``MPI_Wtime`` to initialize timing relative to ``MPI_Init`` for accurate session-level measurements.
    - Added support for the `alltoall_algorithm_max_requests` parameter in the `coll tuned` rules file, maintaining backward compatibility.
    - Introduced a version identifier for the `coll tuned` rules file for better parser handling.
    - Adjusted MCA variable scopes across multiple components to allow setting via the `MPI_T` interface: `coll adapt,ucc, han, basic, hcoll`
  - Bug Fixes and Minor Enhancements
    - Ensures that singletons properly create their own sessions directory trees.
    - Fixed community Jenkins build pipeline to handle branch commits properly.
    - Resolved missing profiling symbols in the `mpi_f08` Fortran library.
    - Corrected parameter mismatches in `coll/cuda` functions to avoid type issues.
    - Fixed build issues on Hurd.
    - Removed unused portions of rcache base structure.
    - Fixed oshmem base segment address exchange.
    - Fixed UCC collective fallback issue.
    - Updated Nvidia/Mellanox platform file
- openMPI 5 is now the default openmpi for suse_version >= 1600
- Switch to dist tarball to drop Sphinx and other python dependencies
- Add Fix-type-mismatch-error.patch to fix a compilation error

OBS-URL: https://build.opensuse.org/request/show/1247214
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=23
2025-02-19 20:06:01 +00:00
de5ba3a760 Accepting request 1232846 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1232846
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=10
2024-12-20 22:11:37 +00:00
52bc192a7f Accepting request 1232843 from home:NMorey:branches:science:HPC
- Add mtl-ofi-fix-missing-definition-of-container_of.patch to fix
  compilation issue with libfabric >= 2.0

- Update to 5.0.6 (jsc#PED-11356):
  - Session Management Enhancements:
    - Finalization Control: Ensures proper finalization of classes when references
      to the OPAL utility layer reach zero. A new smoke test has been added to
      validate this behavior.
    - Multiple Init/Finalize Handling: Improvements to handling session multiple
      initializations and finalizations, addressing issues with parameter
      management and session destruction.
  - MPI Communication and Resource Management:
    - Info Duplication: Enhanced `MPI_Info_dup` function to ensure consistent
      key management across duplicated info objects, supporting better memory
      and resource handling.
    - OFI/Initialization Improvements: Refactored code for OFI common components
      to support session-based initialization models per MPI 4 standards.
    - Resource Leak Fixes: Addressed memory leaks and reference count issues
      in several components to improve memory management and stability in
      high-demand environments.
  - Detailed Locking Protocol: Modified default file-locking protocols in UFS
    component to ensure data consistency, especially when using data-sieving
    operations, which require broader locking.
  - MPI_T Interface Enhancements: Modified MCA parameter settings to allow
    runtime tuning of collectives through the MPI_T interface, adding flexibility
    for dynamic rules in collective operations.
  - Corrected various documentation typos and clarified parameter settings in
    several API references, improving readability and usability for end users.
- Disable LTO as it is not supported by OpenPMIX
- Disable direct verbs (openib) support. It has been deprecated since v4.x.

OBS-URL: https://build.opensuse.org/request/show/1232843
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=21
2024-12-20 14:00:31 +00:00
f0092d065a Accepting request 1193453 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1193453
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=9
2024-08-13 11:24:03 +00:00
05e2363ac9 Accepting request 1193408 from home:NMorey:branches:science:HPC
- Update to 5.0.5
  - btl/ofi: retry posting receive buffer
  - btl/uct: check return status from some uct funcs
  - fortran: use -Wl,-ld_classic if supported
  - fortran: parameterize the install location of Fortran MPI bindings modulefiles
    via the configure --with-mpi-moduledir CLI option
  - fortran: various configury improvements
  - use-mpi-f08: add missing subroutines in the mpi_f08 module
  - pml/base: remove redundant copy of ompi_mpi_thread_multiple
  - pml/cm: release datatype object in send completion callback
  - pml/ucx: propagate MPI serialized thread mode for all worker creations
  - pml/ob1: make no. of events an mca parameter
  - oshmem/shmem: fix warnings regarding types and unused variables in shmem
  - Add an AARCH64 OP component for for NEON and SVE ISA
  - Fix MPI function names in error output
  - Fix MPI_Neighbor_alltoall{v,w}_init to handle NULL parameters
  - Fix a bug in intercomm creation
  - Fix a bug in ompi_comm_lookup function to handle partially ready communicators
  - Fix error message in ompi_comm_get_rproc
  - Fix opal_basename for single character filenames
  - Fix rpm build test
  - Fix the info subscriber mechanism and hidden info keys
  - Fix ulfm bugs in ishrink/agree/iagree
  - Improve libcuda.so find command to follow symlinks
  - Improve pkgconfig installation logic in script wrapper
  - Change default tar format to tar-pax
  - Various document updates

OBS-URL: https://build.opensuse.org/request/show/1193408
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=19
2024-08-12 14:28:38 +00:00
08dc5b5744 Accepting request 1183457 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1183457
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi5?expand=0&rev=8
2024-06-27 14:02:42 +00:00
fffe99f997 Accepting request 1183455 from home:NMorey:branches:science:HPC
- Update to 5.0.3
  - Fix HAN MPI_Scatter intra-node data count and type 
  - Add missing write memory barrier in btl/smcuda 
  - Fix MPI_Alltoallv and MPI_Ialltoallv data count and type check
  - Enhance cuda-aware build by detecting default --with-cuda-lib value
  - Enhance ofi NIC selection logic
  - Fix an illegal memory access bug in mtl/ofi
  - Multiple bugfixes in rocm accelerator 
  - Fix a double free bug in oshmem
  - Add missing oshmem headers
  - Fix uninitialized lock in btl/usnic
  - Fix uninitialized mutex in file_open
  - Fix compiler warnings about unused cid_base variable
  - Enhance autogen submodule checks
  - Various document updates

OBS-URL: https://build.opensuse.org/request/show/1183455
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi5?expand=0&rev=17
2024-06-26 14:32:44 +00:00
8 changed files with 269 additions and 266 deletions

12
README.md Normal file
View File

@@ -0,0 +1,12 @@
## Build Results
Current state of openmpi5 in openSUSE:Factory is
![Factory build results](https://br.opensuse.org/status/openSUSE:Factory/openmpi5/standard)
The current state of openmpi5 in the devel project build (science:HPC)
![Devel project build results](https://br.opensuse.org/status/science:HPC/openmpi5)

View File

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

View File

@@ -1,17 +0,0 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/open-mpi/ompi.git</param>
<param name="package-meta">no</param>
<param name="exclude">.git</param>
<param name="filename">openmpi</param>
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="revision">6db5e83b737a9b70c4e77a2bcf06ab641adffe2a</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">openmpi*.tar</param>
<param name="compression">bz2</param>
</service>
</services>

View File

@@ -1,21 +0,0 @@
#
# openmpi
#
%hpc_openmpi_init(V:) \
%{-V: %define _mf_ver %{-V*}} \
%{expand: %%global hpc_openmpi_dep_version %%{?_mf_ver}%%{?!_mf_ver:3}} \
%{expand: %%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}} \
%{expand: %%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}} \
%{expand: %%global _hpc_openmpi_modules openmpi}
# We may have to add a version here.
%hpc_setup_openmpi \
module load openmpi
%hpc_openmpi_requires \
Requires: libopenmpi%{hpc_openmpi_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc
%hpc_openmpi_requires_devel \
Requires: openmpi%{hpc_openmpi_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc-devel

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7bbdbb669d686bd7f62402be52c611acdc402125112f20f6b537757e5edba1a
size 15677588

BIN
openmpi-5.0.9.tar.bz2 LFS Normal file

Binary file not shown.

View File

@@ -1,3 +1,203 @@
-------------------------------------------------------------------
Fri Oct 31 07:56:03 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 5.0.9
- Functionality Enhancements
- GPFS: Added support for GPFS 5.2.3-0 and newer versions
- OFI: Enhanced accelerator memory support with proper rcache flag handling
- OFI: Added memory monitor export for better memory management
- ROCm: Added missing header for memcpy operations in accelerator component
- UCC: Set node local id for better collective operation performance
- UCX: Set node local id in PML component for improved communication
- Bug Fixes and Minor Enhancements
- PML OB1: Fixed critical bug in MCA_PML_OB1_ADD_ACK_TO_PENDING that could cause memory overruns or allocation failures
- CUDA: Fixed CUDA detection when multiple libcuda.so files exist in CUDA install directory
- Fortran: Fixed off-by-one string copy error in C2F string conversion
- Fortran: Fixed ompi string c2f conversion when Fortran string length is less than C string length
- Threading: Fixed OMPI_MPI_THREAD_LEVEL environment variable handling to allow useful overrides in threaded library use cases
- Threading: Enhanced OMPI_MPI_THREAD_LEVEL to accept both numeric (0-3) and string ('multiple', 'MPI_THREAD_MULTIPLE', etc.) values
- OSC: Fixed rdma component when not using ob1 PML
- S390x: Fixed alignment of opal_atomic_int128_t to be 16-byte aligned
- Configury: Improved Fortran complex(real16) testing and module file cleanup
- Documentation: Fixed MCA environment variable prefix documentation for PRRTE
- Documentation: Updated MPI_Init*/MPI_Finalize*/MPI_Session_* man pages with numerous improvements
- Build system: Removed whitespace from conftestval-style tests and cleaned up configuration
- Drop patches merged upstream:
- Force-alignment-of-opal_atomic_int128_t-to-be-16B.patch
- mtl-ofi-fix-missing-definition-of-container_of.patch
-------------------------------------------------------------------
Tue Aug 5 18:48:52 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Enable Grid Cluster Scheduler support (jsc#PED-13373)
-------------------------------------------------------------------
Thu Jun 12 08:35:43 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 5.0.8
- Functionality Enhancements
- UCC collective operations:
Improved handling of MPI_IN_PLACE in allgather, allgatherv, alltoall,
alltoallv, gather, gatherv, scatter, and scatterv operations
- UCX OSC: Added support for "no_locks" info key to disable lock table usage
- OFI MTL: Enhanced CXI provider support for better compatibility
- AARCH64: Added SVE detection alongside NEON in aarch64 op component
- Fortran: Fixed common symbol sizes and alignments for better compatibility
- Bug Fixes and Minor Enhancements
- Hugepage Mpool: Fixed sizing of hugepages for better memory management
- Configure: Fixed --with-prrte=internal option handling
- Documentation: Updated shared memory and networking documentation
- Build system: Fixed support for flang on OSX
- Removed unused spread contrib sample scripts
- Various documentation updates and improvements
- CI: Removed Ubuntu 18 and RHEL 7 from test matrix
- Fixed type mismatch errors in shared memory components
- Updated Java configuration for latest Fedora releases
- Fixed memory zone reference counting in UCX dynamic windows
- Remove Fix-type-mismatch-error.patch to fix a compilation error
as it was merged upstream.
-------------------------------------------------------------------
Mon May 26 15:52:53 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Fix bad git_ver appearing in VERSION
- Add Force-alignment-of-opal_atomic_int128_t-to-be-16B.patch to fix a 128b CAS issue on
s390x (bsc#1243680)
-------------------------------------------------------------------
Tue Apr 15 11:18:46 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Remove bad dependency from openmpi5-testsuite to openmpi5-testsuite-libs
-------------------------------------------------------------------
Sat Mar 29 14:47:03 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Remove support for gnu-hpc build flavours.
-------------------------------------------------------------------
Mon Mar 24 12:52:42 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Disable gnu-hpc build flavours (bsc#1239982)
-------------------------------------------------------------------
Wed Feb 19 15:57:56 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 5.0.7 (jsc#PED-11356):
- Updated UCX version requirement to v1.9
- Documentation Improvements
- Updated `coll tuned` rules file documentation to reflect changes in versioning and features.
- Updated CUDA-related networking documentation for consistency.
- Improved descriptions for `mpirun` options, including ``--pmixmca`` and ``--prtemca``.
- Fixed typos and formatting issues in `mpirun` man pages.
- Functionality Enhancements
- Improved argument checking for ``MPI_Comm_create_from_group`` and ``MPI_Intercomm_create_from_groups`` to align with MPI 4.0 standards.
- Addressed potential race conditions in `PMIx_Group_construct` calls by adding discriminators.
- Fixed ``MPI_Wtime`` to initialize timing relative to ``MPI_Init`` for accurate session-level measurements.
- Added support for the `alltoall_algorithm_max_requests` parameter in the `coll tuned` rules file, maintaining backward compatibility.
- Introduced a version identifier for the `coll tuned` rules file for better parser handling.
- Adjusted MCA variable scopes across multiple components to allow setting via the `MPI_T` interface: `coll adapt,ucc, han, basic, hcoll`
- Bug Fixes and Minor Enhancements
- Ensures that singletons properly create their own sessions directory trees.
- Fixed community Jenkins build pipeline to handle branch commits properly.
- Resolved missing profiling symbols in the `mpi_f08` Fortran library.
- Corrected parameter mismatches in `coll/cuda` functions to avoid type issues.
- Fixed build issues on Hurd.
- Removed unused portions of rcache base structure.
- Fixed oshmem base segment address exchange.
- Fixed UCC collective fallback issue.
- Updated Nvidia/Mellanox platform file
- openMPI 5 is now the default openmpi for suse_version >= 1600
- Switch to dist tarball to drop Sphinx and other python dependencies
- Add Fix-type-mismatch-error.patch to fix a compilation error
-------------------------------------------------------------------
Fri Dec 20 11:50:25 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Add mtl-ofi-fix-missing-definition-of-container_of.patch to fix
compilation issue with libfabric >= 2.0
-------------------------------------------------------------------
Tue Nov 26 07:14:11 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 5.0.6 (jsc#PED-11356):
- Session Management Enhancements:
- Finalization Control: Ensures proper finalization of classes when references
to the OPAL utility layer reach zero. A new smoke test has been added to
validate this behavior.
- Multiple Init/Finalize Handling: Improvements to handling session multiple
initializations and finalizations, addressing issues with parameter
management and session destruction.
- MPI Communication and Resource Management:
- Info Duplication: Enhanced `MPI_Info_dup` function to ensure consistent
key management across duplicated info objects, supporting better memory
and resource handling.
- OFI/Initialization Improvements: Refactored code for OFI common components
to support session-based initialization models per MPI 4 standards.
- Resource Leak Fixes: Addressed memory leaks and reference count issues
in several components to improve memory management and stability in
high-demand environments.
- Detailed Locking Protocol: Modified default file-locking protocols in UFS
component to ensure data consistency, especially when using data-sieving
operations, which require broader locking.
- MPI_T Interface Enhancements: Modified MCA parameter settings to allow
runtime tuning of collectives through the MPI_T interface, adding flexibility
for dynamic rules in collective operations.
- Corrected various documentation typos and clarified parameter settings in
several API references, improving readability and usability for end users.
- Disable LTO as it is not supported by OpenPMIX
- Disable direct verbs (openib) support. It has been deprecated since v4.x.
RDMA devices should now be used through ofi/libfabric.
-------------------------------------------------------------------
Mon Aug 12 09:52:54 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 5.0.5
- btl/ofi: retry posting receive buffer
- btl/uct: check return status from some uct funcs
- fortran: use -Wl,-ld_classic if supported
- fortran: parameterize the install location of Fortran MPI bindings modulefiles
via the configure --with-mpi-moduledir CLI option
- fortran: various configury improvements
- use-mpi-f08: add missing subroutines in the mpi_f08 module
- pml/base: remove redundant copy of ompi_mpi_thread_multiple
- pml/cm: release datatype object in send completion callback
- pml/ucx: propagate MPI serialized thread mode for all worker creations
- pml/ob1: make no. of events an mca parameter
- oshmem/shmem: fix warnings regarding types and unused variables in shmem
- Add an AARCH64 OP component for for NEON and SVE ISA
- Fix MPI function names in error output
- Fix MPI_Neighbor_alltoall{v,w}_init to handle NULL parameters
- Fix a bug in intercomm creation
- Fix a bug in ompi_comm_lookup function to handle partially ready communicators
- Fix error message in ompi_comm_get_rproc
- Fix opal_basename for single character filenames
- Fix rpm build test
- Fix the info subscriber mechanism and hidden info keys
- Fix ulfm bugs in ishrink/agree/iagree
- Improve libcuda.so find command to follow symlinks
- Improve pkgconfig installation logic in script wrapper
- Change default tar format to tar-pax
- Various document updates
-------------------------------------------------------------------
Wed Jun 26 08:18:40 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 5.0.3
- Fix HAN MPI_Scatter intra-node data count and type
- Add missing write memory barrier in btl/smcuda
- Fix MPI_Alltoallv and MPI_Ialltoallv data count and type check
- Enhance cuda-aware build by detecting default --with-cuda-lib value
- Enhance ofi NIC selection logic
- Fix an illegal memory access bug in mtl/ofi
- Multiple bugfixes in rocm accelerator
- Fix a double free bug in oshmem
- Add missing oshmem headers
- Fix uninitialized lock in btl/usnic
- Fix uninitialized mutex in file_open
- Fix compiler warnings about unused cid_base variable
- Enhance autogen submodule checks
- Various document updates
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Mar 25 07:40:50 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com> Mon Mar 25 07:40:50 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>

View File

@@ -1,7 +1,7 @@
# #
# spec file # spec file for package openmpi5
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana # Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology # University Research and Technology
# Corporation. All rights reserved. # Corporation. All rights reserved.
@@ -37,102 +37,55 @@
%global flavor @BUILD_FLAVOR@%{nil} %global flavor @BUILD_FLAVOR@%{nil}
# Static libraries are disabled by default # Static libraries are disabled by default
# for non HPC builds
# To enable them, simply uncomment: # To enable them, simply uncomment:
# % define build_static_devel 1 # % define build_static_devel 1
%define pname openmpi
%define _vers 5_0_2
%define m_f_ver 5
%bcond_with ringdisabled %bcond_with ringdisabled
%if "%flavor" == "" %if "%flavor" == ""
ExclusiveArch: do_not_build ExclusiveArch: do_not_build
%{bcond_with hpc} %endif
%define package_name %pname%{m_f_ver}
%else
# Trickery for OBS Staging. If _with_ringdisabled is set # Trickery for OBS Staging. If _with_ringdisabled is set
# we only want to build the flavors required by other rings packages. # we only want to build the flavors required by other rings packages.
# Do not build any other ones # Do not build any other ones
%if %{with ringdisabled} %if %{with ringdisabled} && "%flavor" != "standard"
%if "%flavor" != "standard"
ExclusiveArch: do_not_build ExclusiveArch: do_not_build
%endif %endif
%endif
%if "%flavor" == "standard" || "%flavor" == "testsuite"
%define package_name %{pname}%{m_f_ver}
%bcond_with hpc
%if "%flavor" == "testsuite" %if "%flavor" == "testsuite"
%define testsuite 1 %define testsuite 1
%endif %endif
%else
%bcond_without hpc
# Needs to be defined here to avoid hen/egg problem with test packages.
%define package_name %{pname}_%{_vers}-%{compiler_family}%{?c_f_ver}-hpc
%define build_static_devel 1
%endif
%endif
%if "%flavor" == "gnu-hpc"
%define compiler_family gnu
%undefine c_f_ver
%endif
%if "%flavor" == "gnu7-hpc"
%define compiler_family gnu
%define c_f_ver 7
%endif
%if "%flavor" == "gnu-hpc-testsuite"
%define compiler_family gnu
%undefine c_f_ver
%define testsuite 1
%endif
%if "%flavor" == "gnu7-hpc-testsuite"
%define compiler_family gnu
%define c_f_ver 7
%define testsuite 1
%endif
%if 0%{?suse_version} >= 1320
%ifarch aarch64 %power64 x86_64 s390x %ifarch aarch64 %power64 x86_64 s390x
%define with_ucx 1 %define with_ucx 1
%endif %endif
%endif
# Detect whether we are the default openMPI implemantation or not
%if "%{flavor}" == "standard" && (%{suse_version} >= 1600)
%define default_openmpi 1
%else
%define default_openmpi 0 %define default_openmpi 0
%if %{with hpc}
%{!?compiler_family:%global compiler_family gnu}
%{hpc_init -M -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} -m openmpi %{?mpi_f_ver:-V %{mpi_f_ver}}}
%global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER})
%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
%endif %endif
%define git_ver .0.6db5e83b737a
############################################################################# #############################################################################
# #
# Preamble Section # Preamble Section
# #
############################################################################# #############################################################################
Name: %{package_name}%{?testsuite:-testsuite} Name: openmpi5%{?testsuite:-testsuite}
Version: 5.0.2 Version: 5.0.9
Release: 0 Release: 0
Summary: An implementation of MPI/SHMEM (Version %{m_f_ver}) Summary: An implementation of MPI/SHMEM (Version 5)
License: BSD-3-Clause License: BSD-3-Clause
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
URL: http://www.open-mpi.org/ URL: http://www.open-mpi.org/
Source0: openmpi-%{version}%{git_ver}.tar.bz2 Source0: https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-%{version}.tar.bz2
Source2: openmpi5-rpmlintrc Source2: openmpi5-rpmlintrc
Source3: macros.hpc-openmpi
Source4: mpivars.sh Source4: mpivars.sh
Source5: mpivars.csh Source5: mpivars.csh
Source100: README.md
Patch1: romio341-backport-fixes-from-mpich.patch Patch1: romio341-backport-fixes-from-mpich.patch
Provides: mpi Provides: mpi
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -146,16 +99,13 @@ BuildRequires: hwloc-devel
BuildRequires: libevent-devel BuildRequires: libevent-devel
BuildRequires: libfabric-devel BuildRequires: libfabric-devel
BuildRequires: libibumad-devel BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel
BuildRequires: libtool BuildRequires: libtool
# net-tools is required to run hostname # net-tools is required to run hostname
BuildRequires: net-tools BuildRequires: net-tools
BuildRequires: python3 BuildRequires: python3
BuildRequires: python3-Sphinx >= 4.2.0
BuildRequires: python3-recommonmark
%if 0%{?testsuite} %if 0%{?testsuite}
BuildArch: noarch BuildArch: noarch
BuildRequires: %{package_name} = %{version} BuildRequires: openmpi5 = %{version}
%endif %endif
%if 0%{?with_ucx} %if 0%{?with_ucx}
BuildRequires: libucm-devel BuildRequires: libucm-devel
@@ -163,22 +113,14 @@ BuildRequires: libucp-devel
BuildRequires: libucs-devel BuildRequires: libucs-devel
BuildRequires: libuct-devel BuildRequires: libuct-devel
%endif %endif
%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
Requires: %{package_name}-libs = %{version} %if !0%{?testsuite}
%else Requires: %{name}-libs = %{version}
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires: lua-lmod
BuildRequires: suse-hpc
%if 0%{!?testsuite:1}
Requires: lib%{package_name} = %{version}
%endif
%hpc_requires
%endif %endif
%ifarch x86_64 %ifarch x86_64
@@ -188,7 +130,7 @@ BuildRequires: numactl
%endif %endif
Requires: openmpi-runtime-config Requires: openmpi-runtime-config
Recommends: openmpi%{m_f_ver}-config Recommends: %{name}-config
%if 0%{?default_openmpi} %if 0%{?default_openmpi}
Provides: openmpi = %{version} Provides: openmpi = %{version}
%endif %endif
@@ -196,26 +138,14 @@ Provides: openmpi = %{version}
# Force ssh to make sure the install works out of the box # Force ssh to make sure the install works out of the box
Requires: openssh Requires: openssh
%if %{without hpc} %define mpi_prefix %{_libdir}/mpi/gcc/%{name}
%define mpi_prefix %{_libdir}/mpi/gcc/openmpi%{m_f_ver}
%define mpi_bindir %{mpi_prefix}/bin %define mpi_bindir %{mpi_prefix}/bin
%define mpi_libdir %{mpi_prefix}/%{_lib} %define mpi_libdir %{mpi_prefix}/%{_lib}
%define mpi_datadir %{mpi_prefix}/share %define mpi_datadir %{mpi_prefix}/share
%define mpi_helpdir %{mpi_datadir}/%{pname}%{m_f_ver} %define mpi_helpdir %{mpi_datadir}/%{name}
%define mpi_includedir %{mpi_prefix}/include %define mpi_includedir %{mpi_prefix}/include
%define mpi_mandir %{mpi_prefix}/share/man %define mpi_mandir %{mpi_prefix}/share/man
%else
%define mpi_prefix %hpc_prefix
%define mpi_bindir %hpc_bindir
%define mpi_libdir %hpc_libdir
%define mpi_datadir %hpc_datadir
%define mpi_helpdir %{mpi_datadir}/openmpi
%define mpi_includedir %hpc_includedir
%define mpi_mandir %hpc_mandir
%endif
%description %description
%if 0%{?testsuite} %if 0%{?testsuite}
@@ -235,20 +165,19 @@ one-sided communication techniques.
This package provides general tools (mpirun, mpiexec, etc.) and the This package provides general tools (mpirun, mpiexec, etc.) and the
Module Component Architecture (MCA) base and plugins necessary for Module Component Architecture (MCA) base and plugins necessary for
running Open MPI/OpenSHMEM version %{m_f_ver} jobs. running Open MPI/OpenSHMEM version %{version} jobs.
%endif %endif
%if 0%{!?testsuite:1} %if 0%{!?testsuite:1}
%package %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}} %package libs
Summary: OpenMPI runtime libraries for OpenMPI %{?with_hpc:HPC} version %{version} Summary: OpenMPI runtime libraries for OpenMPI %{?with_hpc:HPC} version %{version}
Group: System/Libraries Group: System/Libraries
Requires: %{name} = %{version} Requires: %{name} = %{version}
%if 0%{?default_openmpi} %if 0%{?default_openmpi}
Provides: openmpi-libs = %{version} Provides: openmpi-libs = %{version}
%endif %endif
%{?with_hpc:%hpc_requires}
%description %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}} %description libs
OpenMPI is an implementation of the Message Passing Interface, a OpenMPI is an implementation of the Message Passing Interface, a
standardized API typically used for parallel and/or distributed standardized API typically used for parallel and/or distributed
computing. OpenMPI is the merged result of four prior implementations computing. OpenMPI is the merged result of four prior implementations
@@ -260,22 +189,17 @@ programming API, which is a Partitioned Global Address Space (PGAS)
abstraction layer providing inter-process communication using abstraction layer providing inter-process communication using
one-sided communication techniques. one-sided communication techniques.
This package provides the Open MPI/OpenSHMEM version %{m_f_ver} This package provides the Open MPI/OpenSHMEM version %{version}
shared libraries. shared libraries.
%package devel %package devel
Summary: SDK for openMPI %{?with_hpc:HPC} version %{version} Summary: SDK for openMPI version %{version}
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
Requires: libibumad-devel Requires: libibumad-devel
Requires: libibverbs-devel
%if %{without hpc}
Requires: libstdc++-devel Requires: libstdc++-devel
%if 0%{?default_openmpi} %if 0%{?default_openmpi}
Provides: openmpi-devel = %{version} Provides: openmpi-devel = %{version}
%endif %endif
%else
%hpc_requires_devel
%endif
Requires: %{name} = %{version} Requires: %{name} = %{version}
%description devel %description devel
@@ -291,11 +215,11 @@ abstraction layer providing inter-process communication using
one-sided communication techniques. one-sided communication techniques.
This package provides the development files for Open MPI/OpenSHMEM This package provides the development files for Open MPI/OpenSHMEM
version %{m_f_ver}, such as wrapper compilers and header files for version %{version}, such as wrapper compilers and header files for
MPI/OpenSHMEM development. MPI/OpenSHMEM development.
%package docs %package docs
Summary: Documentation for Open MPI/SHMEM %{?with_hpc:HPC} version %{version} Summary: Documentation for Open MPI/SHMEM version %{version}
Group: Documentation/Man Group: Documentation/Man
Requires: %{name} = %{version} Requires: %{name} = %{version}
@@ -318,11 +242,11 @@ Summary: Macros for openMPI version %{version}
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
Requires: %{name}-devel = %{version} Requires: %{name}-devel = %{version}
# Make sure no two openmpi macro file can be installed at once # Make sure no two openmpi macro file can be installed at once
Provides: %{pname}-macros-provider = %{version} Provides: openmpi-macros-provider = %{version}
Conflicts: otherproviders(%{pname}-macros-provider) Conflicts: otherproviders(openmpi-macros-provider)
# Conflict (without providing) with the older openmpi-hpc-macros-devel flag # Conflict (without providing) with the older openmpi-hpc-macros-devel flag
# to avoid issue with older packages # to avoid issue with older packages
Conflicts: otherproviders(%{pname}-hpc-macros-devel) Conflicts: otherproviders(openmpi-hpc-macros-devel)
%if 0%{?default_openmpi} %if 0%{?default_openmpi}
Provides: openmpi-macros-devel = %{version} Provides: openmpi-macros-devel = %{version}
@@ -333,7 +257,7 @@ Macros for building RPM packages for OpenMPI version %{version}.
%if 0%{?build_static_devel} %if 0%{?build_static_devel}
%package devel-static %package devel-static
Summary: Static libraries for openMPI %{?with_hpc:HPC} version %{version} Summary: Static libraries for openMPI version %{version}
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
Requires: %{name}-devel = %{version} Requires: %{name}-devel = %{version}
%if 0%{?default_openmpi} %if 0%{?default_openmpi}
@@ -351,9 +275,8 @@ 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 %{without hpc} %package config
%package -n %{pname}%{m_f_ver}-config Summary: Runtime configuration files for openMPI version %{version}
Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version %{version}
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
Provides: openmpi-runtime-config = %{version} Provides: openmpi-runtime-config = %{version}
Conflicts: otherproviders(openmpi-runtime-config) Conflicts: otherproviders(openmpi-runtime-config)
@@ -361,7 +284,7 @@ Conflicts: otherproviders(openmpi-runtime-config)
Provides: pmix-runtime-config = %{version} Provides: pmix-runtime-config = %{version}
Conflicts: otherproviders(pmix-runtime-config) Conflicts: otherproviders(pmix-runtime-config)
%description -n %{pname}%{m_f_ver}-config %description config
OpenMPI is an implementation of the Message Passing Interface, a OpenMPI is an implementation of the Message Passing Interface, a
standardized API typically used for parallel and/or distributed standardized API typically used for parallel and/or distributed
computing. OpenMPI is the merged result of four prior implementations computing. OpenMPI is the merged result of four prior implementations
@@ -369,26 +292,13 @@ where the team found for them to excel in one or more areas,
such as latency or throughput. such as latency or throughput.
This RPM contains the configuration files for OpenMPI runtime (Version 3). This RPM contains the configuration files for OpenMPI runtime (Version 3).
%endif
%if %{with hpc}
%{hpc_master_package -L -a}
%{hpc_master_package -l}
%{hpc_master_package devel}
%{hpc_master_package docs}
%{hpc_master_package macros-devel}
%{hpc_master_package -a devel-static}
%endif # ?with_hpc
%endif # !testsuite %endif # !testsuite
# We do provide our own PMIx and should not create any requires/excludes # We do provide our own PMIx and should not create any requires/excludes
%global __provides_exclude_from %{mpi_libdir}/libpmix.*.so %global __provides_exclude_from %{mpi_libdir}/libpmix.*.so
%global __requires_exclude libpmix* %global __requires_exclude libpmix*
%if "%(echo %version | tr '.' '_')" != "%_vers"
%{error: Fix _vers variable to match package version!}
%endif
############################################################################# #############################################################################
# #
# Prepatory Section # Prepatory Section
@@ -396,16 +306,10 @@ This RPM contains the configuration files for OpenMPI runtime (Version 3).
############################################################################# #############################################################################
%prep %prep
echo FLAVOR %{flavor} echo FLAVOR %{flavor}
%if %{with hpc} %autosetup -p0 -n openmpi-%{version}
echo with HPC
%endif
%if %{without hpc}
echo without HPC
%endif
%autosetup -p0 -n openmpi-%{version}%{git_ver}
# Live patch the VERSION file # Live patch the VERSION file
sed -i -e 's/^greek=.*$/greek=%{git_ver}/' -e 's/^repo_rev=.*$/repo_rev=%{version}%{git_ver}/' \ sed -i -e 's/^greek=.*$/greek=/' -e 's/^repo_rev=.*$/repo_rev=%{version}/' \
-e 's/^date=.*$/date="OpenMPI %{version} Distribution for SUSE"/' VERSION -e 's/^date=.*$/date="OpenMPI %{version} Distribution for SUSE"/' VERSION
############################################################################# #############################################################################
@@ -419,15 +323,14 @@ sed -i -e 's/^greek=.*$/greek=%{git_ver}/' -e 's/^repo_rev=.*$/repo_rev=%{versio
export USER=OBS export USER=OBS
export HOSTNAME=OBS export HOSTNAME=OBS
# OBS sets SOURCE_DATE_EPOCH # OBS sets SOURCE_DATE_EPOCH
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects # OpenPMIx does not support LTO:
%{?with_hpc:%hpc_debug} # configure: WARNING: Configure has detected the presence of the -flto
# Remove .gitmodules so autogen.pl does not try to run git commands # configure: WARNING: compiler directive in CFLAGS. PMIx does not currently
find . -name .gitmodules -delete # configure: WARNING: support this flag as it conflicts with the
# configure: WARNING: plugin architecture of the PMIx library.
# configure: error: Please remove this directive and re-run configure.
%global _lto_cflags %{nil}
./autogen.pl --force --no-3rdparty libevent,hwloc ./autogen.pl --force --no-3rdparty libevent,hwloc
%if %{with hpc}
%{hpc_setup}
%{hpc_configure} \
%else
%{configure} \ %{configure} \
--prefix="%{mpi_prefix}" \ --prefix="%{mpi_prefix}" \
--exec-prefix="%{mpi_prefix}" \ --exec-prefix="%{mpi_prefix}" \
@@ -436,13 +339,12 @@ find . -name .gitmodules -delete
--includedir="%{mpi_includedir}" \ --includedir="%{mpi_includedir}" \
--libdir="%{mpi_libdir}" \ --libdir="%{mpi_libdir}" \
--mandir="%{mpi_mandir}" \ --mandir="%{mpi_mandir}" \
%endif
--with-libevent=external \ --with-libevent=external \
--with-hwloc=external \ --with-hwloc=external \
%{?build_static_devel:--enable-static} \ %{?build_static_devel:--enable-static} \
%{!?build_static_devel:--disable-static} \ %{!?build_static_devel:--disable-static} \
--enable-builtin-atomics \ --enable-builtin-atomics \
--with-verbs \ --without-verbs \
--with-libfabric \ --with-libfabric \
%if 0%{?with_ucx} %if 0%{?with_ucx}
--with-ucx \ --with-ucx \
@@ -450,6 +352,7 @@ find . -name .gitmodules -delete
--enable-mpi-thread-multiple \ --enable-mpi-thread-multiple \
--disable-wrapper-rpath \ --disable-wrapper-rpath \
--with-slurm \ --with-slurm \
--with-sge \
%if 0%{?with_ucx} %if 0%{?with_ucx}
--with-ucx \ --with-ucx \
--with-ucx-libdir=/usr/%_lib \ --with-ucx-libdir=/usr/%_lib \
@@ -483,7 +386,6 @@ make check
############################################################################# #############################################################################
%install %install
%{?with_hpc:%{hpc_setup_compiler}}
make install DESTDIR="%buildroot" make install DESTDIR="%buildroot"
# sanitize .la files # sanitize .la files
@@ -516,7 +418,6 @@ rm -f %{buildroot}%{mpi_libdir}/mpi_ext.mod
%fdupes %{buildroot}%{mpi_datadir} %fdupes %{buildroot}%{mpi_datadir}
%fdupes %{buildroot}%{mpi_libdir}/pkgconfig %fdupes %{buildroot}%{mpi_libdir}/pkgconfig
%if %{without hpc}
# make and install mpivars files # make and install mpivars files
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE4} \ sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE4} \
> %{buildroot}%{mpi_bindir}/mpivars.sh > %{buildroot}%{mpi_bindir}/mpivars.sh
@@ -553,56 +454,7 @@ cat <<EOF >%{buildroot}%{_rpmmacrodir}/macros.openmpi
%openmpi_devel_requires Requires: %{name}-devel %openmpi_devel_requires Requires: %{name}-devel
EOF EOF
%else
%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}
setenv MPI_DIR %{hpc_mpi_install_path}
prepend-path PATH %{hpc_bindir}
prepend-path MANPATH %{hpc_mandir}
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
prepend-path MODULEPATH %{hpc_modulepath}
%{hpc_modulefile_add_pkgconfig_path}
family "MPI"
EOF
cat <<EOF > %{buildroot}/%{mpi_bindir}/mpivars.sh
%hpc_setup_compiler
module load %{hpc_mpi_family}%{?pack_suff}/%{version}
EOF
sed -e "s/export/setenv/" -e "s/=/ /" \
%{buildroot}/%{mpi_bindir}/mpivars.sh > \
%{buildroot}/%{mpi_bindir}/mpivars.csh
mkdir -p %{buildroot}%{_rpmmacrodir}
mkdir -p %{buildroot}%{_rpmmacrodir}
cp %{S:3} %{buildroot}%{_rpmmacrodir}
# Drop the files that should go into %{pname}-config as we only package them
# in the non HPC build
rm -f %{buildroot}%{_sysconfdir}/prte-default-hostfile
rm -f %{buildroot}%{_sysconfdir}/prte-mca-params.conf
rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl
rm -f %{buildroot}%{_sysconfdir}/pmix-mca-params.conf
rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf
rm -f %{buildroot}%{_sysconfdir}/prte.conf
%endif
%if %{without hpc}
%post %post
# 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
@@ -623,18 +475,10 @@ fi
%post libs -p /sbin/ldconfig %post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig
%else #!?with_hpc
# make it default
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
%postun
%hpc_module_delete_if_default
%endif #!?with_hpc
%files %files
%defattr(-, root, root) %defattr(-, root, root)
%doc docs/news/news-v5.0.x.rst README.md %doc docs/release-notes/changelog/v5.0.x.rst README.md
%license LICENSE %license LICENSE
%dir %{mpi_prefix} %dir %{mpi_prefix}
%dir %{mpi_bindir} %dir %{mpi_bindir}
@@ -643,20 +487,15 @@ fi
%dir %{mpi_mandir} %dir %{mpi_mandir}
%{mpi_bindir}/mpivars.csh %{mpi_bindir}/mpivars.csh
%{mpi_bindir}/mpivars.sh %{mpi_bindir}/mpivars.sh
%if %{without hpc}
%dir %{_libdir}/mpi %dir %{_libdir}/mpi
%dir %{_libdir}/mpi/gcc %dir %{_libdir}/mpi/gcc
%dir %{_datadir}/modules/gnu-openmpi %dir %{_datadir}/modules/gnu-openmpi
%{_datadir}/modules/gnu-openmpi/%{version} %{_datadir}/modules/gnu-openmpi/%{version}
%else # with hpc
%hpc_mpi_dirs
%hpc_modules_files
%endif # with hpc
# #
%{mpi_bindir}/oshrun %{mpi_bindir}/oshrun
%{mpi_bindir}/mpirun %{mpi_bindir}/mpirun
%{mpi_bindir}/ompi_info %{mpi_bindir}/ompi_info
%{mpi_bindir}/palloc
%{mpi_bindir}/pattrs %{mpi_bindir}/pattrs
%{mpi_bindir}/pctrl %{mpi_bindir}/pctrl
%{mpi_bindir}/pevent %{mpi_bindir}/pevent
@@ -687,7 +526,7 @@ fi
%{mpi_datadir}/prte/amca-param-sets/example.conf %{mpi_datadir}/prte/amca-param-sets/example.conf
%{mpi_datadir}/prte/help-*.txt %{mpi_datadir}/prte/help-*.txt
%files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}} %files libs
%defattr(-,root,root) %defattr(-,root,root)
%dir %mpi_prefix/ %dir %mpi_prefix/
%dir %mpi_libdir/ %dir %mpi_libdir/
@@ -707,10 +546,8 @@ fi
%{mpi_libdir}/*.so %{mpi_libdir}/*.so
%{mpi_libdir}/pkgconfig/*.pc %{mpi_libdir}/pkgconfig/*.pc
%{mpi_libdir}/mpi.mod %{mpi_libdir}/mpi.mod
%if 0%{?suse_version} >= 1320
%{mpi_libdir}/mpi_f08*.mod %{mpi_libdir}/mpi_f08*.mod
%{mpi_libdir}/pmpi_f08*.mod %{mpi_libdir}/pmpi_f08*.mod
%endif
%{mpi_bindir}/mpiCC %{mpi_bindir}/mpiCC
%{mpi_bindir}/mpic++ %{mpi_bindir}/mpic++
%{mpi_bindir}/mpicc %{mpi_bindir}/mpicc
@@ -743,11 +580,7 @@ fi
%files macros-devel %files macros-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%if %{with hpc}
%{_rpmmacrodir}/macros.hpc-openmpi
%else
%{_rpmmacrodir}/macros.openmpi %{_rpmmacrodir}/macros.openmpi
%endif
%if 0%{?build_static_devel} %if 0%{?build_static_devel}
%files devel-static %files devel-static
@@ -758,15 +591,13 @@ fi
%{mpi_libdir}/openmpi/*.a %{mpi_libdir}/openmpi/*.a
%endif %endif
%if %{without hpc} %files config
%files -n %{pname}%{m_f_ver}-config
%config %{_sysconfdir}/prte-default-hostfile %config %{_sysconfdir}/prte-default-hostfile
%config %{_sysconfdir}/prte-mca-params.conf %config %{_sysconfdir}/prte-mca-params.conf
%config %{_sysconfdir}/pmix-mca-params.conf %config %{_sysconfdir}/pmix-mca-params.conf
%config %{_sysconfdir}/openmpi-mca-params.conf %config %{_sysconfdir}/openmpi-mca-params.conf
%{_sysconfdir}/openmpi-totalview.tcl %{_sysconfdir}/openmpi-totalview.tcl
%config %{_sysconfdir}/prte.conf %config %{_sysconfdir}/prte.conf
%endif
%endif # !?testsuite %endif # !?testsuite