SHA256
1
0
forked from pool/openmpi4

50 Commits

Author SHA256 Message Date
a8132fd761 Accepting request 1269646 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1269646
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=21
2025-04-16 18:37:26 +00:00
9ae38cd85a - Remove bad dependency from openmpi4-testsuite to openmpi4-testsuite-libs
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=50
2025-04-15 14:19:04 +00:00
ccc6316f59 Accepting request 1265559 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/1265559
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=20
2025-04-03 14:45:51 +00:00
0dd0c24f3c Remove obsolete hpc macro file
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=48
2025-03-30 15:40:10 +00:00
7d29ea3cb0 - Remove support for gnu-hpc build flavours.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=47
2025-03-30 15:32:22 +00:00
8a11d769e7 - Disable gnu-hpc build flavours (bsc#1239982)
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=46
2025-03-24 16:00:58 +00:00
2d029ddc5b Accepting request 1247231 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1247231
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=19
2025-02-26 16:13:49 +00:00
59b72343ea - Update to 4.1.8 (jsc#PED-11356):
- Allocate and exchange OpenSHMEM base segment addresses earlier in
    startup.
  - Fixed file_seek calculation when using SEEK_END and io/ompio.
  - Protect against using CUDA without VMM support.
  - Change several variables in coll/adapt, coll/basic, coll/han,
    coll/hcoll, and coll/ucc from READONLY to ALL scope so that they can
    be set via the MPI_T interface.
  - Add version identifier to rules file in coll/tuned and extend the
    dynamic rules file to support the alltoall_algorithm_max_requests
    tuning parameter.
- Change default openmpi to openmpi5 for suse_version >= 1600
- Add Fix-type-mismatch-error.patch to fix a compilation error

OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=44
2025-02-19 20:06:05 +00:00
e1b7bc7a4b Accepting request 1232847 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1232847
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=18
2024-12-22 16:58:58 +00:00
7d01296288 - Add mtl-ofi-fix-missing-definition-of-container_of.patch to fix
compilation with libfabric >= 2.0 (jsc#PED-9661, jsc#PED-10668)

OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=42
2024-12-20 14:00:37 +00:00
21d30e766e Accepting request 1227160 from science:HPC
- Update to 4.1.7 (jsc#PED-11355):
  - Fix int overflow bug in UCC collectives routine, which would impact
    large message collectives.
  - Fix SHMEM bounds checking warnings
  - Fix memory leak in the fcoll/vulcan component
  - Fix memory leak when using non-contiguious datatyles with pml/cm
    (used when using Libfabric or Portals transports)
  - Change default locking protocol for ufs IO component to fix data
    sieving use case.
  - Fix bug in Fortran / C interface array calculation.
  - Fix potential initialization in UCX OpenSHMEM support
  - Add OpenSHMEM support for symmetric remote key handling to improve
    scalability of OpenSHMEM interface.
  - Add MCS Locks as default implementation for OpenSHMEM locks.
  - Fix bug to properly handle ORTE Prefix of "/".
  - Fix bug in I/O interface handling of soft links on Lustre
    filesystems.
  - Fix memory leak in UCX one-sided implementation.
  - Fix bug in rcache components that could lead to assert on macOS
    systems.
  - Fix mishandling of a NULL completion context in the OFI transport.
  - Tarballs are now built with the tar-pax format.
  - Set MPI_THREAD_SERIALIZED instead of MPI_THREAD_SINGLE as supported
    threading model when using UCX that supports
    UCS_THREAD_MODE_SERIALIZED.
  - Fix issue that would prevent using Libfabric 2.x releases.

OBS-URL: https://build.opensuse.org/request/show/1227160
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=17
2024-11-30 12:27:14 +00:00
20ec2e725e Accepting request 1227140 from home:NMorey:branches:science:HPC
- Update to 4.1.7 (jsc#PED-11355):
  - Fix int overflow bug in UCC collectives routine, which would impact
    large message collectives.
  - Fix SHMEM bounds checking warnings
  - Fix memory leak in the fcoll/vulcan component
  - Fix memory leak when using non-contiguious datatyles with pml/cm
    (used when using Libfabric or Portals transports)
  - Change default locking protocol for ufs IO component to fix data
    sieving use case.
  - Fix bug in Fortran / C interface array calculation.
  - Fix potential initialization in UCX OpenSHMEM support
  - Add OpenSHMEM support for symmetric remote key handling to improve
    scalability of OpenSHMEM interface.
  - Add MCS Locks as default implementation for OpenSHMEM locks.
  - Fix bug to properly handle ORTE Prefix of "/".
  - Fix bug in I/O interface handling of soft links on Lustre
    filesystems.
  - Fix memory leak in UCX one-sided implementation.
  - Fix bug in rcache components that could lead to assert on macOS
    systems.
  - Fix mishandling of a NULL completion context in the OFI transport.
  - Tarballs are now built with the tar-pax format.
  - Set MPI_THREAD_SERIALIZED instead of MPI_THREAD_SINGLE as supported
    threading model when using UCX that supports
    UCS_THREAD_MODE_SERIALIZED.
  - Fix issue that would prevent using Libfabric 2.x releases.

OBS-URL: https://build.opensuse.org/request/show/1227140
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=40
2024-11-28 14:43:59 +00:00
8089a64423 Accepting request 1198895 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1198895
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=16
2024-09-06 15:17:56 +00:00
257cea0b98 Accepting request 1191730 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1191730
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=15
2024-08-07 04:09:25 +00:00
ef280a72e3 Accepting request 1190305 from home:jamborm:gcc14test-m
- Add openmpi4-C99.diff to fix the most egregious type violations that
  not only prevent building the standard flavor with GCC 14 opn i586
  but that are just bugs too.

If the request looks OK, please forward it to Factory soon so that we
can switch the default compiler.  Thanks!

OBS-URL: https://build.opensuse.org/request/show/1190305
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=36
2024-08-05 15:10:24 +00:00
f4d0ebf819 Accepting request 1183210 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1183210
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=14
2024-06-28 13:46:38 +00:00
ca3f26bddc - Disable 32b builds of hpc flavours
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=34
2024-06-25 14:27:39 +00:00
0db1484ce3 Accepting request 1151418 from science:HPC
Prepare for RPM 4.20 (forwarded request 1151411 from dimstar)

OBS-URL: https://build.opensuse.org/request/show/1151418
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=13
2024-02-27 21:44:18 +00:00
7a56710999 Accepting request 1151411 from home:dimstar:rpm4.20:o
Prepare for RPM 4.20

OBS-URL: https://build.opensuse.org/request/show/1151411
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=32
2024-02-26 12:48:36 +00:00
b77693939b Accepting request 1116699 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1116699
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=12
2023-10-11 21:54:07 +00:00
c4a21f8bf2 Accepting request 1116692 from home:NMorey:branches:science:HPC
- Drop %vers macro so that the Version tag can be parsed more easily

OBS-URL: https://build.opensuse.org/request/show/1116692
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=30
2023-10-10 13:57:48 +00:00
080cfa4c6a Accepting request 1114904 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1114904
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=11
2023-10-04 20:30:29 +00:00
64e40dd105 Accepting request 1114836 from home:NMorey:branches:science:HPC
- Update to 4.1.6:
  - Update embedded PMIx to 3.2.5.
  - Fix issue with buffered sends and MTL-based interfaces (Libfabric,
    PSM, Portals).
  - Add missing MPI_F_STATUS_SIZE to mpi.h.
  - Update Fortran mpi module configure check to be more correct.
  - Update to properly handle PMIx v>=4.2.3.
  - Fix minor issues and add some minor performance optimizations with
    OFI support.
  - Support the "striping_factor" and "striping_unit" MPI_Info names
    recomended by the MPI standard for parallel IO.
  - Fixed some minor issues with UCX support.
  - Minor optimization for 0-byte MPI_Alltoallw (i.e., make it a no-op).

OBS-URL: https://build.opensuse.org/request/show/1114836
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=28
2023-10-03 07:04:39 +00:00
6c9c1de672 Accepting request 1102781 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1102781
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=10
2023-08-09 15:23:56 +00:00
0c1f13de15 Accepting request 1102760 from home:NMorey:branches:science:HPC
- Drop support for TrueScale (bsc#1212146)

OBS-URL: https://build.opensuse.org/request/show/1102760
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=26
2023-08-07 21:28:31 +00:00
37eb378190 Accepting request 1101767 from science:HPC
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1101767
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=9
2023-08-04 13:02:34 +00:00
4092457313 Accepting request 1100770 from home:NMorey:branches:science:HPC
- Update to 4.1.5:
  - Fix crash in one  -sided applications for certain process layouts.
  - Update embedded OpenPMIx to version 3.2.4
  - Backport patches to Libevent for CVE  -2016  -10195, CVE  -2016  -10196, and
    CVE  -2016  -10197.  Note that Open MPI's internal libevent does not
    use the impacted portions of the Libevent code base.
  - SHMEM improvements:
    - Fix initializer bugs in SHMEM interface.
    - Fix unsigned type comparisons generating warnings.
    - Fix use after clear issue in shmem_ds_reset.
  - UCX improvements
    - Fix memory registration bug that could occur when UCX was built
      but not selected.
    - Reduce overhead of add_procs with intercommunicators.
    - Enable multi_send_nb by default.
    - Call opal_progress while waiting for a UCX fence to complete.
  - Fix data corruption bug in osc/rdma component.
  - Fix overflow bug in alltoall collective
  - Fix crash when displaying topology.
  - Add some MPI_F_XXX constants that were missing from mpi.h.
  - coll/ucc bug fixes.

OBS-URL: https://build.opensuse.org/request/show/1100770
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=24
2023-07-26 07:39:05 +00:00
33b8838509 Accepting request 1006489 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1006489
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=8
2022-10-01 15:42:11 +00:00
a091d2120f Accepting request 1006488 from home:NMoreyChaisemartin:branches:science:HPC
- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch
  by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor

OBS-URL: https://build.opensuse.org/request/show/1006488
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=22
2022-09-27 18:17:49 +00:00
38e2907676 Accepting request 1004064 from home:NMoreyChaisemartin:branches:science:HPC
- Enable libfabric on all arch
- Switch to external libevent for all flavors
- Switch to external hwloc and PMIx for HPC builds
- Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages
- Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support
  ConnectX 5 and 6 VF

OBS-URL: https://build.opensuse.org/request/show/1004064
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=21
2022-09-16 09:20:06 +00:00
4060e22973 Accepting request 1001218 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1001218
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=7
2022-09-06 11:00:49 +00:00
dd1d0e5481 Accepting request 992639 from home:dirkmueller:Factory
- update to 4.1.4:
  * Fix possible length integer overflow in numerous non-blocking collective
  operations.
  * Fix segmentation fault in UCX if MPI Tool interface is finalized before
  MPI_Init is called.
  * Remove /usr/bin/python dependency in configure.
  * Fix OMPIO issue with long double etypes.
  * Update treematch topology component to fix numerous correctness issues.
  * Fix memory leak in UCX MCA parameter registration.
  * Fix long operation closing file descriptors on non-Linux systems that
  can appear as a hang to users.
  * Fix for attribute handling on GCC 11 due to pointer aliasing.
  * Fix multithreaded race in UCX PML's datatype handling.
  * Fix a correctness issue in CUDA Reduce algorithm.
  * Fix compilation issue with CUDA GPUDirect RDMA support.
  * Fix to make shmem_calloc(..., 0) conform to the OpenSHMEM specification.
  * Add UCC collectives component.
  * Fix divide by zero issue in OMPI IO component.
  * Fix compile issue with libnl when not in standard search locations.
  * Fixed a seg fault in the smcuda BTL.  Thanks to Moritz Kreutzer and
  @Stadik for reporting the issue.
  * Added support for ELEMENTAL to the MPI handle comparison functions
  in the mpi_f08 module.  Thanks to Salvatore Filippone for raising
  the issue.
  * Minor datatype performance improvements in the CUDA-based code paths.
  * Fix MPI_ALLTOALLV when used with MPI_IN_PLACE.
  * Fix MPI_BOTTOM handling for non-blocking collectives.  Thanks to
  Lisandro Dalcin for reporting the problem.
  * Enable OPAL memory hooks by default for UCX.
  * Many compiler warnings fixes, particularly for newer versions of

OBS-URL: https://build.opensuse.org/request/show/992639
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=19
2022-09-05 08:14:10 +00:00
06d42de453 Accepting request 889565 from science:HPC
Change default openmpi to openmpi4
- openmpi4 is now the default openmpi for releases > 15.3
- Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library
- Change RPM macros install path to %{_rpmmacrodir}

- Update to version 4.1.1
  - Fix a number of datatype issues, including an issue with
    improper handling of partial datatypes that could lead to
    an unexpected application failure.
  - Change UCX PML to not warn about MPI_Request leaks during
    MPI_FINALIZE by default.  The old behavior can be restored with
    the mca_pml_ucx_request_leak_check MCA parameter.
  - Reverted temporary solution that worked around launch issues in
    SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these
    versions and to upgrade to v20.11.3 or newer.
  - Updated PMIx to v3.2.2.
  - Disabled gcc built-in atomics by default on aarch64 platforms.
  - Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that
    may cause data corruption when its TCP transport is used in conjunction with
    the shared memory transport. UCX versions prior to v1.8.0 are not affected by
    this issue. Thanks to @ksiazekm for reporting the issue.
  - Fixed detection of available UCX transports/devices to better inform PML
    prioritization.
  - Fixed SLURM support to mark ORTE daemons as non-MPI tasks.
  - Improved AVX detection to more accurately detect supported
    platforms.  Also improved the generated AVX code, and switched to
    using word-based MCA params for the op/avx component (vs. numeric
    big flags).
  - Improved OFI compatibility support and fixed memory leaks in error
    handling paths.
  - Improved HAN collectives with support for Barrier and Scatter. Thanks

OBS-URL: https://build.opensuse.org/request/show/889565
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=6
2021-05-02 16:35:56 +00:00
1986d94aaf - Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library
- Change RPM macros install path to %{_rpmmacrodir}

OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=17
2021-04-30 15:10:32 +00:00
dbbdfa5742 Accepting request 889294 from home:NMoreyChaisemartin:branches:science:HPC
- openmpi4 is now the default openmpi for releases > 15.3

OBS-URL: https://build.opensuse.org/request/show/889294
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=16
2021-04-29 12:44:14 +00:00
b3c1bfbb9b Accepting request 889006 from home:NMoreyChaisemartin:branches:science:HPC
- Update to version 4.1.1
  - Fix a number of datatype issues, including an issue with
    improper handling of partial datatypes that could lead to
    an unexpected application failure.
  - Change UCX PML to not warn about MPI_Request leaks during
    MPI_FINALIZE by default.  The old behavior can be restored with
    the mca_pml_ucx_request_leak_check MCA parameter.
  - Reverted temporary solution that worked around launch issues in
    SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these
    versions and to upgrade to v20.11.3 or newer.
  - Updated PMIx to v3.2.2.
  - Disabled gcc built-in atomics by default on aarch64 platforms.
  - Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that
    may cause data corruption when its TCP transport is used in conjunction with
    the shared memory transport. UCX versions prior to v1.8.0 are not affected by
    this issue. Thanks to @ksiazekm for reporting the issue.
  - Fixed detection of available UCX transports/devices to better inform PML
    prioritization.
  - Fixed SLURM support to mark ORTE daemons as non-MPI tasks.
  - Improved AVX detection to more accurately detect supported
    platforms.  Also improved the generated AVX code, and switched to
    using word-based MCA params for the op/avx component (vs. numeric
    big flags).
  - Improved OFI compatibility support and fixed memory leaks in error
    handling paths.
  - Improved HAN collectives with support for Barrier and Scatter. Thanks
    to @EmmanuelBRELLE for these changes and the relevant bug fixes.
  - Fixed MPI debugger support (i.e., the MPIR_Breakpoint() symbol).
    Thanks to @louisespellacy-arm for reporting the issue.
  - Fixed ORTE bug that prevented debuggers from reading MPIR_Proctable.

OBS-URL: https://build.opensuse.org/request/show/889006
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=15
2021-04-29 05:57:54 +00:00
a3ca4c5ef9 Accepting request 882294 from science:HPC
- Update to version 4.1.0
  * collectives: Add HAN and ADAPT adaptive collectives components.
    Both components are off by default and can be enabled by specifying
    "mpirun --mca coll_adapt_priority 100 --mca coll_han_priority 100 ...".
    We intend to enable both by default in Open MPI 5.0.
  * OMPIO is now the default for MPI-IO on all filesystems, including
    Lustre (prior to this, ROMIO was the default for Lustre).  Many
    thanks to Mark Dixon for identifying MPI I/O issues and providing
    access to Lustre systems for testing.
  * Minor MPI one-sided RDMA performance improvements.
  * Fix hcoll MPI_SCATTERV with MPI_IN_PLACE.
  * Add AVX support for MPI collectives.
  * Updates to mpirun(1) about "slots" and PE=x values.
  * Fix buffer allocation for large environment variables.  Thanks to
    @zrss for reporting the issue.
  * Upgrade the embedded OpenPMIx to v3.2.2.
  * Fix issue with extra-long values in MCA files.  Thanks to GitHub
    user @zrss for bringing the issue to our attention.
  * UCX: Fix zero-sized datatype transfers.
  * Fix --cpu-list for non-uniform modes.
  * Fix issue in PMIx callback caused by missing memory barrier on Arm platforms.
  * OFI MTL: Various bug fixes.
  * Fixed issue where MPI_TYPE_CREATE_RESIZED would create a datatype
    with unexpected extent on oddly-aligned datatypes.
  * collectives: Adjust default tuning thresholds for many collective
    algorithms
  * runtime: fix situation where rank-by argument does not work
  * Portals4: Clean up error handling corner cases
  * runtime: Remove --enable-install-libpmix option, which has not
    worked since it was added
  * UCX: Allow UCX 1.8 to be used with the btl uct
  * UCX: Replace usage of the deprecated NB API of UCX with NBX
  * OMPIO: Add support for the IME file system
  * OFI/libfabric: Added support for multiple NICs
  * OFI/libfabric: Added support for Scalable Endpoints
  * OFI/libfabric: Added btl for one-sided support
  * OFI/libfabric: Multiple small bugfixes
  * libnbc: Adding numerous performance-improving algorithms
- Removed: reproducible.patch - replaced by spec file settings.

OBS-URL: https://build.opensuse.org/request/show/882294
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=5
2021-04-01 12:17:34 +00:00
d47d4dad1b Add comment about SOURCE_DATE_EPOCH
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=13
2021-03-31 07:29:38 +00:00
1d2406b740 Accepting request 882166 from home:eeich:branches:science:HPC
- Update to version 4.1.0
  * collectives: Add HAN and ADAPT adaptive collectives components.
    Both components are off by default and can be enabled by specifying
    "mpirun --mca coll_adapt_priority 100 --mca coll_han_priority 100 ...".
    We intend to enable both by default in Open MPI 5.0.
  * OMPIO is now the default for MPI-IO on all filesystems, including
    Lustre (prior to this, ROMIO was the default for Lustre).  Many
    thanks to Mark Dixon for identifying MPI I/O issues and providing
    access to Lustre systems for testing.
  * Minor MPI one-sided RDMA performance improvements.
  * Fix hcoll MPI_SCATTERV with MPI_IN_PLACE.
  * Add AVX support for MPI collectives.
  * Updates to mpirun(1) about "slots" and PE=x values.
  * Fix buffer allocation for large environment variables.  Thanks to
    @zrss for reporting the issue.
  * Upgrade the embedded OpenPMIx to v3.2.2.
  * Fix issue with extra-long values in MCA files.  Thanks to GitHub
    user @zrss for bringing the issue to our attention.
  * UCX: Fix zero-sized datatype transfers.
  * Fix --cpu-list for non-uniform modes.
  * Fix issue in PMIx callback caused by missing memory barrier on Arm platforms.
  * OFI MTL: Various bug fixes.
  * Fixed issue where MPI_TYPE_CREATE_RESIZED would create a datatype
    with unexpected extent on oddly-aligned datatypes.
  * collectives: Adjust default tuning thresholds for many collective
    algorithms
  * runtime: fix situation where rank-by argument does not work
  * Portals4: Clean up error handling corner cases
  * runtime: Remove --enable-install-libpmix option, which has not
    worked since it was added

OBS-URL: https://build.opensuse.org/request/show/882166
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=12
2021-03-30 13:09:12 +00:00
676b548c69 Accepting request 839582 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/839582
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=4
2020-10-05 17:42:27 +00:00
7ca901bfb5 Accepting request 839573 from home:NMoreyChaisemartin:branches:science:HPC
- Update to version 4.0.5
  - See NEWS for the detailled changelog

OBS-URL: https://build.opensuse.org/request/show/839573
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=10
2020-10-05 13:29:47 +00:00
ea6601a23a Accepting request 814028 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/814028
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=3
2020-06-12 19:42:28 +00:00
4fc4defb9c Accepting request 814027 from home:NMoreyChaisemartin:branches:science:HPC
- Update to version 4.0.4
  - See NEWS for the detailled changelog

OBS-URL: https://build.opensuse.org/request/show/814027
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=8
2020-06-11 21:09:09 +00:00
749ec1d035 Accepting request 812864 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/812864
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=2
2020-06-09 22:51:20 +00:00
c9d49688b2 Accepting request 812863 from home:NMoreyChaisemartin:branches:science:HPC
- Update to version 4.0.3
  - See NEWS for the detailled changelog
  - Fixes compilation with UCX 1.8
- Drop memory-patcher-fix-compiler-warning.patch which was merged upstream

OBS-URL: https://build.opensuse.org/request/show/812863
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=6
2020-06-09 10:34:00 +00:00
0e3beee944 Accepting request 786504 from science:HPC
Add openmpi4 package

OBS-URL: https://build.opensuse.org/request/show/786504
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=1
2020-03-20 22:56:01 +00:00
57c526deae Remove unused extra macro file
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=4
2020-03-19 15:25:13 +00:00
4c599c6422 Drop unexpected macro file
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=3
2020-03-19 09:11:35 +00:00
b2e374890c Accepting request 786347 from home:NMoreyChaisemartin:branches:science:HPC
- Drop different package string between SLES and Leap

OBS-URL: https://build.opensuse.org/request/show/786347
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=2
2020-03-19 08:44:08 +00:00
2a914cad07 Accepting request 764679 from home:NMoreyChaisemartin:branches:science:HPC
Add openmpi4

OBS-URL: https://build.opensuse.org/request/show/764679
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=1
2020-01-15 13:55:39 +00:00
9 changed files with 168 additions and 251 deletions

View File

@ -0,0 +1,30 @@
commit fc4fb3a80615992277717e3e29ce585ebe1f2256
Author: Tomislav Janjusic <tomislavj@nvidia.com>
Date: Tue Feb 18 12:25:27 2025 -0600
Fix type mismatch error
Signed-off-by: Tomislav Janjusic <tomislavj@nvidia.com>
diff --git oshmem/mca/sshmem/base/sshmem_base_open.c oshmem/mca/sshmem/base/sshmem_base_open.c
index 1f0d1eb761e2..2694120e1cfe 100644
--- oshmem/mca/sshmem/base/sshmem_base_open.c
+++ oshmem/mca/sshmem/base/sshmem_base_open.c
@@ -31,7 +31,7 @@
* globals
*/
-void *mca_sshmem_base_start_address = UINTPTR_MAX;
+void *mca_sshmem_base_start_address = (void *)UINTPTR_MAX;
char * mca_sshmem_base_backing_file_dir = NULL;
@@ -49,7 +49,7 @@ mca_sshmem_base_register (mca_base_register_flag_t flags)
"base",
"start_address",
"Specify base address for shared memory region",
- MCA_BASE_VAR_TYPE_UNSIGNED_LONG_LONG,
+ MCA_BASE_VAR_TYPE_UNSIGNED_LONG,
NULL,
0,
MCA_BASE_VAR_FLAG_SETTABLE,

View File

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

View File

@ -1,5 +1,5 @@
<services>
<service name="tar_scm" mode="disabled">
<service name="tar_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/open-mpi/ompi.git</param>
<param name="package-meta">no</param>
@ -8,9 +8,9 @@
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="revision">439b23db6288f0370f6fcc80c8c0a06ad86d6873</param>
<param name="revision">ea8f4d03089018f08451f42f2cfa2467570f395e</param>
</service>
<service name="recompress" mode="disabled">
<service name="recompress" mode="manual">
<param name="file">openmpi*.tar</param>
<param name="compression">bz2</param>
</service>

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

@ -0,0 +1,24 @@
commit 75b6dad5959ba75fcba8c64cc0a364d820e03ebc
Author: Nicolas Morey <nmorey@suse.com>
Date: Fri Dec 20 12:44:38 2024 +0100
mtl: ofi: fix missing definition of container_of
Signed-off-by: Nicolas Morey <nmorey@suse.com>
diff --git ompi/mca/mtl/ofi/mtl_ofi_request.h ompi/mca/mtl/ofi/mtl_ofi_request.h
index f68c2a91baa0..6d748fd59bdc 100644
--- ompi/mca/mtl/ofi/mtl_ofi_request.h
+++ ompi/mca/mtl/ofi/mtl_ofi_request.h
@@ -15,6 +15,11 @@
#include "mtl_ofi.h"
+#ifndef container_of
+#define container_of(ptr, type, field) \
+ ((type *) ((char *)ptr - offsetof(type, field)))
+#endif
+
#define TO_OFI_REQ(_ptr_ctx) \
container_of((_ptr_ctx), struct ompi_mtl_ofi_request_t, ctx)

BIN
openmpi-4.1.6.0.439b23db6288.tar.bz2 (Stored with Git LFS)

Binary file not shown.

BIN
openmpi-4.1.8.0.ea8f4d030890.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,71 @@
-------------------------------------------------------------------
Tue Apr 15 11:17:13 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Remove bad dependency from openmpi4-testsuite to openmpi4-testsuite-libs
-------------------------------------------------------------------
Sat Mar 29 14:42:02 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Remove support for gnu-hpc build flavours.
-------------------------------------------------------------------
Mon Mar 24 12:52:28 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Disable gnu-hpc build flavours (bsc#1239982)
-------------------------------------------------------------------
Wed Feb 19 16:04:48 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 4.1.8 (jsc#PED-11356):
- Allocate and exchange OpenSHMEM base segment addresses earlier in
startup.
- Fixed file_seek calculation when using SEEK_END and io/ompio.
- Protect against using CUDA without VMM support.
- Change several variables in coll/adapt, coll/basic, coll/han,
coll/hcoll, and coll/ucc from READONLY to ALL scope so that they can
be set via the MPI_T interface.
- Add version identifier to rules file in coll/tuned and extend the
dynamic rules file to support the alltoall_algorithm_max_requests
tuning parameter.
- Change default openmpi to openmpi5 for suse_version >= 1600
- Add Fix-type-mismatch-error.patch to fix a compilation error
-------------------------------------------------------------------
Fri Dec 20 11:46:32 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Add mtl-ofi-fix-missing-definition-of-container_of.patch to fix
compilation with libfabric >= 2.0 (jsc#PED-9661, jsc#PED-10668)
-------------------------------------------------------------------
Tue Nov 26 07:12:00 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 4.1.7 (jsc#PED-11355):
- Fix int overflow bug in UCC collectives routine, which would impact
large message collectives.
- Fix SHMEM bounds checking warnings
- Fix memory leak in the fcoll/vulcan component
- Fix memory leak when using non-contiguious datatyles with pml/cm
(used when using Libfabric or Portals transports)
- Change default locking protocol for ufs IO component to fix data
sieving use case.
- Fix bug in Fortran / C interface array calculation.
- Fix potential initialization in UCX OpenSHMEM support
- Add OpenSHMEM support for symmetric remote key handling to improve
scalability of OpenSHMEM interface.
- Add MCS Locks as default implementation for OpenSHMEM locks.
- Fix bug to properly handle ORTE Prefix of "/".
- Fix bug in I/O interface handling of soft links on Lustre
filesystems.
- Fix memory leak in UCX one-sided implementation.
- Fix bug in rcache components that could lead to assert on macOS
systems.
- Fix mishandling of a NULL completion context in the OFI transport.
- Tarballs are now built with the tar-pax format.
- Set MPI_THREAD_SERIALIZED instead of MPI_THREAD_SINGLE as supported
threading model when using UCX that supports
UCS_THREAD_MODE_SERIALIZED.
- Fix issue that would prevent using Libfabric 2.x releases.
-------------------------------------------------------------------
Thu Sep 5 06:58:41 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package openmpi4
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
@ -37,94 +37,41 @@
%global flavor @BUILD_FLAVOR@%{nil}
# Static libraries are disabled by default
# for non HPC builds
# To enable them, simply uncomment:
# % define build_static_devel 1
%global pname openmpi
%define _vers 4_1_6
%define m_f_ver 4
%bcond_with ringdisabled
%if "%flavor" == ""
ExclusiveArch: do_not_build
%{bcond_with hpc}
%define package_name %pname%{m_f_ver}
%else
# Trickery for OBS Staging. If _with_ringdisabled is set
# we only want to build the flavors required by other rings packages.
# Do not build any other ones
%if %{with ringdisabled}
%if "%flavor" != "standard"
%endif
# Trickery for OBS Staging. If _with_ringdisabled is set
# we only want to build the flavors required by other rings packages.
# Do not build any other ones
%if %{with ringdisabled} && "%flavor" != "standard"
ExclusiveArch: do_not_build
%endif
%endif
%if "%flavor" == "standard" || "%flavor" == "testsuite"
%define package_name %{pname}%{m_f_ver}
%bcond_with hpc
%if "%flavor" == "testsuite"
%define testsuite 1
%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
%if "%flavor" == "testsuite"
%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
%define with_ucx 1
%endif
%endif
# Detect whether we are the default openMPI implemantation or not
%if "%{flavor}" == "standard" && (%{suse_version} > 1500 || 0%{?sle_version} > 150300)
%if "%{flavor}" == "standard" && (%{suse_version} > 1500 || 0%{?sle_version} > 150300) && (%{suse_version} < 1600)
%define default_openmpi 1
%else
%define default_openmpi 0
%endif
%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}
%{bcond_without pmix}
%{bcond_without hwloc}
ExcludeArch: i586 %arm s390
%else
%{bcond_with pmix}
%{bcond_with hwloc}
%endif
%define git_ver .0.439b23db6288
%define git_ver .0.ea8f4d030890
#############################################################################
#
@ -132,22 +79,23 @@ ExcludeArch: i586 %arm s390
#
#############################################################################
Name: %{package_name}%{?testsuite:-testsuite}
Version: 4.1.6
Name: openmpi4%{?testsuite:-testsuite}
Version: 4.1.8
Release: 0
Summary: An implementation of MPI/SHMEM (Version %{m_f_ver})
Summary: An implementation of MPI/SHMEM (Version 4)
License: BSD-3-Clause
Group: Development/Libraries/Parallel
URL: https://www.open-mpi.org/
Source0: openmpi-%{version}%{git_ver}.tar.bz2
Source2: openmpi4-rpmlintrc
Source3: macros.hpc-openmpi
Source4: mpivars.sh
Source5: mpivars.csh
Patch1: orted-mpir-add-version-to-shared-library.patch
Patch2: btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
Patch3: openmpi4-C99.diff
Patch4: test-datatype-partial.c-fix-compiler-warnings.patch
Patch5: mtl-ofi-fix-missing-definition-of-container_of.patch
Patch6: Fix-type-mismatch-error.patch
Provides: mpi
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@ -164,7 +112,7 @@ BuildRequires: libtool
BuildRequires: net-tools
%if 0%{?testsuite}
BuildArch: noarch
BuildRequires: %{package_name} = %{version}
BuildRequires: openmpi4 = %{version}
%endif
%if 0%{?with_ucx}
BuildRequires: libucm-devel
@ -178,22 +126,14 @@ BuildRequires: hwloc-devel
%if %{with pmix}
BuildRequires: pmix-devel
%endif
%if %{without hpc}
BuildRequires: Modules
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: mpi-selector
Requires: mpi-selector
Requires(preun):mpi-selector
Requires: %{package_name}-libs = %{version}
%else
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
Requires(preun): mpi-selector
%if !0%{?testsuite}
Requires: %{name}-libs = %{version}
%endif
%ifarch x86_64
@ -203,7 +143,7 @@ BuildRequires: numactl
%endif
Requires: openmpi-runtime-config
Recommends: openmpi%{m_f_ver}-config
Recommends: %{name}-config
%if 0%{?default_openmpi}
Provides: openmpi = %{version}
%endif
@ -211,26 +151,14 @@ Provides: openmpi = %{version}
# Force ssh to make sure the install works out of the box
Requires: openssh
%if %{without hpc}
%define mpi_prefix %{_libdir}/mpi/gcc/openmpi%{m_f_ver}
%define mpi_prefix %{_libdir}/mpi/gcc/%{name}
%define mpi_bindir %{mpi_prefix}/bin
%define mpi_libdir %{mpi_prefix}/%{_lib}
%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_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
%if 0%{?testsuite}
@ -250,20 +178,19 @@ one-sided communication techniques.
This package provides general tools (mpirun, mpiexec, etc.) and the
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
%if 0%{!?testsuite:1}
%package %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
Summary: OpenMPI runtime libraries for OpenMPI %{?with_hpc:HPC} version %{version}
%package libs
Summary: OpenMPI runtime libraries for OpenMPI version %{version}
Group: System/Libraries
Requires: %{name} = %{version}
%if 0%{?default_openmpi}
Provides: openmpi-libs = %{version}
%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
standardized API typically used for parallel and/or distributed
computing. OpenMPI is the merged result of four prior implementations
@ -275,22 +202,18 @@ programming API, which is a Partitioned Global Address Space (PGAS)
abstraction layer providing inter-process communication using
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.
%package devel
Summary: SDK for openMPI %{?with_hpc:HPC} version %{version}
Summary: SDK for openMPI version %{version}
Group: Development/Libraries/Parallel
Requires: libibumad-devel
Requires: libibverbs-devel
%if %{without hpc}
Requires: libstdc++-devel
%if 0%{?default_openmpi}
Provides: openmpi-devel = %{version}
%endif
%else
%hpc_requires_devel
%endif
Requires: %{name} = %{version}
%description devel
@ -306,11 +229,11 @@ abstraction layer providing inter-process communication using
one-sided communication techniques.
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.
%package docs
Summary: Documentation for Open MPI/SHMEM %{?with_hpc:HPC} version %{version}
Summary: Documentation for Open MPI/SHMEM version %{version}
Group: Documentation/Man
Requires: %{name} = %{version}
@ -333,11 +256,11 @@ Summary: Macros for openMPI version %{version}
Group: Development/Libraries/Parallel
Requires: %{name}-devel = %{version}
# Make sure no two openmpi macro file can be installed at once
Provides: %{pname}-macros-provider = %{version}
Conflicts: otherproviders(%{pname}-macros-provider)
Provides: openmpi-macros-provider = %{version}
Conflicts: otherproviders(openmpi-macros-provider)
# Conflict (without providing) with the older openmpi-hpc-macros-devel flag
# to avoid issue with older packages
Conflicts: otherproviders(%{pname}-hpc-macros-devel)
Conflicts: otherproviders(openmpi-hpc-macros-devel)
%if 0%{?default_openmpi}
Provides: openmpi-macros-devel = %{version}
@ -348,7 +271,7 @@ Macros for building RPM packages for OpenMPI version %{version}.
%if 0%{?build_static_devel}
%package devel-static
Summary: Static libraries for openMPI %{?with_hpc:HPC} version %{version}
Summary: Static libraries for openMPI version %{version}
Group: Development/Libraries/Parallel
Requires: %{name}-devel = %{version}
%if 0%{?default_openmpi}
@ -366,9 +289,8 @@ This RPM contains the static library files, which are packaged separately from
the dynamic library and headers.
%endif
%if %{without hpc}
%package -n %{pname}%{m_f_ver}-config
Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version %{version}
%package config
Summary: Runtime configuration files for openMPI version %{version}
Group: Development/Libraries/Parallel
Provides: openmpi-runtime-config = %{version}
Conflicts: otherproviders(openmpi-runtime-config)
@ -378,7 +300,7 @@ Provides: pmix-runtime-config = %{version}
Conflicts: otherproviders(pmix-runtime-config)
%endif
%description -n %{pname}%{m_f_ver}-config
%description config
OpenMPI is an implementation of the Message Passing Interface, a
standardized API typically used for parallel and/or distributed
computing. OpenMPI is the merged result of four prior implementations
@ -386,22 +308,9 @@ where the team found for them to excel in one or more areas,
such as latency or throughput.
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
%if "%(echo %version | tr '.' '_')" != "%_vers"
%{error: Fix _vers variable to match package version!}
%endif
#############################################################################
#
# Prepatory Section
@ -409,19 +318,11 @@ This RPM contains the configuration files for OpenMPI runtime (Version 3).
#############################################################################
%prep
echo FLAVOR %{flavor}
%if %{with hpc}
echo with HPC
%endif
%if %{without hpc}
echo without HPC
%endif
%autosetup -p0 -n openmpi-%{version}%{git_ver}
%if %{without hpc}
cat > %{_sourcedir}/baselibs.conf <<EOF
openmpi%{m_f_ver}-libs
EOF
%endif
# Live patch the VERSION file
sed -i -e 's/^greek=.*$/greek=%{git_ver}/' -e 's/^repo_rev=.*$/repo_rev=%{version}%{git_ver}/' \
@ -439,12 +340,7 @@ export USER=OBS
export HOSTNAME=OBS
# OBS sets SOURCE_DATE_EPOCH
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%{?with_hpc:%hpc_debug}
./autogen.pl --force
%if %{with hpc}
%{hpc_setup}
%{hpc_configure} \
%else
%{configure} \
--prefix="%{mpi_prefix}" \
--exec-prefix="%{mpi_prefix}" \
@ -453,7 +349,6 @@ export HOSTNAME=OBS
--includedir="%{mpi_includedir}" \
--libdir="%{mpi_libdir}" \
--mandir="%{mpi_mandir}" \
%endif
%{?build_static_devel:--enable-static} \
%{!?build_static_devel:--disable-static} \
--enable-builtin-atomics \
@ -503,7 +398,6 @@ make check
#############################################################################
%install
%{?with_hpc:%{hpc_setup_compiler}}
make install DESTDIR="%buildroot"
# sanitize .la files
@ -536,7 +430,6 @@ rm -f %{buildroot}%{mpi_libdir}/mpi_ext.mod
%fdupes %{buildroot}%{mpi_datadir}
%fdupes %{buildroot}%{mpi_libdir}/pkgconfig
%if %{without hpc}
# make and install mpivars files
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE4} \
> %{buildroot}%{mpi_bindir}/mpivars.sh
@ -573,56 +466,7 @@ cat <<EOF >%{buildroot}%{_rpmmacrodir}/macros.openmpi
%openmpi_devel_requires Requires: %{name}-devel
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}/openmpi-default-hostfile
rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf
rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl
%if %{without pmix}
rm -f %{buildroot}%{_sysconfdir}/pmix-mca-params.conf
%endif
%endif
%if %{without hpc}
%post
# Always register. We might be already registered in the case of an udate
# but mpi-selector handles it fine
@ -643,14 +487,6 @@ fi
%post 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
%defattr(-, root, root)
@ -663,17 +499,10 @@ fi
%dir %{mpi_mandir}
%{mpi_bindir}/mpivars.csh
%{mpi_bindir}/mpivars.sh
%if %{without hpc}
%dir %{_libdir}/mpi
%dir %{_libdir}/mpi/gcc
%dir %{_datadir}/modules/gnu-openmpi
%{_datadir}/modules/gnu-openmpi/%{version}
%else # with hpc
%hpc_mpi_dirs
%hpc_modules_files
%endif # with hpc
#
%{mpi_bindir}/mpirun
%{mpi_bindir}/ompi-clean
%{mpi_bindir}/ompi-server
@ -689,11 +518,8 @@ fi
%{mpi_bindir}/oshrun
%{mpi_bindir}/shmemrun
%endif
%if %{without hpc}
%{mpi_bindir}/aggregate_profile.pl
%{mpi_bindir}/profile2mat.pl
%endif
%dir %{mpi_datadir}/openmpi
%dir %{mpi_datadir}/openmpi/amca-param-sets
@ -707,7 +533,7 @@ fi
%{mpi_datadir}/pmix/help-*.txt
%endif
%files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
%files libs
%defattr(-,root,root)
%dir %mpi_prefix/
%dir %mpi_libdir/
@ -726,10 +552,8 @@ fi
%{mpi_libdir}/*.so
%{mpi_libdir}/pkgconfig/*.pc
%{mpi_libdir}/mpi.mod
%if 0%{?suse_version} >= 1320
%{mpi_libdir}/mpi_f08*.mod
%{mpi_libdir}/pmpi_f08*.mod
%endif
%{mpi_bindir}/mpiCC
%{mpi_bindir}/mpic++
%{mpi_bindir}/mpicc
@ -763,11 +587,7 @@ fi
%files macros-devel
%defattr(-,root,root,-)
%if %{with hpc}
%{_rpmmacrodir}/macros.hpc-openmpi
%else
%{_rpmmacrodir}/macros.openmpi
%endif
%if 0%{?build_static_devel}
%files devel-static
@ -778,15 +598,13 @@ fi
%{mpi_libdir}/openmpi/*.a
%endif
%if %{without hpc}
%files -n %{pname}%{m_f_ver}-config
%files config
%config %{_sysconfdir}/openmpi-default-hostfile
%config %{_sysconfdir}/openmpi-mca-params.conf
%if %{without pmix}
%config %{_sysconfdir}/pmix-mca-params.conf
%endif
%{_sysconfdir}/openmpi-totalview.tcl
%endif
%endif # !?testsuite