import libpsm2-11.2.185-2.el9
This commit is contained in:
commit
73863ab7ea
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/libpsm2-11.2.185.tar.gz
|
1
.libpsm2.metadata
Normal file
1
.libpsm2.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
725613650b5647ceb7bc5e47a9b9d296bea5d3be SOURCES/libpsm2-11.2.185.tar.gz
|
@ -0,0 +1,51 @@
|
|||||||
|
From 6e0231074111ff1fda0b2de1765e1988fda2e9c9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brendan Cunningham <bcunningham@cornelisnetworks.com>
|
||||||
|
Date: Fri, 7 May 2021 16:33:35 -0400
|
||||||
|
Subject: [PATCH] README: add section about OMPI 4.1.x, OFI BTL, and high-PPN
|
||||||
|
jobs.
|
||||||
|
|
||||||
|
Signed-off-by: Brendan Cunningham <bcunningham@cornelisnetworks.com>
|
||||||
|
---
|
||||||
|
README | 19 ++++++++++++++++++-
|
||||||
|
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/README b/README
|
||||||
|
index 7990555..2961534 100644
|
||||||
|
--- a/README
|
||||||
|
+++ b/README
|
||||||
|
@@ -67,7 +67,6 @@ Contains the following sections:
|
||||||
|
- INSTALLING
|
||||||
|
* INSTALLING USING MAKEFILE
|
||||||
|
* INSTALLING USING EITHER YUM OR DNF
|
||||||
|
-- TESTING
|
||||||
|
- RELATED SOFTWARE TO PSM2
|
||||||
|
- SUPPORTING DOCUMENTATION
|
||||||
|
|
||||||
|
@@ -251,6 +250,24 @@ libraries available on them. Open MPI provides a standard configure, make and
|
||||||
|
make install mechanism which will detect and build the relevant PSM2 network
|
||||||
|
modules for Open MPI once the header and runtime files are detected.
|
||||||
|
|
||||||
|
+Open MPI 4.1.x, OFI BTL, and high PPN jobs
|
||||||
|
+----------------
|
||||||
|
+Open MPI added the OFI BTL for one-sided communication. On an OPA fabric, the
|
||||||
|
+OFI BTL may use the PSM2 OFI provider underneath. If PSM2 is in-use as both
|
||||||
|
+the MTL (directly or via OFI) and the BTL (via OFI), then each rank in the
|
||||||
|
+Open MPI job will require two PSM2 endpoints and PSM2 context-sharing will
|
||||||
|
+be disabled.
|
||||||
|
+
|
||||||
|
+In this case, total number of PSM2 ranks on a node can be no more than:
|
||||||
|
+ (num_hfi * num_user_contexts)/2
|
||||||
|
+Where num_user_contexts is typically equal to the number of physical CPU
|
||||||
|
+cores on that node.
|
||||||
|
+
|
||||||
|
+If your job does not require an inter-node BTL (e.g. OFI), then you can
|
||||||
|
+disable the OFI BTL in one of two ways:
|
||||||
|
+ 1. When building Open MPI, specify '--with-ofi=no' when you run 'configure'.
|
||||||
|
+ 2. When running your Open MPI job, add '-mca btl self,vader'.
|
||||||
|
+
|
||||||
|
MVAPICH2 support
|
||||||
|
----------------
|
||||||
|
MVAPICH2 supports PSM2 transport for optimized communication on HFI hardware.
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
26
SOURCES/libpsm2-gcc11.patch
Normal file
26
SOURCES/libpsm2-gcc11.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff -Nrup a/include/linux-i386/sysdep.h b/include/linux-i386/sysdep.h
|
||||||
|
--- a/include/linux-i386/sysdep.h 2019-10-03 20:00:29.000000000 -0600
|
||||||
|
+++ b/include/linux-i386/sysdep.h 2020-10-19 16:10:45.680585173 -0600
|
||||||
|
@@ -139,12 +139,18 @@ static __inline__ uint32_t ips_cmpxchg(v
|
||||||
|
uint32_t old_val, uint32_t new_val)
|
||||||
|
{
|
||||||
|
uint32_t prev;
|
||||||
|
- struct xchg_dummy {
|
||||||
|
- uint32_t a[100];
|
||||||
|
- };
|
||||||
|
|
||||||
|
+ /* This code used to cast PTR to a type which was an array of 100
|
||||||
|
+ uint32_t objects. That makes no sense as the cmpxchgl's side
|
||||||
|
+ effect can be covered by an single int.
|
||||||
|
+
|
||||||
|
+ The semantics of GCC's ASMs for memory is that it clobbers the
|
||||||
|
+ whole pointed-to object. Thus analyzers saw a 100 uint32_t sized
|
||||||
|
+ store which triggers diagnostics for out of bounds array writes.
|
||||||
|
+
|
||||||
|
+ The cast to the dummy type has been removed. */
|
||||||
|
asm volatile (LOCK_PREFIX "cmpxchgl %1,%2" : "=a"(prev)
|
||||||
|
- : "q"(new_val), "m"(*(struct xchg_dummy *)ptr), "0"(old_val)
|
||||||
|
+ : "q"(new_val), "m"(*ptr), "0"(old_val)
|
||||||
|
: "memory");
|
||||||
|
|
||||||
|
return prev;
|
254
SPECS/libpsm2.spec
Normal file
254
SPECS/libpsm2.spec
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
#
|
||||||
|
# This file is provided under a dual BSD/GPLv2 license. When using or
|
||||||
|
# redistributing this file, you may do so under either license.
|
||||||
|
#
|
||||||
|
# GPL LICENSE SUMMARY
|
||||||
|
#
|
||||||
|
# Copyright(c) 2015 Intel Corporation.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of version 2 of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# Contact Information:
|
||||||
|
# Intel Corporation, www.intel.com
|
||||||
|
#
|
||||||
|
# BSD LICENSE
|
||||||
|
#
|
||||||
|
# Copyright(c) 2015 Intel Corporation.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# * Neither the name of Intel Corporation nor the names of its
|
||||||
|
# contributors may be used to endorse or promote products derived
|
||||||
|
# from this software without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2014-2015 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
Summary: Intel PSM Libraries
|
||||||
|
Name: libpsm2
|
||||||
|
Version: 11.2.185
|
||||||
|
Release: 2%{?dist}
|
||||||
|
License: BSD or GPLv2
|
||||||
|
URL: https://github.com/cornelisnetworks/opa-psm2/
|
||||||
|
|
||||||
|
# The tarball can be created by:
|
||||||
|
# git clone https://github.com/cornelisnetworks/opa-psm2.git
|
||||||
|
# cd opa-psm2
|
||||||
|
# git checkout 7a33bedc4bb3dff4e57c00293a2d70890db4d983
|
||||||
|
# make dist
|
||||||
|
Source0: %{name}-%{version}.tar.gz
|
||||||
|
Patch2: %{name}-gcc11.patch
|
||||||
|
Patch3: 0001-README-add-section-about-OMPI-4.1.x-OFI-BTL-and-high.patch
|
||||||
|
|
||||||
|
# The OPA product is supported on x86_64 only:
|
||||||
|
ExclusiveArch: x86_64
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
BuildRequires: numactl-devel
|
||||||
|
BuildRequires: systemd
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: make
|
||||||
|
Obsoletes: hfi1-psm < 1.0.0
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for Intel PSM
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: libuuid-devel
|
||||||
|
|
||||||
|
%package compat
|
||||||
|
Summary: Compat library for Intel PSM
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: systemd-udev
|
||||||
|
|
||||||
|
%global _privatelibs libpsm_infinipath[.]so[.]1.*
|
||||||
|
%global __provides_exclude ^(%{_privatelibs})$
|
||||||
|
%global __requires_exclude ^(%{_privatelibs})$
|
||||||
|
|
||||||
|
%description
|
||||||
|
The PSM Messaging API, or PSM API, is the low-level
|
||||||
|
user-level communications interface for the Intel OPA
|
||||||
|
family of products. PSM users are enabled with mechanisms
|
||||||
|
necessary to implement higher level communications
|
||||||
|
interfaces in parallel environments.
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development files for the Intel PSM library
|
||||||
|
|
||||||
|
%description compat
|
||||||
|
Support for MPIs linked with PSM versions < 2
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%{set_build_flags}
|
||||||
|
%{make_build}
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if 0%{?fedora}
|
||||||
|
export DISTRO=fedora
|
||||||
|
%endif
|
||||||
|
%if 0%{?rhel}
|
||||||
|
export DISTRO=rhel
|
||||||
|
%endif
|
||||||
|
%make_install
|
||||||
|
rm -f %{buildroot}%{_libdir}/*.a
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%{_libdir}/libpsm2.so.2.*
|
||||||
|
%{_libdir}/libpsm2.so.2
|
||||||
|
%if 0%{?rhel} >= 8
|
||||||
|
%{_udevrulesdir}/40-psm.rules
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/libpsm2.so
|
||||||
|
%{_includedir}/psm2.h
|
||||||
|
%{_includedir}/psm2_mq.h
|
||||||
|
%{_includedir}/psm2_am.h
|
||||||
|
%{_includedir}/hfi1diag
|
||||||
|
|
||||||
|
%files compat
|
||||||
|
%{_libdir}/psm2-compat
|
||||||
|
%{_udevrulesdir}/40-psm-compat.rules
|
||||||
|
%{_prefix}/lib/libpsm2
|
||||||
|
%if 0%{?fedora}
|
||||||
|
%{_prefix}/lib/modprobe.d/libpsm2-compat.conf
|
||||||
|
%endif
|
||||||
|
%if 0%{?rhel} >= 8
|
||||||
|
%{_sysconfdir}/modprobe.d/libpsm2-compat.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 11.2.185-2
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Thu Jun 17 2021 Honggang Li <honli@redhat.com> - 11.2.185-1
|
||||||
|
- Rebase to latest upstream release PSM2_11.2.185
|
||||||
|
- Resolves: rhbz#1924899
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 11.2.86-9
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.86-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Oct 19 2020 Jeff Law <law@redhat.com> - 11.2.86-7
|
||||||
|
- Avoid out of bounds array index diagnostic with gcc-11
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.86-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 13 2020 Merlin Mathesius <mmathesi@redhat.com> - 11.2.86-5
|
||||||
|
- Minor updates to enable building for ELN
|
||||||
|
|
||||||
|
* Mon Feb 10 2020 Honggang Li <honli@redhat.com> - 11.2.86-4
|
||||||
|
- Fix FTBFS in Fedora rawhide/f32
|
||||||
|
- Resolves: bz1799597
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.86-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 17 2020 Tom Stellard <tstellar@redhat.com> - 11.2.86-2
|
||||||
|
- Use make_build macro
|
||||||
|
|
||||||
|
* Thu Oct 03 2019 Honggang Li <honli@redhat.com> - 11.2.86-1
|
||||||
|
- Rebase to latest upstream release PSM2_11.2.86
|
||||||
|
- Resolves: bz1758390
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.78-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.78-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Honggang Li <honli@redhat.com> - 11.2.78-1
|
||||||
|
- Rebase to latest upstream release PSM2_11.2.77
|
||||||
|
- Resolves: bz1671190
|
||||||
|
|
||||||
|
* Mon Oct 8 2018 Honggang Li <honli@redhat.com> - 11.2.23-1
|
||||||
|
- Rebase to latest upstream release 11.2.23
|
||||||
|
- Resolves: bz1637273
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.3.58-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 22 2018 Honggang Li <honli@redhat.com> - 10.3.58-1
|
||||||
|
- Rebase to latest upstream release 10.3.58.
|
||||||
|
- Resolves: bz1594073
|
||||||
|
|
||||||
|
* Thu Mar 15 2018 - 10.3.8-5
|
||||||
|
- Fix partial injection of Fedora build flags.
|
||||||
|
- Double the sizeof array fdesc to fix a gcc compiling issue.
|
||||||
|
- Resolves: bz1556062
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.3.8-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 4 2018 Honggang Li <honli@redhat.com> - 10.3.8-3
|
||||||
|
- Filter PSM1 library as private library
|
||||||
|
- Resolves: bz1530979
|
||||||
|
|
||||||
|
* Fri Dec 15 2017 Honggang Li <honli@redhat.com> - 10.3.8-2
|
||||||
|
- Minor enhancement
|
||||||
|
- Resolves: bz1526261
|
||||||
|
|
||||||
|
* Tue Dec 12 2017 Honggang Li <honli@redhat.com> - 10.3.8-1
|
||||||
|
- Rebase to latest upstream release
|
||||||
|
- Resolves: bz1524846
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.103_1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.103_1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Apr 13 2017 Honggang Li <honli@redhat.com> - 10.2.103_1-1
|
||||||
|
- Rebase to latest upstream master branch.
|
||||||
|
- Fix build failures caught by gcc 7.x.
|
||||||
|
- Resolves: bz1423872
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jun 13 2016 Michal Schmidt <mschmidt@redhat.com> - 10.2.2-2
|
||||||
|
- Remove redundant %%setup -n argument.
|
||||||
|
- Packaging Guidelines: Never use "(R)" in description.
|
||||||
|
|
||||||
|
* Tue Jun 07 2016 Paul Reger <paul.j.reger@intel.com> - 10.2.2-1
|
||||||
|
- Fix build failures only.
|
||||||
|
|
||||||
|
* Tue Apr 05 2016 Paul Reger <paul.j.reger@intel.com> - 10.2.1-1
|
||||||
|
- Upstream PSM2 source code for Fedora.
|
Loading…
Reference in New Issue
Block a user