From 059848ce5b52a7bf13eef568c481a77fad509e74 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 10 Feb 2021 18:46:56 -0700 Subject: [PATCH 01/73] Update to 4.1.1rc1 --- .gitignore | 1 + 8322.patch | 1682 -------------------------------------------------- 8348.patch | 25 - openmpi.spec | 19 +- sources | 2 +- 5 files changed, 10 insertions(+), 1719 deletions(-) delete mode 100644 8322.patch delete mode 100644 8348.patch diff --git a/.gitignore b/.gitignore index 104cfac..42e33b3 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.0.4.tar.bz2 /openmpi-4.0.5.tar.bz2 /openmpi-4.1.0.tar.bz2 +/openmpi-4.1.1rc1.tar.bz2 diff --git a/8322.patch b/8322.patch deleted file mode 100644 index 8c04e5d..0000000 --- a/8322.patch +++ /dev/null @@ -1,1682 +0,0 @@ -From 31068e063b8795ae11f3a59d4080db1fe111cfaf Mon Sep 17 00:00:00 2001 -From: George Bosilca -Date: Mon, 28 Dec 2020 15:36:05 -0500 -Subject: [PATCH 1/3] Major update to the AVX* detection and support - -1. Consistent march flag order between configure and make. - -2. op/avx: give the option to skip some tests - -it is possible to skip some intrinsic tests by setting some environment variables to "no" before invoking configure: - - ompi_cv_op_avx_check_avx512 - - ompi_cv_op_avx_check_avx2 - - ompi_cv_op_avx_check_avx - - ompi_cv_op_avx_check_sse41 - - ompi_cv_op_avx_check_sse3 - -3. op/avx: update AVX512 flags - -try --mavx512f -mavx512bw -mavx512vl -mavx512dq -instead of --march=skylake-avx512 - -since the former is less likely to conflict with user provided CFLAGS -(e.g. -march=...) - -Thanks Bart Oldeman for pointing this. - -4. op/avx: have the op/avx library depend on libmpi.so - -Refs. open-mpi/ompi#8323 - -Signed-off-by: Gilles Gouaillardet -Signed-off-by: George Bosilca ---- - ompi/mca/op/avx/Makefile.am | 4 +- - ompi/mca/op/avx/configure.m4 | 325 ++++++++++++++++++----------------- - 2 files changed, 174 insertions(+), 155 deletions(-) - -diff --git a/ompi/mca/op/avx/Makefile.am b/ompi/mca/op/avx/Makefile.am -index 41dcf2e1834..b1d84d90b33 100644 ---- a/ompi/mca/op/avx/Makefile.am -+++ b/ompi/mca/op/avx/Makefile.am -@@ -2,7 +2,7 @@ - # Copyright (c) 2019-2020 The University of Tennessee and The University - # of Tennessee Research Foundation. All rights - # reserved. --# Copyright (c) 2020 Research Organization for Information Science -+# Copyright (c) 2020-2021 Research Organization for Information Science - # and Technology (RIST). All rights reserved. - # $COPYRIGHT$ - # -@@ -86,7 +86,7 @@ mcacomponentdir = $(ompilibdir) - mcacomponent_LTLIBRARIES = $(component_install) - mca_op_avx_la_SOURCES = $(sources) - mca_op_avx_la_LIBADD = $(specialized_op_libs) --mca_op_avx_la_LDFLAGS = -module -avoid-version -+mca_op_avx_la_LDFLAGS = -module -avoid-version $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la - - - # Specific information for static builds. -diff --git a/ompi/mca/op/avx/configure.m4 b/ompi/mca/op/avx/configure.m4 -index 09d8b374c8e..f61b7100ef4 100644 ---- a/ompi/mca/op/avx/configure.m4 -+++ b/ompi/mca/op/avx/configure.m4 -@@ -29,6 +29,13 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - op_avx_support=0 - op_avx2_support=0 - op_avx512_support=0 -+ -+ AS_VAR_PUSHDEF([op_avx_check_sse3], [ompi_cv_op_avx_check_sse3]) -+ AS_VAR_PUSHDEF([op_avx_check_sse41], [ompi_cv_op_avx_check_sse41]) -+ AS_VAR_PUSHDEF([op_avx_check_avx], [ompi_cv_op_avx_check_avx]) -+ AS_VAR_PUSHDEF([op_avx_check_avx2], [ompi_cv_op_avx_check_avx2]) -+ AS_VAR_PUSHDEF([op_avx_check_avx512], [ompi_cv_op_avx_check_avx512]) -+ - OPAL_VAR_SCOPE_PUSH([op_avx_cflags_save]) - - AS_IF([test "$opal_cv_asm_arch" = "X86_64"], -@@ -37,21 +44,9 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - # - # Check for AVX512 support - # -- AC_MSG_CHECKING([for AVX512 support (no additional flags)]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -- __m512 vA, vB; -- _mm512_add_ps(vA, vB) -- ]])], -- [op_avx512_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- -- AS_IF([test $op_avx512_support -eq 0], -- [AC_MSG_CHECKING([for AVX512 support (with -march=skylake-avx512)]) -- op_avx_cflags_save="$CFLAGS" -- CFLAGS="$CFLAGS -march=skylake-avx512" -+ AC_CACHE_CHECK([if we are checking for AVX512 support], op_avx_check_avx512, AS_VAR_SET(op_avx_check_avx512, yes)) -+ AS_IF([test "$op_avx_check_avx512" = "yes"], -+ [AC_MSG_CHECKING([for AVX512 support (no additional flags)]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[ -@@ -59,99 +54,115 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - _mm512_add_ps(vA, vB) - ]])], - [op_avx512_support=1 -- MCA_BUILD_OP_AVX512_FLAGS="-march=skylake-avx512" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) -- CFLAGS="$op_avx_cflags_save" -- ]) -- # -- # Some combination of gcc and older as would not correctly build the code generated by -- # _mm256_loadu_si256. Screen them out. -- # -- AS_IF([test $op_avx512_support -eq 1], -- [AC_MSG_CHECKING([if _mm512_loadu_si512 generates code that can be compiled]) -- op_avx_cflags_save="$CFLAGS" -- CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ -+ AS_IF([test $op_avx512_support -eq 0], -+ [AC_MSG_CHECKING([for AVX512 support (with -mavx512f -mavx512bw -mavx512vl -mavx512dq)]) -+ op_avx_cflags_save="$CFLAGS" -+ CFLAGS="-mavx512f -mavx512bw -mavx512vl -mavx512dq $CFLAGS" -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ -+ __m512 vA, vB; -+ _mm512_add_ps(vA, vB) -+ ]])], -+ [op_avx512_support=1 -+ MCA_BUILD_OP_AVX512_FLAGS="-mavx512f -mavx512bw -mavx512vl -mavx512dq" -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])]) -+ CFLAGS="$op_avx_cflags_save" -+ ]) -+ # -+ # Some combination of gcc and older as would not correctly build the code generated by -+ # _mm256_loadu_si256. Screen them out. -+ # -+ AS_IF([test $op_avx512_support -eq 1], -+ [AC_MSG_CHECKING([if _mm512_loadu_si512 generates code that can be compiled]) -+ op_avx_cflags_save="$CFLAGS" -+ CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - int A[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - __m512i vA = _mm512_loadu_si512((__m512i*)&(A[1])) -- ]])], -- [AC_MSG_RESULT([yes])], -- [op_avx512_support=0 -- MCA_BUILD_OP_AVX512_FLAGS="" -- AC_MSG_RESULT([no])]) -- CFLAGS="$op_avx_cflags_save" -- ]) -- # -- # Some PGI compilers do not define _mm512_mullo_epi64. Screen them out. -- # -- AS_IF([test $op_avx512_support -eq 1], -- [AC_MSG_CHECKING([if _mm512_mullo_epi64 generates code that can be compiled]) -- op_avx_cflags_save="$CFLAGS" -- CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ ]])], -+ [AC_MSG_RESULT([yes])], -+ [op_avx512_support=0 -+ MCA_BUILD_OP_AVX512_FLAGS="" -+ AC_MSG_RESULT([no])]) -+ CFLAGS="$op_avx_cflags_save" -+ ]) -+ # -+ # Some PGI compilers do not define _mm512_mullo_epi64. Screen them out. -+ # -+ AS_IF([test $op_avx512_support -eq 1], -+ [AC_MSG_CHECKING([if _mm512_mullo_epi64 generates code that can be compiled]) -+ op_avx_cflags_save="$CFLAGS" -+ CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m512i vA, vB; - _mm512_mullo_epi64(vA, vB) -- ]])], -- [AC_MSG_RESULT([yes])], -- [op_avx512_support=0 -- MCA_BUILD_OP_AVX512_FLAGS="" -- AC_MSG_RESULT([no])]) -- CFLAGS="$op_avx_cflags_save" -- ]) -+ ]])], -+ [AC_MSG_RESULT([yes])], -+ [op_avx512_support=0 -+ MCA_BUILD_OP_AVX512_FLAGS="" -+ AC_MSG_RESULT([no])]) -+ CFLAGS="$op_avx_cflags_save" -+ ])]) - # - # Check support for AVX2 - # -- AC_MSG_CHECKING([for AVX2 support (no additional flags)]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ AC_CACHE_CHECK([if we are checking for AVX2 support], op_avx_check_avx2, AS_VAR_SET(op_avx_check_avx2, yes)) -+ AS_IF([test "$op_avx_check_avx2" = "yes"], -+ [AC_MSG_CHECKING([for AVX2 support (no additional flags)]) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m256 vA, vB; - _mm256_add_ps(vA, vB) -- ]])], -- [op_avx2_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- AS_IF([test $op_avx2_support -eq 0], -- [AC_MSG_CHECKING([for AVX2 support (with -mavx2)]) -- op_avx_cflags_save="$CFLAGS" -- CFLAGS="$CFLAGS -mavx2" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ ]])], -+ [op_avx2_support=1 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])]) -+ AS_IF([test $op_avx2_support -eq 0], -+ [AC_MSG_CHECKING([for AVX2 support (with -mavx2)]) -+ op_avx_cflags_save="$CFLAGS" -+ CFLAGS="-mavx2 $CFLAGS" -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m256 vA, vB; - _mm256_add_ps(vA, vB) -- ]])], -- [op_avx2_support=1 -- MCA_BUILD_OP_AVX2_FLAGS="-mavx2" -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- CFLAGS="$op_avx_cflags_save" -- ]) -- # -- # Some combination of gcc and older as would not correctly build the code generated by -- # _mm256_loadu_si256. Screen them out. -- # -- AS_IF([test $op_avx2_support -eq 1], -- [AC_MSG_CHECKING([if _mm256_loadu_si256 generates code that can be compiled]) -- op_avx_cflags_save="$CFLAGS" -- CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX2_FLAGS" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ ]])], -+ [op_avx2_support=1 -+ MCA_BUILD_OP_AVX2_FLAGS="-mavx2" -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])]) -+ CFLAGS="$op_avx_cflags_save" -+ ]) -+ # -+ # Some combination of gcc and older as would not correctly build the code generated by -+ # _mm256_loadu_si256. Screen them out. -+ # -+ AS_IF([test $op_avx2_support -eq 1], -+ [AC_MSG_CHECKING([if _mm256_loadu_si256 generates code that can be compiled]) -+ op_avx_cflags_save="$CFLAGS" -+ CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX2_FLAGS" -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - int A[8] = {0, 1, 2, 3, 4, 5, 6, 7}; - __m256i vA = _mm256_loadu_si256((__m256i*)&A) -- ]])], -- [AC_MSG_RESULT([yes])], -- [op_avx2_support=0 -- MCA_BUILD_OP_AVX2_FLAGS="" -- AC_MSG_RESULT([no])]) -- CFLAGS="$op_avx_cflags_save" -- ]) -+ ]])], -+ [AC_MSG_RESULT([yes])], -+ [op_avx2_support=0 -+ MCA_BUILD_OP_AVX2_FLAGS="" -+ AC_MSG_RESULT([no])]) -+ CFLAGS="$op_avx_cflags_save" -+ ])]) - # - # What about early AVX support. The rest of the logic is slightly different as - # we need to include some of the SSE4.1 and SSE3 instructions. So, we first check -@@ -160,90 +171,92 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - # the AVX flag, and then recheck if we have support for the SSE4.1 and SSE3 - # instructions. - # -- AC_MSG_CHECKING([for AVX support (no additional flags)]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ AC_CACHE_CHECK([if we are checking for AVX support], op_avx_check_avx, AS_VAR_SET(op_avx_check_avx, yes)) -+ AS_IF([test "$op_avx_check_avx" = "yes"], -+ [AC_MSG_CHECKING([for AVX support (no additional flags)]) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m128 vA, vB; - _mm_add_ps(vA, vB) -- ]])], -- [op_avx_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -+ ]])], -+ [op_avx_support=1 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])])]) - # - # Check for SSE4.1 support - # -- AS_IF([test $op_avx_support -eq 1], -- [AC_MSG_CHECKING([for SSE4.1 support]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ AC_CACHE_CHECK([if we are checking for SSE4.1 support], op_avx_check_sse41, AS_VAR_SET(op_avx_check_sse41, yes)) -+ AS_IF([test $op_avx_support -eq 1 && test "$op_avx_check_sse41" = "yes"], -+ [AC_MSG_CHECKING([for SSE4.1 support]) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m128i vA, vB; - (void)_mm_max_epi8(vA, vB) -- ]])], -- [op_sse41_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- ]) -+ ]])], -+ [op_sse41_support=1 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])]) -+ ]) - # - # Check for SSE3 support - # -- AS_IF([test $op_avx_support -eq 1], -- [AC_MSG_CHECKING([for SSE3 support]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ AC_CACHE_CHECK([if we are checking for SSE3 support], op_avx_check_sse3, AS_VAR_SET(op_avx_check_sse3, yes)) -+ AS_IF([test $op_avx_support -eq 1 && test "$op_avx_check_sse3" = "yes"], -+ [AC_MSG_CHECKING([for SSE3 support]) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - int A[4] = {0, 1, 2, 3}; - __m128i vA = _mm_lddqu_si128((__m128i*)&A) -- ]])], -- [op_sse3_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- ]) -+ ]])], -+ [op_sse3_support=1 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])]) -+ ]) - # Second pass, do we need to add the AVX flag ? - AS_IF([test $op_avx_support -eq 0 || test $op_sse41_support -eq 0 || test $op_sse3_support -eq 0], -- [AC_MSG_CHECKING([for AVX support (with -mavx)]) -- op_avx_cflags_save="$CFLAGS" -- CFLAGS="$CFLAGS -mavx" -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ [AS_IF([test "$op_avx_check_avx" = "yes"], -+ [AC_MSG_CHECKING([for AVX support (with -mavx)]) -+ op_avx_cflags_save="$CFLAGS" -+ CFLAGS="-mavx $CFLAGS" -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m128 vA, vB; - _mm_add_ps(vA, vB) - ]])], -- [op_avx_support=1 -- MCA_BUILD_OP_AVX_FLAGS="-mavx" -- op_sse41_support=0 -- op_sse3_support=0 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -+ [op_avx_support=1 -+ MCA_BUILD_OP_AVX_FLAGS="-mavx" -+ op_sse41_support=0 -+ op_sse3_support=0 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])])]) - -- AS_IF([test $op_sse41_support -eq 0], -- [AC_MSG_CHECKING([for SSE4.1 support]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -- [[ -+ AS_IF([test "$op_avx_check_sse41" = "yes" && test $op_sse41_support -eq 0], -+ [AC_MSG_CHECKING([for SSE4.1 support]) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], -+ [[ - __m128i vA, vB; - (void)_mm_max_epi8(vA, vB) -- ]])], -- [op_sse41_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- ]) -- AS_IF([test $op_sse3_support -eq 0], -- [AC_MSG_CHECKING([for SSE3 support]) -- AC_LINK_IFELSE( -- [AC_LANG_PROGRAM([[#include ]], -+ ]])], -+ [op_sse41_support=1 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])])]) -+ AS_IF([test "$op_avx_check_sse3" = "yes" && test $op_sse3_support -eq 0], -+ [AC_MSG_CHECKING([for SSE3 support]) -+ AC_LINK_IFELSE( -+ [AC_LANG_PROGRAM([[#include ]], - [[ - int A[4] = {0, 1, 2, 3}; - __m128i vA = _mm_lddqu_si128((__m128i*)&A) - ]])], -- [op_sse3_support=1 -- AC_MSG_RESULT([yes])], -- [AC_MSG_RESULT([no])]) -- ]) -- CFLAGS="$op_avx_cflags_save" -- ]) -+ [op_sse3_support=1 -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])])]) -+ CFLAGS="$op_avx_cflags_save"]) - - AC_LANG_POP([C]) - ]) -@@ -276,6 +289,12 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - AC_SUBST(MCA_BUILD_OP_AVX2_FLAGS) - AC_SUBST(MCA_BUILD_OP_AVX_FLAGS) - -+ AS_VAR_POPDEF([op_avx_check_avx512]) -+ AS_VAR_POPDEF([op_avx_check_avx2]) -+ AS_VAR_POPDEF([op_avx_check_avx]) -+ AS_VAR_POPDEF([op_avx_check_sse41]) -+ AS_VAR_POPDEF([op_avx_check_sse3]) -+ - OPAL_VAR_SCOPE_POP - # Enable this component iff we have at least the most basic form of support - # for vectorial ISA - -From fcf2766a03e3c2a1001679013878209bcddd50ae Mon Sep 17 00:00:00 2001 -From: George Bosilca -Date: Mon, 28 Dec 2020 12:18:07 -0500 -Subject: [PATCH 2/3] AVX code generation improvements - -1. Allow fallback to a lesser AVX support during make - -Due to the fact that some distro restrict the compiule architecture -during make (while not setting any restrictions during configure) we -need to detect the target architecture also during make in order to -restrict the code we generate. - -2. Add comments and better protect the arch specific code. - -Identify all the vectorial functions used and clasify them according to -the neccesary hardware capabilities. -Use these requirements to protect the code for load and stores (the rest -of the code being automatically generated it is more difficult to -protect). - -3. Correctly check for AVX* support. - -Signed-off-by: George Bosilca ---- - ompi/mca/op/avx/configure.m4 | 28 +-- - ompi/mca/op/avx/op_avx_functions.c | 322 ++++++++++++++++++++++++----- - 2 files changed, 288 insertions(+), 62 deletions(-) - -diff --git a/ompi/mca/op/avx/configure.m4 b/ompi/mca/op/avx/configure.m4 -index f61b7100ef4..f3651f09d43 100644 ---- a/ompi/mca/op/avx/configure.m4 -+++ b/ompi/mca/op/avx/configure.m4 -@@ -44,7 +44,7 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - # - # Check for AVX512 support - # -- AC_CACHE_CHECK([if we are checking for AVX512 support], op_avx_check_avx512, AS_VAR_SET(op_avx_check_avx512, yes)) -+ AC_CACHE_CHECK([for AVX512 support], op_avx_check_avx512, AS_VAR_SET(op_avx_check_avx512, yes)) - AS_IF([test "$op_avx_check_avx512" = "yes"], - [AC_MSG_CHECKING([for AVX512 support (no additional flags)]) - AC_LINK_IFELSE( -@@ -115,14 +115,14 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - # - # Check support for AVX2 - # -- AC_CACHE_CHECK([if we are checking for AVX2 support], op_avx_check_avx2, AS_VAR_SET(op_avx_check_avx2, yes)) -+ AC_CACHE_CHECK([for AVX2 support], op_avx_check_avx2, AS_VAR_SET(op_avx_check_avx2, yes)) - AS_IF([test "$op_avx_check_avx2" = "yes"], - [AC_MSG_CHECKING([for AVX2 support (no additional flags)]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[ -- __m256 vA, vB; -- _mm256_add_ps(vA, vB) -+ __m256i vA, vB, vC; -+ vC = _mm256_and_si256(vA, vB) - ]])], - [op_avx2_support=1 - AC_MSG_RESULT([yes])], -@@ -134,8 +134,8 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[ -- __m256 vA, vB; -- _mm256_add_ps(vA, vB) -+ __m256i vA, vB, vC; -+ vC = _mm256_and_si256(vA, vB) - ]])], - [op_avx2_support=1 - MCA_BUILD_OP_AVX2_FLAGS="-mavx2" -@@ -164,21 +164,21 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - CFLAGS="$op_avx_cflags_save" - ])]) - # -- # What about early AVX support. The rest of the logic is slightly different as -+ # What about early AVX support? The rest of the logic is slightly different as - # we need to include some of the SSE4.1 and SSE3 instructions. So, we first check - # if we can compile AVX code without a flag, then we validate that we have support - # for the SSE4.1 and SSE3 instructions we need. If not, we check for the usage of - # the AVX flag, and then recheck if we have support for the SSE4.1 and SSE3 - # instructions. - # -- AC_CACHE_CHECK([if we are checking for AVX support], op_avx_check_avx, AS_VAR_SET(op_avx_check_avx, yes)) -+ AC_CACHE_CHECK([for AVX support], op_avx_check_avx, AS_VAR_SET(op_avx_check_avx, yes)) - AS_IF([test "$op_avx_check_avx" = "yes"], - [AC_MSG_CHECKING([for AVX support (no additional flags)]) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[ -- __m128 vA, vB; -- _mm_add_ps(vA, vB) -+ __m256 vA, vB, vC; -+ vC = _mm256_add_ps(vA, vB) - ]])], - [op_avx_support=1 - AC_MSG_RESULT([yes])], -@@ -186,7 +186,7 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - # - # Check for SSE4.1 support - # -- AC_CACHE_CHECK([if we are checking for SSE4.1 support], op_avx_check_sse41, AS_VAR_SET(op_avx_check_sse41, yes)) -+ AC_CACHE_CHECK([for SSE4.1 support], op_avx_check_sse41, AS_VAR_SET(op_avx_check_sse41, yes)) - AS_IF([test $op_avx_support -eq 1 && test "$op_avx_check_sse41" = "yes"], - [AC_MSG_CHECKING([for SSE4.1 support]) - AC_LINK_IFELSE( -@@ -202,7 +202,7 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - # - # Check for SSE3 support - # -- AC_CACHE_CHECK([if we are checking for SSE3 support], op_avx_check_sse3, AS_VAR_SET(op_avx_check_sse3, yes)) -+ AC_CACHE_CHECK([for SSE3 support], op_avx_check_sse3, AS_VAR_SET(op_avx_check_sse3, yes)) - AS_IF([test $op_avx_support -eq 1 && test "$op_avx_check_sse3" = "yes"], - [AC_MSG_CHECKING([for SSE3 support]) - AC_LINK_IFELSE( -@@ -224,8 +224,8 @@ AC_DEFUN([MCA_ompi_op_avx_CONFIG],[ - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[ -- __m128 vA, vB; -- _mm_add_ps(vA, vB) -+ __m256 vA, vB, vC; -+ vC = _mm256_add_ps(vA, vB) - ]])], - [op_avx_support=1 - MCA_BUILD_OP_AVX_FLAGS="-mavx" -diff --git a/ompi/mca/op/avx/op_avx_functions.c b/ompi/mca/op/avx/op_avx_functions.c -index 95a9c9ab84e..ef3f0932906 100644 ---- a/ompi/mca/op/avx/op_avx_functions.c -+++ b/ompi/mca/op/avx/op_avx_functions.c -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2019-2020 The University of Tennessee and The University -+ * Copyright (c) 2019-2021 The University of Tennessee and The University - * of Tennessee Research Foundation. All rights - * reserved. - * Copyright (c) 2020 Research Organization for Information Science -@@ -24,16 +24,42 @@ - #include "ompi/mca/op/avx/op_avx.h" - - #include -- -+/** -+ * The following logic is necessary to cope with distro maintainer's desire to change the compilation -+ * flags after the configure step, leading to inconsistencies between what OMPI has detected and what -+ * code can be generated during make. If we detect that the current code generation architecture has -+ * been changed from our own setting and cannot generate the code we need (AVX512, AVX2) we fall back -+ * to a lesser support (AVX512 -> AVX2, AVX2 -> AVX, AVX -> error out). -+ */ - #if defined(GENERATE_AVX512_CODE) --#define PREPEND _avx512 --#elif defined(GENERATE_AVX2_CODE) --#define PREPEND _avx2 --#elif defined(GENERATE_AVX_CODE) --#define PREPEND _avx --#else --#error This file should not be compiled in this conditions --#endif -+# if defined(__AVX512BW__) && defined(__AVX512F__) && defined(__AVX512VL__) -+# define PREPEND _avx512 -+# else -+# undef GENERATE_AVX512_CODE -+# endif /* defined(__AVX512BW__) && defined(__AVX512F__) && defined(__AVX512VL__) */ -+#endif /* defined(GENERATE_AVX512_CODE) */ -+ -+#if !defined(PREPEND) && defined(GENERATE_AVX2_CODE) -+# if defined(__AVX2__) -+# define PREPEND _avx2 -+# else -+# undef GENERATE_AVX2_CODE -+# endif /* defined(__AVX2__) */ -+#endif /* !defined(PREPEND) && defined(GENERATE_AVX2_CODE) */ -+ -+#if !defined(PREPEND) && defined(GENERATE_AVX_CODE) -+# if defined(__AVX__) -+# define PREPEND _avx -+# endif -+#endif /* !defined(PREPEND) && defined(GENERATE_AVX_CODE) */ -+ -+#if !defined(PREPEND) -+# if OMPI_MCA_OP_HAVE_AVX512 || OMPI_MCA_OP_HAVE_AVX2 -+# error The configure step has detected possible support for AVX512 and/or AVX2 but the compiler flags during make are too restrictive. Please disable the AVX component by adding --enable-mca-no-build=op-avx to your configure step. -+# else -+# error This file should not be compiled in this conditions. Please provide the config.log file to the OMPI developers. -+# endif /* OMPI_MCA_OP_HAVE_AVX512 || OMPI_MCA_OP_HAVE_AVX2 */ -+#endif /* !defined(PREPEND) */ - - /* - * Concatenate preprocessor tokens A and B without expanding macro definitions -@@ -46,6 +72,102 @@ - */ - #define OP_CONCAT(A, B) OP_CONCAT_NX(A, B) - -+/* -+ * grep -e "_mm[125][251][862]_.*(" avx512.c -o | sed 's/(//g' | sort | uniq -+ * -+ * https://software.intel.com/sites/landingpage/IntrinsicsGuide -+ * -+ * _mm_add_epi[8,16,32,64] SSE2 -+ * _mm_add_pd SSE2 -+ * _mm_add_ps SSE -+ * _mm_adds_epi[8,16] SSE2 -+ * _mm_adds_epu[8,16] SSE2 -+ * _mm_and_si128 SSE2 -+ * _mm_lddqu_si128 SSE3 -+ * _mm_loadu_pd SSE2 -+ * _mm_loadu_ps SSE -+ * _mm_max_epi8 SSE4.1 -+ * _mm_max_epi16 SSE2 -+ * _mm_max_epi32 SSE4.1 -+ * _mm_max_epi64 AVX512VL + AVX512F -+ * _mm_max_epu8 SSE2 -+ * _mm_max_epu[16,32] SSE4.1 -+ * _mm_max_epu64 AVX512VL + AVX512F -+ * _mm_max_pd SSE2 -+ * _mm_max_ps SSE -+ * _mm_min_epi8 SSE4.1 -+ * _mm_min_epi16 SSE2 -+ * _mm_min_epi32 SSE4.1 -+ * _mm_min_epi64 AVX512VL + AVX512F -+ * _mm_min_epu8 SSE2 -+ * _mm_min_epu[16,32] SSE4.1 -+ * _mm_min_epu64 AVX512VL + AVX512F -+ * _mm_min_pd SSE2 -+ * _mm_min_ps SSE -+ * _mm_mul_pd SSE2 -+ * _mm_mul_ps SSE -+ * _mm_mullo_epi16 SSE2 -+ * _mm_mullo_epi32 SSE4.1 -+ * _mm_mullo_epi64 AVX512VL + AVX512DQ -+ * _mm_or_si128 SSE2 -+ * _mm_storeu_pd SSE2 -+ * _mm_storeu_ps SSE -+ * _mm_storeu_si128 SSE2 -+ * _mm_xor_si128 SSE2 -+ * _mm256_add_epi[8,16,32,64] AVX2 -+ * _mm256_add_p[s,d] AVX -+ * _mm256_adds_epi[8,16] AVX2 -+ * _mm256_adds_epu[8,16] AVX2 -+ * _mm256_and_si256 AVX2 -+ * _mm256_loadu_p[s,d] AVX -+ * _mm256_loadu_si256 AVX -+ * _mm256_max_epi[8,16,32] AVX2 -+ * _mm256_max_epi64 AVX512VL + AVX512F -+ * _mm256_max_epu[8,16,32] AVX2 -+ * _mm256_max_epu64 AVX512VL + AVX512F -+ * _mm256_max_p[s,d] AVX -+ * _mm256_min_epi[8,16,32] AVX2 -+ * _mm256_min_epi64 AVX512VL + AVX512F -+ * _mm256_min_epu[8,16,32] AVX2 -+ * _mm256_min_epu64 AVX512VL + AVX512F -+ * _mm256_min_p[s,d] AVX -+ * _mm256_mul_p[s,d] AVX -+ * _mm256_mullo_epi[16,32] AVX2 -+ * _mm256_mullo_epi64 AVX512VL + AVX512DQ -+ * _mm256_or_si256 AVX2 -+ * _mm256_storeu_p[s,d] AVX -+ * _mm256_storeu_si256 AVX -+ * _mm256_xor_si256 AVX2 -+ * _mm512_add_epi[8,16] AVX512BW -+ * _mm512_add_epi[32,64] AVX512F -+ * _mm512_add_p[s,d] AVX512F -+ * _mm512_adds_epi[8,16] AVX512BW -+ * _mm512_adds_epu[8,16] AVX512BW -+ * _mm512_and_si512 AVX512F -+ * _mm512_cvtepi16_epi8 AVX512BW -+ * _mm512_cvtepi8_epi16 AVX512BW -+ * _mm512_loadu_p[s,d] AVX512F -+ * _mm512_loadu_si512 AVX512F -+ * _mm512_max_epi[8,16] AVX512BW -+ * _mm512_max_epi[32,64] AVX512F -+ * _mm512_max_epu[8,16] AVX512BW -+ * _mm512_max_epu[32,64] AVX512F -+ * _mm512_max_p[s,d] AVX512F -+ * _mm512_min_epi[8,16] AVX512BW -+ * _mm512_min_epi[32,64] AVX512F -+ * _mm512_min_epu[8,16] AVX512BW -+ * _mm512_min_epu[32,64] AVX512F -+ * _mm512_min_p[s,d] AVX512F -+ * _mm512_mul_p[s,d] AVX512F -+ * _mm512_mullo_epi16 AVX512BW -+ * _mm512_mullo_epi32 AVX512F -+ * _mm512_mullo_epi64 AVX512DQ -+ * _mm512_or_si512 AVX512F -+ * _mm512_storeu_p[s,d] AVX512F -+ * _mm512_storeu_si512 AVX512F -+ * _mm512_xor_si512 AVX512F -+ */ -+ - /* - * Since all the functions in this file are essentially identical, we - * use a macro to substitute in names and types. The core operation -@@ -62,13 +184,14 @@ - (((_flag) & mca_op_avx_component.flags) == (_flag)) - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG|OMPI_OP_AVX_HAS_AVX512BW_FLAG) ) { \ - int types_per_step = (512 / 8) / sizeof(type); \ - for( ; left_over >= types_per_step; left_over -= types_per_step ) { \ -- __m512i vecA = _mm512_loadu_si512((__m512*)in); \ -+ __m512i vecA = _mm512_loadu_si512((__m512*)in); \ - in += types_per_step; \ -- __m512i vecB = _mm512_loadu_si512((__m512*)out); \ -+ __m512i vecB = _mm512_loadu_si512((__m512*)out); \ - __m512i res = _mm512_##op##_ep##type_sign##type_size(vecA, vecB); \ - _mm512_storeu_si512((__m512*)out, res); \ - out += types_per_step; \ -@@ -76,10 +199,14 @@ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512F support needed for _mm512_loadu_si512 and _mm512_storeu_si512 -+#endif /* __AVX512F__ */ -+#else - #define OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX2_FUNC(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX2_FLAG | OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - int types_per_step = (256 / 8) / sizeof(type); /* AVX2 */ \ -@@ -87,30 +214,37 @@ - __m256i vecA = _mm256_loadu_si256((__m256i*)in); \ - in += types_per_step; \ - __m256i vecB = _mm256_loadu_si256((__m256i*)out); \ -- __m256i res = _mm256_##op##_ep##type_sign##type_size(vecA, vecB); \ -+ __m256i res = _mm256_##op##_ep##type_sign##type_size(vecA, vecB); \ - _mm256_storeu_si256((__m256i*)out, res); \ - out += types_per_step; \ - } \ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_si256 and _mm256_storeu_si256 -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX2_FUNC(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_SSE3_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE3__ - #define OP_AVX_SSE4_1_FUNC(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE3_FLAG | OMPI_OP_AVX_HAS_SSE4_1_FLAG) ) { \ -- int types_per_step = (128 / 8) / sizeof(type); /* AVX */ \ -+ int types_per_step = (128 / 8) / sizeof(type); \ - for( ; left_over >= types_per_step; left_over -= types_per_step ) { \ - __m128i vecA = _mm_lddqu_si128((__m128i*)in); \ - in += types_per_step; \ - __m128i vecB = _mm_lddqu_si128((__m128i*)out); \ -- __m128i res = _mm_##op##_ep##type_sign##type_size(vecA, vecB); \ -+ __m128i res = _mm_##op##_ep##type_sign##type_size(vecA, vecB); \ - _mm_storeu_si128((__m128i*)out, res); \ - out += types_per_step; \ - } \ - } - #else -+#error Target architecture lacks SSE3 support needed for _mm_lddqu_si128 and _mm_storeu_si128 -+#endif /* __SSE3__ */ -+#else - #define OP_AVX_SSE4_1_FUNC(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -143,12 +277,13 @@ static void OP_CONCAT(ompi_op_avx_2buff_##name##_##type,PREPEND)(const void *_in - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512BW__ && __AVX__ - #define OP_AVX_AVX512_MUL(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG | OMPI_OP_AVX_HAS_AVX512BW_FLAG) ) { \ - int types_per_step = (256 / 8) / sizeof(type); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m256i vecA_tmp = _mm256_loadu_si256((__m256i*)in); \ -- __m256i vecB_tmp = _mm256_loadu_si256((__m256i*)out); \ -+ __m256i vecA_tmp = _mm256_loadu_si256((__m256i*)in); \ -+ __m256i vecB_tmp = _mm256_loadu_si256((__m256i*)out); \ - in += types_per_step; \ - __m512i vecA = _mm512_cvtepi8_epi16(vecA_tmp); \ - __m512i vecB = _mm512_cvtepi8_epi16(vecB_tmp); \ -@@ -160,6 +295,9 @@ static void OP_CONCAT(ompi_op_avx_2buff_##name##_##type,PREPEND)(const void *_in - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512BW and AVX support needed for _mm256_loadu_si256, _mm256_storeu_si256 and _mm512_cvtepi8_epi16 -+#endif /* __AVX512BW__ && __AVX__ */ -+#else - #define OP_AVX_AVX512_MUL(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - /** -@@ -201,13 +339,14 @@ static void OP_CONCAT( ompi_op_avx_2buff_##name##_##type, PREPEND)(const void *_ - * - */ - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_BIT_FUNC(name, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS( OMPI_OP_AVX_HAS_AVX512F_FLAG) ) { \ - types_per_step = (512 / 8) / sizeof(type); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512i vecA = _mm512_loadu_si512((__m512i*)in); \ -+ __m512i vecA = _mm512_loadu_si512((__m512i*)in); \ - in += types_per_step; \ -- __m512i vecB = _mm512_loadu_si512((__m512i*)out); \ -+ __m512i vecB = _mm512_loadu_si512((__m512i*)out); \ - __m512i res = _mm512_##op##_si512(vecA, vecB); \ - _mm512_storeu_si512((__m512i*)out, res); \ - out += types_per_step; \ -@@ -215,10 +354,14 @@ static void OP_CONCAT( ompi_op_avx_2buff_##name##_##type, PREPEND)(const void *_ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512F support needed for _mm512_loadu_si512 and _mm512_storeu_si512 -+#endif /* __AVX512F__ */ -+#else - #define OP_AVX_AVX512_BIT_FUNC(name, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX2_BIT_FUNC(name, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX2_FLAG | OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - types_per_step = (256 / 8) / sizeof(type); \ -@@ -226,17 +369,21 @@ static void OP_CONCAT( ompi_op_avx_2buff_##name##_##type, PREPEND)(const void *_ - __m256i vecA = _mm256_loadu_si256((__m256i*)in); \ - in += types_per_step; \ - __m256i vecB = _mm256_loadu_si256((__m256i*)out); \ -- __m256i res = _mm256_##op##_si256(vecA, vecB); \ -+ __m256i res = _mm256_##op##_si256(vecA, vecB); \ - _mm256_storeu_si256((__m256i*)out, res); \ - out += types_per_step; \ - } \ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_si256 and _mm256_storeu_si256 -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX2_BIT_FUNC(name, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_SSE3_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE3__ && __SSE2__ - #define OP_AVX_SSE3_BIT_FUNC(name, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE3_FLAG) ) { \ - types_per_step = (128 / 8) / sizeof(type); \ -@@ -244,12 +391,15 @@ static void OP_CONCAT( ompi_op_avx_2buff_##name##_##type, PREPEND)(const void *_ - __m128i vecA = _mm_lddqu_si128((__m128i*)in); \ - in += types_per_step; \ - __m128i vecB = _mm_lddqu_si128((__m128i*)out); \ -- __m128i res = _mm_##op##_si128(vecA, vecB); \ -+ __m128i res = _mm_##op##_si128(vecA, vecB); \ - _mm_storeu_si128((__m128i*)out, res); \ - out += types_per_step; \ - } \ - } - #else -+#error Target architecture lacks SSE2 and SSE3 support needed for _mm_lddqu_si128 and _mm_storeu_si128 -+#endif /* __SSE3__ && __SSE2__ */ -+#else - #define OP_AVX_SSE3_BIT_FUNC(name, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -282,12 +432,13 @@ static void OP_CONCAT(ompi_op_avx_2buff_##name##_##type,PREPEND)(const void *_in - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_FLOAT_FUNC(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG) ) { \ - types_per_step = (512 / 8) / sizeof(float); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512 vecA = _mm512_loadu_ps((__m512*)in); \ -- __m512 vecB = _mm512_loadu_ps((__m512*)out); \ -+ __m512 vecA = _mm512_loadu_ps((__m512*)in); \ -+ __m512 vecB = _mm512_loadu_ps((__m512*)out); \ - in += types_per_step; \ - __m512 res = _mm512_##op##_ps(vecA, vecB); \ - _mm512_storeu_ps((__m512*)out, res); \ -@@ -296,28 +447,36 @@ static void OP_CONCAT(ompi_op_avx_2buff_##name##_##type,PREPEND)(const void *_in - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512F support needed for _mm512_loadu_ps and _mm512_storeu_ps -+#endif /* __AVX512F__ */ -+#else - #define OP_AVX_AVX512_FLOAT_FUNC(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX_FLOAT_FUNC(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - types_per_step = (256 / 8) / sizeof(float); \ - for( ; left_over >= types_per_step; left_over -= types_per_step ) { \ -- __m256 vecA = _mm256_loadu_ps(in); \ -+ __m256 vecA = _mm256_loadu_ps(in); \ - in += types_per_step; \ -- __m256 vecB = _mm256_loadu_ps(out); \ -+ __m256 vecB = _mm256_loadu_ps(out); \ - __m256 res = _mm256_##op##_ps(vecA, vecB); \ -- _mm256_storeu_ps(out, res); \ -+ _mm256_storeu_ps(out, res); \ - out += types_per_step; \ - } \ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_ps and _mm256_storeu_ps -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX_FLOAT_FUNC(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_AVX_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE__ - #define OP_AVX_SSE_FLOAT_FUNC(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE_FLAG) ) { \ - types_per_step = (128 / 8) / sizeof(float); \ -@@ -331,6 +490,9 @@ static void OP_CONCAT(ompi_op_avx_2buff_##name##_##type,PREPEND)(const void *_in - } \ - } - #else -+#error Target architecture lacks SSE support needed for _mm_loadu_ps and _mm_storeu_ps -+#endif /* __SSE__ */ -+#else - #define OP_AVX_SSE_FLOAT_FUNC(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -363,13 +525,14 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_float,PREPEND)(const void *_in, v - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_DOUBLE_FUNC(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG) ) { \ - types_per_step = (512 / 8) / sizeof(double); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512d vecA = _mm512_loadu_pd(in); \ -+ __m512d vecA = _mm512_loadu_pd(in); \ - in += types_per_step; \ -- __m512d vecB = _mm512_loadu_pd(out); \ -+ __m512d vecB = _mm512_loadu_pd(out); \ - __m512d res = _mm512_##op##_pd(vecA, vecB); \ - _mm512_storeu_pd((out), res); \ - out += types_per_step; \ -@@ -377,17 +540,21 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_float,PREPEND)(const void *_in, v - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVXF512 support needed for _mm512_loadu_pd and _mm512_storeu_pd -+#endif /* __AVXF512__ */ -+#else - #define OP_AVX_AVX512_DOUBLE_FUNC(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX_DOUBLE_FUNC(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - types_per_step = (256 / 8) / sizeof(double); \ - for( ; left_over >= types_per_step; left_over -= types_per_step ) { \ -- __m256d vecA = _mm256_loadu_pd(in); \ -+ __m256d vecA = _mm256_loadu_pd(in); \ - in += types_per_step; \ -- __m256d vecB = _mm256_loadu_pd(out); \ -+ __m256d vecB = _mm256_loadu_pd(out); \ - __m256d res = _mm256_##op##_pd(vecA, vecB); \ - _mm256_storeu_pd(out, res); \ - out += types_per_step; \ -@@ -395,10 +562,14 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_float,PREPEND)(const void *_in, v - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_pd and _mm256_storeu_pd -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX_DOUBLE_FUNC(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_AVX_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE2__ - #define OP_AVX_SSE2_DOUBLE_FUNC(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE2_FLAG) ) { \ - types_per_step = (128 / 8) / sizeof(double); \ -@@ -412,6 +583,9 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_float,PREPEND)(const void *_in, v - } \ - } - #else -+#error Target architecture lacks SSE2 support needed for _mm_loadu_pd and _mm_storeu_pd -+#endif /* __SSE2__ */ -+#else - #define OP_AVX_SSE2_DOUBLE_FUNC(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -580,12 +754,13 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_double,PREPEND)(const void *_in, - * routines, needed for some optimizations. - */ - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_FUNC_3(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG|OMPI_OP_AVX_HAS_AVX512BW_FLAG) ) { \ - int types_per_step = (512 / 8) / sizeof(type); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512i vecA = _mm512_loadu_si512(in1); \ -- __m512i vecB = _mm512_loadu_si512(in2); \ -+ __m512i vecA = _mm512_loadu_si512(in1); \ -+ __m512i vecB = _mm512_loadu_si512(in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m512i res = _mm512_##op##_ep##type_sign##type_size(vecA, vecB); \ -@@ -595,10 +770,14 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_double,PREPEND)(const void *_in, - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512F support needed for _mm512_loadu_si512 and _mm512_storeu_si512 -+#endif /* __AVX512F__ */ -+#else - #define OP_AVX_AVX512_FUNC_3(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX2_FUNC_3(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX2_FLAG | OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - int types_per_step = (256 / 8) / sizeof(type); \ -@@ -607,17 +786,21 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_double,PREPEND)(const void *_in, - __m256i vecB = _mm256_loadu_si256((__m256i*)in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ -- __m256i res = _mm256_##op##_ep##type_sign##type_size(vecA, vecB); \ -+ __m256i res = _mm256_##op##_ep##type_sign##type_size(vecA, vecB); \ - _mm256_storeu_si256((__m256i*)out, res); \ - out += types_per_step; \ - } \ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_si256 and _mm256_storeu_si256 -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX2_FUNC_3(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_SSE3_CODE) && defined(OMPI_MCA_OP_HAVE_SSE41) && (1 == OMPI_MCA_OP_HAVE_SSE41) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE3__ && __SSE2__ - #define OP_AVX_SSE4_1_FUNC_3(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE3_FLAG | OMPI_OP_AVX_HAS_SSE4_1_FLAG) ) { \ - int types_per_step = (128 / 8) / sizeof(type); \ -@@ -626,12 +809,15 @@ static void OP_CONCAT(ompi_op_avx_2buff_##op##_double,PREPEND)(const void *_in, - __m128i vecB = _mm_lddqu_si128((__m128i*)in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ -- __m128i res = _mm_##op##_ep##type_sign##type_size(vecA, vecB); \ -+ __m128i res = _mm_##op##_ep##type_sign##type_size(vecA, vecB); \ - _mm_storeu_si128((__m128i*)out, res); \ - out += types_per_step; \ - } \ - } - #else -+#error Target architecture lacks SSE2 and SSE3 support needed for _mm_lddqu_si128 and _mm_storeu_si128 -+#endif /* __SSE3__ && __SSE2__ */ -+#else - #define OP_AVX_SSE4_1_FUNC_3(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -667,12 +853,13 @@ static void OP_CONCAT(ompi_op_avx_3buff_##name##_##type,PREPEND)(const void * re - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512BW__ && __AVX__ - #define OP_AVX_AVX512_MUL_3(name, type_sign, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG | OMPI_OP_AVX_HAS_AVX512BW_FLAG) ) { \ - int types_per_step = (256 / 8) / sizeof(type); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m256i vecA_tmp = _mm256_loadu_si256((__m256i*)in1); \ -- __m256i vecB_tmp = _mm256_loadu_si256((__m256i*)in2); \ -+ __m256i vecA_tmp = _mm256_loadu_si256((__m256i*)in1); \ -+ __m256i vecB_tmp = _mm256_loadu_si256((__m256i*)in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m512i vecA = _mm512_cvtepi8_epi16(vecA_tmp); \ -@@ -685,6 +872,9 @@ static void OP_CONCAT(ompi_op_avx_3buff_##name##_##type,PREPEND)(const void * re - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512BW and AVX support needed for _mm256_loadu_si256, _mm256_storeu_si256 and _mm512_cvtepi8_epi16 -+#endif /* __AVX512BW__ && __AVX__ */ -+#else - #define OP_AVX_AVX512_MUL_3(name, type_sign, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - /** -@@ -723,12 +913,13 @@ static void OP_CONCAT(ompi_op_avx_3buff_##name##_##type,PREPEND)(const void * re - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_BIT_FUNC_3(name, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG) ) { \ - types_per_step = (512 / 8) / sizeof(type); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512i vecA = _mm512_loadu_si512(in1); \ -- __m512i vecB = _mm512_loadu_si512(in2); \ -+ __m512i vecA = _mm512_loadu_si512(in1); \ -+ __m512i vecB = _mm512_loadu_si512(in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m512i res = _mm512_##op##_si512(vecA, vecB); \ -@@ -738,10 +929,14 @@ static void OP_CONCAT(ompi_op_avx_3buff_##name##_##type,PREPEND)(const void * re - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512F support needed for _mm512_loadu_si512 and _mm512_storeu_si512 -+#endif /* __AVX512F__ */ -+#else - #define OP_AVX_AVX512_BIT_FUNC_3(name, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX2_BIT_FUNC_3(name, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX2_FLAG | OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - types_per_step = (256 / 8) / sizeof(type); \ -@@ -750,17 +945,21 @@ static void OP_CONCAT(ompi_op_avx_3buff_##name##_##type,PREPEND)(const void * re - __m256i vecB = _mm256_loadu_si256((__m256i*)in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ -- __m256i res = _mm256_##op##_si256(vecA, vecB); \ -+ __m256i res = _mm256_##op##_si256(vecA, vecB); \ - _mm256_storeu_si256((__m256i*)out, res); \ - out += types_per_step; \ - } \ - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_si256 and _mm256_storeu_si256 -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX2_BIT_FUNC_3(name, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_SSE3_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE3__ && __SSE2__ - #define OP_AVX_SSE3_BIT_FUNC_3(name, type_size, type, op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE3_FLAG) ) { \ - types_per_step = (128 / 8) / sizeof(type); \ -@@ -769,12 +968,15 @@ static void OP_CONCAT(ompi_op_avx_3buff_##name##_##type,PREPEND)(const void * re - __m128i vecB = _mm_lddqu_si128((__m128i*)in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ -- __m128i res = _mm_##op##_si128(vecA, vecB); \ -+ __m128i res = _mm_##op##_si128(vecA, vecB); \ - _mm_storeu_si128((__m128i*)out, res); \ - out += types_per_step; \ - } \ - } - #else -+#error Target architecture lacks SSE2 and SSE3 support needed for _mm_lddqu_si128 and _mm_storeu_si128 -+#endif /* __SSE3__ && __SSE2__ */ -+#else - #define OP_AVX_SSE3_BIT_FUNC_3(name, type_size, type, op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -809,12 +1011,13 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_##type,PREPEND)(const void *_in1, - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_FLOAT_FUNC_3(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG) ) { \ - types_per_step = (512 / 8) / sizeof(float); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512 vecA = _mm512_loadu_ps(in1); \ -- __m512 vecB = _mm512_loadu_ps(in2); \ -+ __m512 vecA = _mm512_loadu_ps(in1); \ -+ __m512 vecB = _mm512_loadu_ps(in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m512 res = _mm512_##op##_ps(vecA, vecB); \ -@@ -824,16 +1027,20 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_##type,PREPEND)(const void *_in1, - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX512F support needed for _mm512_loadu_ps and _mm512_storeu_ps -+#endif /* __AVX512F__ */ -+#else - #define OP_AVX_AVX512_FLOAT_FUNC_3(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX_FLOAT_FUNC_3(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - types_per_step = (256 / 8) / sizeof(float); \ - for( ; left_over >= types_per_step; left_over -= types_per_step ) { \ -- __m256 vecA = _mm256_loadu_ps(in1); \ -- __m256 vecB = _mm256_loadu_ps(in2); \ -+ __m256 vecA = _mm256_loadu_ps(in1); \ -+ __m256 vecB = _mm256_loadu_ps(in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m256 res = _mm256_##op##_ps(vecA, vecB); \ -@@ -843,10 +1050,14 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_##type,PREPEND)(const void *_in1, - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_ps and _mm256_storeu_ps -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX_FLOAT_FUNC_3(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_AVX_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE__ - #define OP_AVX_SSE_FLOAT_FUNC_3(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE_FLAG) ) { \ - types_per_step = (128 / 8) / sizeof(float); \ -@@ -861,6 +1072,9 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_##type,PREPEND)(const void *_in1, - } \ - } - #else -+#error Target architecture lacks SSE support needed for _mm_loadu_ps and _mm_storeu_ps -+#endif /* __SSE__ */ -+#else - #define OP_AVX_SSE_FLOAT_FUNC_3(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - -@@ -895,12 +1109,13 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_float,PREPEND)(const void *_in1, - } - - #if defined(GENERATE_AVX512_CODE) && defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) -+#if __AVX512F__ - #define OP_AVX_AVX512_DOUBLE_FUNC_3(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX512F_FLAG) ) { \ - types_per_step = (512 / 8) / sizeof(double); \ - for (; left_over >= types_per_step; left_over -= types_per_step) { \ -- __m512d vecA = _mm512_loadu_pd((in1)); \ -- __m512d vecB = _mm512_loadu_pd((in2)); \ -+ __m512d vecA = _mm512_loadu_pd((in1)); \ -+ __m512d vecB = _mm512_loadu_pd((in2)); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m512d res = _mm512_##op##_pd(vecA, vecB); \ -@@ -910,16 +1125,20 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_float,PREPEND)(const void *_in1, - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVXF512 support needed for _mm512_loadu_pd and _mm512_storeu_pd -+#endif /* __AVXF512__ */ -+#else - #define OP_AVX_AVX512_DOUBLE_FUNC_3(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX512) && (1 == OMPI_MCA_OP_HAVE_AVX512) */ - - #if defined(GENERATE_AVX2_CODE) && defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) -+#if __AVX__ - #define OP_AVX_AVX_DOUBLE_FUNC_3(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_AVX_FLAG) ) { \ - types_per_step = (256 / 8) / sizeof(double); \ - for( ; left_over >= types_per_step; left_over -= types_per_step ) { \ -- __m256d vecA = _mm256_loadu_pd(in1); \ -- __m256d vecB = _mm256_loadu_pd(in2); \ -+ __m256d vecA = _mm256_loadu_pd(in1); \ -+ __m256d vecB = _mm256_loadu_pd(in2); \ - in1 += types_per_step; \ - in2 += types_per_step; \ - __m256d res = _mm256_##op##_pd(vecA, vecB); \ -@@ -929,10 +1148,14 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_float,PREPEND)(const void *_in1, - if( 0 == left_over ) return; \ - } - #else -+#error Target architecture lacks AVX support needed for _mm256_loadu_pd and _mm256_storeu_pd -+#endif /* __AVX__ */ -+#else - #define OP_AVX_AVX_DOUBLE_FUNC_3(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX2) && (1 == OMPI_MCA_OP_HAVE_AVX2) */ - - #if defined(GENERATE_AVX_CODE) && defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) -+#if __SSE2__ - #define OP_AVX_SSE2_DOUBLE_FUNC_3(op) \ - if( OMPI_OP_AVX_HAS_FLAGS(OMPI_OP_AVX_HAS_SSE2_FLAG) ) { \ - types_per_step = (128 / 8) / sizeof(double); \ -@@ -947,6 +1170,9 @@ static void OP_CONCAT(ompi_op_avx_3buff_##op##_float,PREPEND)(const void *_in1, - } \ - } - #else -+#error Target architecture lacks SSE2 support needed for _mm_loadu_pd and _mm_storeu_pd -+#endif /* __SSE2__ */ -+#else - #define OP_AVX_SSE2_DOUBLE_FUNC_3(op) {} - #endif /* defined(OMPI_MCA_OP_HAVE_AVX) && (1 == OMPI_MCA_OP_HAVE_AVX) */ - - -From 20be3fc25713ac2de3eb4d77b85248d7fe2bc28b Mon Sep 17 00:00:00 2001 -From: George Bosilca -Date: Tue, 5 Jan 2021 22:40:26 -0500 -Subject: [PATCH 3/3] A better test for MPI_OP performance. - -The test now has the ability to add a shift to all or to any of the -input and output buffers to assess the impact of unaligned operations. - -Signed-off-by: George Bosilca ---- - test/datatype/reduce_local.c | 161 ++++++++++++++++++++++------------- - 1 file changed, 104 insertions(+), 57 deletions(-) - -diff --git a/test/datatype/reduce_local.c b/test/datatype/reduce_local.c -index 97890f94227..f227439b714 100644 ---- a/test/datatype/reduce_local.c -+++ b/test/datatype/reduce_local.c -@@ -59,7 +59,7 @@ static int total_errors = 0; - _a < _b ? _a : _b; }) - - static void print_status(char* op, char* type, int type_size, -- int count, double duration, -+ int count, int max_shift, double *duration, int repeats, - int correct ) - { - if(correct) { -@@ -68,7 +68,15 @@ static void print_status(char* op, char* type, int type_size, - printf("%-10s %s [\033[1;31mfail\033[0m]", op, type); - total_errors++; - } -- printf(" count %-10d time %.6f seconds\n", count, duration); -+ if( 1 == max_shift ) { -+ printf(" count %-10d time (seconds) %.8f seconds\n", count, duration[0] / repeats); -+ } else { -+ printf(" count %-10d time (seconds / shifts) ", count); -+ for( int i = 0; i < max_shift; i++ ) { -+ printf("%.8f ", duration[i] / repeats ); -+ } -+ printf("\n"); -+ } - } - - static int do_ops_built = 0; -@@ -115,19 +123,23 @@ do { \ - const TYPE *_p1 = ((TYPE*)(INBUF)), *_p3 = ((TYPE*)(CHECK_BUF)); \ - TYPE *_p2 = ((TYPE*)(INOUT_BUF)); \ - skip_op_type = 0; \ -- for(int _k = 0; _k < min((COUNT), 4); +_k++ ) { \ -- memcpy(_p2, _p3, sizeof(TYPE) * (COUNT)); \ -- tstart = MPI_Wtime(); \ -- MPI_Reduce_local(_p1+_k, _p2+_k, (COUNT)-_k, (MPITYPE), (MPIOP)); \ -- tend = MPI_Wtime(); \ -- if( check ) { \ -- for( i = 0; i < (COUNT)-_k; i++ ) { \ -- if(((_p2+_k)[i]) == (((_p1+_k)[i]) OPNAME ((_p3+_k)[i]))) \ -- continue; \ -- printf("First error at alignment %d position %d (%" TYPE_PREFIX " %s %" TYPE_PREFIX " != %" TYPE_PREFIX ")\n", \ -- _k, i, (_p1+_k)[i], (#OPNAME), (_p3+_k)[i], (_p2+_k)[i]); \ -- correctness = 0; \ -- break; \ -+ for(int _k = 0; _k < min((COUNT), max_shift); +_k++ ) { \ -+ duration[_k] = 0.0; \ -+ for(int _r = repeats; _r > 0; _r--) { \ -+ memcpy(_p2, _p3, sizeof(TYPE) * (COUNT)); \ -+ tstart = MPI_Wtime(); \ -+ MPI_Reduce_local(_p1+_k, _p2+_k, (COUNT)-_k, (MPITYPE), (MPIOP)); \ -+ tend = MPI_Wtime(); \ -+ duration[_k] += (tend - tstart); \ -+ if( check ) { \ -+ for( i = 0; i < (COUNT)-_k; i++ ) { \ -+ if(((_p2+_k)[i]) == (((_p1+_k)[i]) OPNAME ((_p3+_k)[i]))) \ -+ continue; \ -+ printf("First error at alignment %d position %d (%" TYPE_PREFIX " %s %" TYPE_PREFIX " != %" TYPE_PREFIX ")\n", \ -+ _k, i, (_p1+_k)[i], (#OPNAME), (_p3+_k)[i], (_p2+_k)[i]); \ -+ correctness = 0; \ -+ break; \ -+ } \ - } \ - } \ - } \ -@@ -139,20 +151,24 @@ do { \ - const TYPE *_p1 = ((TYPE*)(INBUF)), *_p3 = ((TYPE*)(CHECK_BUF)); \ - TYPE *_p2 = ((TYPE*)(INOUT_BUF)); \ - skip_op_type = 0; \ -- for(int _k = 0; _k < min((COUNT), 4); +_k++ ) { \ -- memcpy(_p2, _p3, sizeof(TYPE) * (COUNT)); \ -- tstart = MPI_Wtime(); \ -- MPI_Reduce_local(_p1+_k, _p2+_k, (COUNT), (MPITYPE), (MPIOP)); \ -- tend = MPI_Wtime(); \ -- if( check ) { \ -- for( i = 0; i < (COUNT); i++ ) { \ -- TYPE _v1 = *(_p1+_k), _v2 = *(_p2+_k), _v3 = *(_p3+_k); \ -- if(_v2 == OPNAME(_v1, _v3)) \ -- continue; \ -- printf("First error at alignment %d position %d (%" TYPE_PREFIX " != %s(%" TYPE_PREFIX ", %" TYPE_PREFIX ")\n", \ -- _k, i, _v1, (#OPNAME), _v3, _v2); \ -- correctness = 0; \ -- break; \ -+ for(int _k = 0; _k < min((COUNT), max_shift); +_k++ ) { \ -+ duration[_k] = 0.0; \ -+ for(int _r = repeats; _r > 0; _r--) { \ -+ memcpy(_p2, _p3, sizeof(TYPE) * (COUNT)); \ -+ tstart = MPI_Wtime(); \ -+ MPI_Reduce_local(_p1+_k, _p2+_k, (COUNT), (MPITYPE), (MPIOP)); \ -+ tend = MPI_Wtime(); \ -+ duration[_k] += (tend - tstart); \ -+ if( check ) { \ -+ for( i = 0; i < (COUNT); i++ ) { \ -+ TYPE _v1 = *(_p1+_k), _v2 = *(_p2+_k), _v3 = *(_p3+_k); \ -+ if(_v2 == OPNAME(_v1, _v3)) \ -+ continue; \ -+ printf("First error at alignment %d position %d (%" TYPE_PREFIX " != %s(%" TYPE_PREFIX ", %" TYPE_PREFIX ")\n", \ -+ _k, i, _v1, (#OPNAME), _v3, _v2); \ -+ correctness = 0; \ -+ break; \ -+ } \ - } \ - } \ - } \ -@@ -163,24 +179,36 @@ int main(int argc, char **argv) - { - static void *in_buf = NULL, *inout_buf = NULL, *inout_check_buf = NULL; - int count, type_size = 8, rank, size, provided, correctness = 1; -- int repeats = 1, i, c; -- double tstart, tend; -+ int repeats = 1, i, c, op1_alignment = 0, res_alignment = 0; -+ int max_shift = 4; -+ double *duration, tstart, tend; - bool check = true; - char type[5] = "uifd", *op = "sum", *mpi_type; - int lower = 1, upper = 1000000, skip_op_type; - MPI_Op mpi_op; - -- while( -1 != (c = getopt(argc, argv, "l:u:t:o:s:n:vfh")) ) { -+ while( -1 != (c = getopt(argc, argv, "l:u:r:t:o:i:s:n:1:2:vfh")) ) { - switch(c) { - case 'l': - lower = atoi(optarg); - if( lower <= 0 ) { -- fprintf(stderr, "The number of elements must be positive\n"); -+ fprintf(stderr, "The lower number of elements must be positive\n"); - exit(-1); - } - break; - case 'u': - upper = atoi(optarg); -+ if( lower <= 0 ) { -+ fprintf(stderr, "The upper number of elements must be positive\n"); -+ exit(-1); -+ } -+ break; -+ case 'i': -+ max_shift = atoi(optarg); -+ if( max_shift <= 0 ) { -+ fprintf(stderr, "The max shift must be positive\n"); -+ exit(-1); -+ } - break; - case 'f': - check = false; -@@ -216,14 +244,32 @@ int main(int argc, char **argv) - exit(-1); - } - break; -+ case '1': -+ op1_alignment = atoi(optarg); -+ if( op1_alignment < 0 ) { -+ fprintf(stderr, "alignment for the first operand must be positive\n"); -+ exit(-1); -+ } -+ break; -+ case '2': -+ res_alignment = atoi(optarg); -+ if( res_alignment < 0 ) { -+ fprintf(stderr, "alignment for the result must be positive\n"); -+ exit(-1); -+ } -+ break; - case 'h': - fprintf(stdout, "%s options are:\n" - " -l : lower number of elements\n" - " -u : upper number of elements\n" - " -s : 8, 16, 32 or 64 bits elements\n" - " -t [i,u,f,d] : type of the elements to apply the operations on\n" -+ " -r : number of repetitions for each test\n" - " -o : comma separated list of operations to execute among\n" - " sum, min, max, prod, bor, bxor, band\n" -+ " -i : shift on all buffers to check alignment\n" -+ " -1 : (mis)alignment in elements for the first op\n" -+ " -2 : (mis)alignment in elements for the result\n" - " -v: increase the verbosity level\n" - " -h: this help message\n", argv[0]); - exit(0); -@@ -233,9 +279,10 @@ int main(int argc, char **argv) - if( !do_ops_built ) { /* not yet done, take the default */ - build_do_ops( "all", do_ops); - } -- in_buf = malloc(upper * sizeof(double)); -- inout_buf = malloc(upper * sizeof(double)); -- inout_check_buf = malloc(upper * sizeof(double)); -+ posix_memalign( &in_buf, 64, (upper + op1_alignment) * sizeof(double)); -+ posix_memalign( &inout_buf, 64, (upper + res_alignment) * sizeof(double)); -+ posix_memalign( &inout_check_buf, 64, upper * sizeof(double)); -+ duration = (double*)malloc(max_shift * sizeof(double)); - - ompi_mpi_init(argc, argv, MPI_THREAD_SERIALIZED, &provided, false); - -@@ -253,8 +300,8 @@ int main(int argc, char **argv) - correctness = 1; - if('i' == type[type_idx]) { - if( 8 == type_size ) { -- int8_t *in_int8 = (int8_t*)in_buf, -- *inout_int8 = (int8_t*)inout_buf, -+ int8_t *in_int8 = (int8_t*)((char*)in_buf + op1_alignment * sizeof(int8_t)), -+ *inout_int8 = (int8_t*)((char*)inout_buf + res_alignment * sizeof(int8_t)), - *inout_int8_for_check = (int8_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_int8[i] = 5; -@@ -299,8 +346,8 @@ int main(int argc, char **argv) - } - } - if( 16 == type_size ) { -- int16_t *in_int16 = (int16_t*)in_buf, -- *inout_int16 = (int16_t*)inout_buf, -+ int16_t *in_int16 = (int16_t*)((char*)in_buf + op1_alignment * sizeof(int16_t)), -+ *inout_int16 = (int16_t*)((char*)inout_buf + res_alignment * sizeof(int16_t)), - *inout_int16_for_check = (int16_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_int16[i] = 5; -@@ -345,8 +392,8 @@ int main(int argc, char **argv) - } - } - if( 32 == type_size ) { -- int32_t *in_int32 = (int32_t*)in_buf, -- *inout_int32 = (int32_t*)inout_buf, -+ int32_t *in_int32 = (int32_t*)((char*)in_buf + op1_alignment * sizeof(int32_t)), -+ *inout_int32 = (int32_t*)((char*)inout_buf + res_alignment * sizeof(int32_t)), - *inout_int32_for_check = (int32_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_int32[i] = 5; -@@ -391,8 +438,8 @@ int main(int argc, char **argv) - } - } - if( 64 == type_size ) { -- int64_t *in_int64 = (int64_t*)in_buf, -- *inout_int64 = (int64_t*)inout_buf, -+ int64_t *in_int64 = (int64_t*)((char*)in_buf + op1_alignment * sizeof(int64_t)), -+ *inout_int64 = (int64_t*)((char*)inout_buf + res_alignment * sizeof(int64_t)), - *inout_int64_for_check = (int64_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_int64[i] = 5; -@@ -440,8 +487,8 @@ int main(int argc, char **argv) - - if( 'u' == type[type_idx] ) { - if( 8 == type_size ) { -- uint8_t *in_uint8 = (uint8_t*)in_buf, -- *inout_uint8 = (uint8_t*)inout_buf, -+ uint8_t *in_uint8 = (uint8_t*)((char*)in_buf + op1_alignment * sizeof(uint8_t)), -+ *inout_uint8 = (uint8_t*)((char*)inout_buf + res_alignment * sizeof(uint8_t)), - *inout_uint8_for_check = (uint8_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_uint8[i] = 5; -@@ -486,8 +533,8 @@ int main(int argc, char **argv) - } - } - if( 16 == type_size ) { -- uint16_t *in_uint16 = (uint16_t*)in_buf, -- *inout_uint16 = (uint16_t*)inout_buf, -+ uint16_t *in_uint16 = (uint16_t*)((char*)in_buf + op1_alignment * sizeof(uint16_t)), -+ *inout_uint16 = (uint16_t*)((char*)inout_buf + res_alignment * sizeof(uint16_t)), - *inout_uint16_for_check = (uint16_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_uint16[i] = 5; -@@ -532,8 +579,8 @@ int main(int argc, char **argv) - } - } - if( 32 == type_size ) { -- uint32_t *in_uint32 = (uint32_t*)in_buf, -- *inout_uint32 = (uint32_t*)inout_buf, -+ uint32_t *in_uint32 = (uint32_t*)((char*)in_buf + op1_alignment * sizeof(uint32_t)), -+ *inout_uint32 = (uint32_t*)((char*)inout_buf + res_alignment * sizeof(uint32_t)), - *inout_uint32_for_check = (uint32_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_uint32[i] = 5; -@@ -578,8 +625,8 @@ int main(int argc, char **argv) - } - } - if( 64 == type_size ) { -- uint64_t *in_uint64 = (uint64_t*)in_buf, -- *inout_uint64 = (uint64_t*)inout_buf, -+ uint64_t *in_uint64 = (uint64_t*)((char*)in_buf + op1_alignment * sizeof(uint64_t)), -+ *inout_uint64 = (uint64_t*)((char*)inout_buf + res_alignment * sizeof(uint64_t)), - *inout_uint64_for_check = (uint64_t*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_uint64[i] = 5; -@@ -626,8 +673,8 @@ int main(int argc, char **argv) - } - - if( 'f' == type[type_idx] ) { -- float *in_float = (float*)in_buf, -- *inout_float = (float*)inout_buf, -+ float *in_float = (float*)((char*)in_buf + op1_alignment * sizeof(float)), -+ *inout_float = (float*)((char*)inout_buf + res_alignment * sizeof(float)), - *inout_float_for_check = (float*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_float[i] = 1000.0+1; -@@ -658,8 +705,8 @@ int main(int argc, char **argv) - } - - if( 'd' == type[type_idx] ) { -- double *in_double = (double*)in_buf, -- *inout_double = (double*)inout_buf, -+ double *in_double = (double*)((char*)in_buf + op1_alignment * sizeof(double)), -+ *inout_double = (double*)((char*)inout_buf + res_alignment * sizeof(double)), - *inout_double_for_check = (double*)inout_check_buf; - for( i = 0; i < count; i++ ) { - in_double[i] = 10.0+1; -@@ -691,7 +738,7 @@ int main(int argc, char **argv) - check_and_continue: - if( !skip_op_type ) - print_status(array_of_ops[do_ops[op_idx]].mpi_op_name, -- mpi_type, type_size, count, tend-tstart, correctness); -+ mpi_type, type_size, count, max_shift, duration, repeats, correctness); - } - if( !skip_op_type ) - printf("\n"); diff --git a/8348.patch b/8348.patch deleted file mode 100644 index 89d5fd7..0000000 --- a/8348.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 838568da9fce85b4555b0e0cbd899c8e8ef75696 Mon Sep 17 00:00:00 2001 -From: George Bosilca -Date: Wed, 6 Jan 2021 13:30:40 -0500 -Subject: [PATCH] A started generalized request should be marked as pending. - -Fixes #8340 - -Signed-off-by: George Bosilca -(cherry picked from commit 434a2515f8aab11f505b2fca0b3d8cc41e24cef2) ---- - ompi/request/grequest.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/ompi/request/grequest.c b/ompi/request/grequest.c -index c895b4232b6..02affd642aa 100644 ---- a/ompi/request/grequest.c -+++ b/ompi/request/grequest.c -@@ -163,6 +163,7 @@ int ompi_grequest_start( - greq->greq_free.c_free = gfree_fn; - greq->greq_cancel.c_cancel = gcancel_fn; - greq->greq_base.req_status = ompi_status_empty; -+ greq->greq_base.req_complete = REQUEST_PENDING; - - *request = &greq->greq_base; - return OMPI_SUCCESS; diff --git a/openmpi.spec b/openmpi.spec index 52b5fcc..a65a6d9 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -26,28 +26,22 @@ %endif # Run autogen - needed for some patches -# For Patch0 -%bcond_without autogen +%bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 4.1.0 -Release: 5%{?dist} +Version: 4.1.1 +Release: 0.1.rc1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ # We can't use %%{name} here because of _cc_name_suffix -Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2 +Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}rc1.tar.bz2 Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi -# Fix AVX library linkage -Patch0: https://patch-diff.githubusercontent.com/raw/open-mpi/ompi/pull/8322.patch -# Fix generalized requests (mpi4py test failure) -Patch1: https://patch-diff.githubusercontent.com/raw/open-mpi/ompi/pull/8348.patch - BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: make @@ -174,7 +168,7 @@ OpenMPI support for Python 3. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-%{version}rc1 %if %{with autogen} ./autogen.pl --force %endif @@ -363,6 +357,9 @@ make check %changelog +* Thu Feb 11 2021 Orion Poplawski - 4.1.1-0.1.rc1 +- Update to 4.1.1rc1 + * Thu Jan 28 2021 Orion Poplawski - 4.1.0-5 - Add upstream patch for generalized requests diff --git a/sources b/sources index ebb82c2..e21d4f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.0.tar.bz2) = eaf086ab4929ce5a9a3e867c8315bf802ff4dc75d3f05d740e22dfd97803a4559212dacbe06920d42ac6644f46057eb6980cccf5a8b0a7df9c5bdf5bffc0b3a6 +SHA512 (openmpi-4.1.1rc1.tar.bz2) = 642ac706cd2d4fc34fdd5002b84fd1680e57a01edc78bcc1f0ab65b8da36af19952ae6b09c759562d5f97bafd0d931064b2d1e0926248793c8cddf2a5c38c3a3 From c7b3ead5b72ae8f94336b8b769f67772372e9e6d Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 5 Apr 2021 07:53:48 -0600 Subject: [PATCH 02/73] Update to 4.1.1rc2 --- .gitignore | 1 + openmpi.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 42e33b3..2c89dde 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.0.5.tar.bz2 /openmpi-4.1.0.tar.bz2 /openmpi-4.1.1rc1.tar.bz2 +/openmpi-4.1.1rc2.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index a65a6d9..a674e43 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,13 +30,13 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.1 -Release: 0.1.rc1%{?dist} +Release: 0.2.rc2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ # We can't use %%{name} here because of _cc_name_suffix -Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}rc1.tar.bz2 +Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}rc2.tar.bz2 Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 @@ -168,7 +168,7 @@ OpenMPI support for Python 3. %prep -%autosetup -p1 -n %{name}-%{version}rc1 +%autosetup -p1 -n %{name}-%{version}rc2 %if %{with autogen} ./autogen.pl --force %endif @@ -357,6 +357,9 @@ make check %changelog +* Mon Apr 05 2021 Orion Poplawski - 4.1.1-0.2.rc2 +- Update to 4.1.1rc2 + * Thu Feb 11 2021 Orion Poplawski - 4.1.1-0.1.rc1 - Update to 4.1.1rc1 diff --git a/sources b/sources index e21d4f2..bfa6e41 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.1rc1.tar.bz2) = 642ac706cd2d4fc34fdd5002b84fd1680e57a01edc78bcc1f0ab65b8da36af19952ae6b09c759562d5f97bafd0d931064b2d1e0926248793c8cddf2a5c38c3a3 +SHA512 (openmpi-4.1.1rc2.tar.bz2) = 83aeaf027cc83a3b8800d328d547e75a830b36a02ba565b4d2aa3f4b9082930d7a48608e6e94f80eca0ba0f51356ba0d400ebdb4f3e7cd7e5daa70982c6d1064 From 227b60ec52c1a5b9ef60589e79ec381a0f56c56a Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 26 Apr 2021 20:25:09 -0600 Subject: [PATCH 03/73] Update to 4.1.1 --- .gitignore | 1 + openmpi.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2c89dde..5011dd6 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.0.tar.bz2 /openmpi-4.1.1rc1.tar.bz2 /openmpi-4.1.1rc2.tar.bz2 +/openmpi-4.1.1.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index a674e43..b7534ef 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,13 +30,13 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.1 -Release: 0.2.rc2%{?dist} +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ # We can't use %%{name} here because of _cc_name_suffix -Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}rc2.tar.bz2 +Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2 Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 @@ -168,7 +168,7 @@ OpenMPI support for Python 3. %prep -%autosetup -p1 -n %{name}-%{version}rc2 +%autosetup -p1 -n %{name}-%{version} %if %{with autogen} ./autogen.pl --force %endif @@ -357,6 +357,9 @@ make check %changelog +* Tue Apr 27 2021 Orion Poplawski - 4.1.1-1 +- Update to 4.1.1 + * Mon Apr 05 2021 Orion Poplawski - 4.1.1-0.2.rc2 - Update to 4.1.1rc2 diff --git a/sources b/sources index bfa6e41..cc0a735 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.1rc2.tar.bz2) = 83aeaf027cc83a3b8800d328d547e75a830b36a02ba565b4d2aa3f4b9082930d7a48608e6e94f80eca0ba0f51356ba0d400ebdb4f3e7cd7e5daa70982c6d1064 +SHA512 (openmpi-4.1.1.tar.bz2) = 0d85ba45a40c0879f266e5286615e2cf94eb3570f0a705194525821d5c85d460cefc3a2da8207e6e84c479d3d0da656e2342cc2d6f88c4b4577ca22bbeacc89d From 4366f0045990db52a972eb5d6fa5da6c983ceb17 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 10:43:08 +0200 Subject: [PATCH 04/73] Rebuilt for Python 3.10 --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index b7534ef..8c1bb87 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,7 +30,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -357,6 +357,9 @@ make check %changelog +* Fri Jun 04 2021 Python Maint - 4.1.1-2 +- Rebuilt for Python 3.10 + * Tue Apr 27 2021 Orion Poplawski - 4.1.1-1 - Update to 4.1.1 From c9da4b0fca61c3753e5bb8e54c245bf27dbcef9f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 22 Jun 2021 08:10:42 -0600 Subject: [PATCH 05/73] Only need environment-modules for EL7 --- openmpi.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 8c1bb87..12b81bb 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -90,7 +90,7 @@ BuildRequires: rpm-mpi-hooks %endif Provides: mpi -%if 0%{?rhel} +%if 0%{?rhel} == 7 # Need this for /etc/profile.d/modules.sh Requires: environment-modules %endif From 17c0ab5595448ba03b6af68efa8a8b78abea4cfb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 17:16:42 +0000 Subject: [PATCH 06/73] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 12b81bb..7d23972 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,7 +30,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -357,6 +357,9 @@ make check %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 4.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jun 04 2021 Python Maint - 4.1.1-2 - Rebuilt for Python 3.10 From b8a28d859b6b5df6373e17b9165c1aa094053f23 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Fri, 3 Sep 2021 16:20:46 +0200 Subject: [PATCH 07/73] Also own %{_libdir}/%{name}/lib/cmake/ --- openmpi.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 7d23972..3495a87 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,7 +30,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -322,6 +322,7 @@ make check %{_fmoddir}/%{name}/ %{_libdir}/%{name}/lib/*.so %{_libdir}/%{name}/lib/*.mod +%{_libdir}/%{name}/lib/cmake/ %{_libdir}/%{name}/lib/pkgconfig/ %{_libdir}/pkgconfig/*.pc %{_mandir}/%{namearch}/man1/mpi[cCf]* @@ -357,6 +358,9 @@ make check %changelog +* Fri Sep 03 2021 Sandro Mani - 4.1.1-4 +- Also own %%{_libdir}/%%{name}/lib/cmake/ + * Thu Jul 22 2021 Fedora Release Engineering - 4.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 352773be194d7e11bf134151008879d413635d44 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Tue, 14 Sep 2021 07:37:05 +0200 Subject: [PATCH 08/73] Create cmake dir --- openmpi.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openmpi.spec b/openmpi.spec index 3495a87..0defa64 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -241,6 +241,9 @@ cd %{buildroot}%{_libdir}/pkgconfig ln -s ../%{name}/lib/pkgconfig/*.pc . cd - +# Create cmake dir +mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/ + # Remove extraneous wrapper link libraries (bug 814798) sed -i -e s/-ldl// -e s/-lhwloc// \ %{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt From c387385b452a1f282e6895824d2b725559e8a3c5 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 10 Oct 2021 19:10:20 -0600 Subject: [PATCH 09/73] Update to 4.1.2rc1 --- openmpi.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index 0defa64..a792910 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -29,14 +29,14 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 4.1.1 -Release: 4%{?dist} +Version: 4.1.2 +Release: 0.1.rc1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ # We can't use %%{name} here because of _cc_name_suffix -Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2 +Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}rc1.tar.bz2 Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 @@ -168,7 +168,7 @@ OpenMPI support for Python 3. %prep -%autosetup -p1 -n %{name}-%{version} +%autosetup -p1 -n %{name}-%{version}rc1 %if %{with autogen} ./autogen.pl --force %endif @@ -361,6 +361,9 @@ make check %changelog +* Sun Oct 10 2021 Orion Poplawski - 4.1.2-0.1.rc1 +- Update to 4.1.2rc1 + * Fri Sep 03 2021 Sandro Mani - 4.1.1-4 - Also own %%{_libdir}/%%{name}/lib/cmake/ From 63c964d66791a1214f31296f8f19e1bdec3b03f6 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 11 Oct 2021 17:46:42 -0600 Subject: [PATCH 10/73] Upload source --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5011dd6..24a26c2 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.1rc1.tar.bz2 /openmpi-4.1.1rc2.tar.bz2 /openmpi-4.1.1.tar.bz2 +/openmpi-4.1.2rc1.tar.bz2 diff --git a/sources b/sources index cc0a735..737c519 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.1.tar.bz2) = 0d85ba45a40c0879f266e5286615e2cf94eb3570f0a705194525821d5c85d460cefc3a2da8207e6e84c479d3d0da656e2342cc2d6f88c4b4577ca22bbeacc89d +SHA512 (openmpi-4.1.2rc1.tar.bz2) = a51e281292a6adba8cc07b6b4d66e0bc6d8fdc34c2e3d2a2a93ab5de8d90f5e04136e91a146d0427d8fd0c0e09cee0817ecd64e1120ed3362d01650ad70c2d42 From c446ed0db6370b3caa1d26e24f65c042c8430e69 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 29 Nov 2021 19:49:11 -0700 Subject: [PATCH 11/73] Update to 4.1.2 --- .gitignore | 1 + openmpi.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 24a26c2..10fe145 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.1rc2.tar.bz2 /openmpi-4.1.1.tar.bz2 /openmpi-4.1.2rc1.tar.bz2 +/openmpi-4.1.2.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index a792910..8255ea3 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,13 +30,13 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.2 -Release: 0.1.rc1%{?dist} +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ # We can't use %%{name} here because of _cc_name_suffix -Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}rc1.tar.bz2 +Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2 Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 @@ -168,7 +168,7 @@ OpenMPI support for Python 3. %prep -%autosetup -p1 -n %{name}-%{version}rc1 +%autosetup -p1 -n %{name}-%{version} %if %{with autogen} ./autogen.pl --force %endif @@ -361,6 +361,9 @@ make check %changelog +* Mon Nov 29 2021 Orion Poplawski - 4.1.2-1 +- Update to 4.1.2 + * Sun Oct 10 2021 Orion Poplawski - 4.1.2-0.1.rc1 - Update to 4.1.2rc1 diff --git a/sources b/sources index 737c519..62a73db 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.2rc1.tar.bz2) = a51e281292a6adba8cc07b6b4d66e0bc6d8fdc34c2e3d2a2a93ab5de8d90f5e04136e91a146d0427d8fd0c0e09cee0817ecd64e1120ed3362d01650ad70c2d42 +SHA512 (openmpi-4.1.2.tar.bz2) = 1958f96434cddbe525b4511fcf8d0cf8bf1ff376e024466219bd3a2092900e318f45a4b1e1a8ef6b03e350f46a71777fc7db82a7df711f12bb9758150d209aad From 3e53b4ed04f319fc27c8f6c71cfbc26616068a96 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 22:25:05 +0000 Subject: [PATCH 12/73] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 8255ea3..720cef3 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,7 +30,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -361,6 +361,9 @@ make check %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 4.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Mon Nov 29 2021 Orion Poplawski - 4.1.2-1 - Update to 4.1.2 From ec99e913a1d3e9729990c0bd78850fe2224e31de Mon Sep 17 00:00:00 2001 From: Jiri Date: Sat, 5 Feb 2022 23:15:56 +0100 Subject: [PATCH 13/73] Rebuilt for java-17-openjdk as system jdk https://fedoraproject.org/wiki/Changes/Java17 --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 720cef3..d3f23ef 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,7 +30,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -361,6 +361,9 @@ make check %changelog +* Sat Feb 05 2022 Jiri Vanek - 4.1.2-3 +- Rebuilt for java-17-openjdk as system jdk + * Thu Jan 20 2022 Fedora Release Engineering - 4.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From d91b5d2dbcb02e3190a5ff9798c288df2b163a42 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 16 Apr 2022 17:36:19 -0600 Subject: [PATCH 14/73] Update to 4.1.3 --- .gitignore | 1 + openmpi.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 10fe145..28dfbc5 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.1.tar.bz2 /openmpi-4.1.2rc1.tar.bz2 /openmpi-4.1.2.tar.bz2 +/openmpi-4.1.3.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index d3f23ef..1af0815 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -29,8 +29,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 4.1.2 -Release: 3%{?dist} +Version: 4.1.3 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -361,6 +361,9 @@ make check %changelog +* Sat Apr 16 2022 Orion Poplawski - 4.1.3-1 +- Update to 4.1.3 + * Sat Feb 05 2022 Jiri Vanek - 4.1.2-3 - Rebuilt for java-17-openjdk as system jdk diff --git a/sources b/sources index 62a73db..a353db9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.2.tar.bz2) = 1958f96434cddbe525b4511fcf8d0cf8bf1ff376e024466219bd3a2092900e318f45a4b1e1a8ef6b03e350f46a71777fc7db82a7df711f12bb9758150d209aad +SHA512 (openmpi-4.1.3.tar.bz2) = fed3756f91c10be7a88649805262c1ed20cae6a2e7a6f0e4e5d27e7de32633d80f32c546000e1c802a4e0f9c4335fb4d1a71ad4ee3e60b7d635515b47f9257ea From 43098f897c8ceb2e4d9a0e0fbb52a3378e002111 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 29 May 2022 16:54:09 -0600 Subject: [PATCH 15/73] Update to 4.1.4 --- .gitignore | 1 + openmpi.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 28dfbc5..088dd84 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.2rc1.tar.bz2 /openmpi-4.1.2.tar.bz2 /openmpi-4.1.3.tar.bz2 +/openmpi-4.1.4.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index 1af0815..0299464 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -29,7 +29,7 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 4.1.3 +Version: 4.1.4 Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio @@ -361,6 +361,9 @@ make check %changelog +* Sun May 29 2022 Orion Poplawski - 4.1.4-1 +- Update to 4.1.4 + * Sat Apr 16 2022 Orion Poplawski - 4.1.3-1 - Update to 4.1.3 diff --git a/sources b/sources index a353db9..4df47e3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.3.tar.bz2) = fed3756f91c10be7a88649805262c1ed20cae6a2e7a6f0e4e5d27e7de32633d80f32c546000e1c802a4e0f9c4335fb4d1a71ad4ee3e60b7d635515b47f9257ea +SHA512 (openmpi-4.1.4.tar.bz2) = c70a92c9b16b8c76a871183f9b180d60861186e64140da897d206d53bc06213f31ea93b31734645f580f4bf28dda5605d85dbce2417e4596955384d961bed653 From d2fb0dab2714c489591110c0ee67fc5b1e7f629b Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 14:51:56 +0200 Subject: [PATCH 16/73] Rebuilt for Python 3.11 --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 0299464..cd12398 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -30,7 +30,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -361,6 +361,9 @@ make check %changelog +* Mon Jun 13 2022 Python Maint - 4.1.4-2 +- Rebuilt for Python 3.11 + * Sun May 29 2022 Orion Poplawski - 4.1.4-1 - Update to 4.1.4 From f1dc2cf7aa307a9900e9941eb2bea6dffa7c0f9c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 9 Jul 2022 22:30:09 -0600 Subject: [PATCH 17/73] Drop java for i686 (bz#2104085) --- openmpi.spec | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index cd12398..ed9e4bd 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -25,12 +25,19 @@ %bcond_without rdma %endif +# No more Java on i686 +%ifarch %{java_arches} +%bcond_without java +%else +%bcond_with java +%endif + # Run autogen - needed for some patches %bcond_with autogen Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -62,7 +69,12 @@ BuildRequires: rdma-core-devel BuildRequires: hwloc-devel # So configure can find lstopo BuildRequires: hwloc-gui +%if %{with java} BuildRequires: java-devel +%else +Obsoletes: %{name}-java < %{version}-%{release} +Obsoletes: %{name}-java-devel < %{version}-%{release} +%endif # Old libevent causes issues %if !0%{?el7} BuildRequires: libevent-devel @@ -127,6 +139,7 @@ Requires: (python(abi) = %{python3_version} if python3) %description devel Contains development headers and libraries for openmpi. +%if %{with java} %package java Summary: Java library Requires: %{name} = %{version}-%{release} @@ -142,6 +155,7 @@ Requires: java-devel %description java-devel Contains development wrapper for compiling Java with openmpi. +%endif # We set this to for convenience, since this is the unique dir we use for this # particular package, version, compiler @@ -183,7 +197,9 @@ OpenMPI support for Python 3. --disable-silent-rules \ --enable-builtin-atomics \ --enable-mpi-cxx \ +%if %{with java} --enable-mpi-java \ +%endif --enable-mpi1-compatibility \ --with-sge \ --with-valgrind \ @@ -339,6 +355,7 @@ make check %{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt %{macrosdir}/macros.%{namearch} +%if %{with java} %files java %{_libdir}/%{name}/lib/mpi.jar @@ -348,6 +365,7 @@ make check # Currently this only contaings openmpi/javadoc %{_libdir}/%{name}/share/doc/ %{_mandir}/%{namearch}/man1/mpijavac.1.gz +%endif %if %{with python2} %files -n python2-openmpi @@ -361,6 +379,9 @@ make check %changelog +* Sun Jul 10 2022 Orion Poplawski - 4.1.4-3 +- Drop java for i686 (bz#2104085) + * Mon Jun 13 2022 Python Maint - 4.1.4-2 - Rebuilt for Python 3.11 From 63ea11607fed02586a415e60ef6c9f299e219e0a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 02:09:38 +0000 Subject: [PATCH 18/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index ed9e4bd..6702229 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -37,7 +37,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -379,6 +379,9 @@ make check %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 4.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sun Jul 10 2022 Orion Poplawski - 4.1.4-3 - Drop java for i686 (bz#2104085) From 8f566791db8e9aaa6ed13fa75b84d8b1a12b0ec5 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Fri, 19 Aug 2022 11:53:46 -0400 Subject: [PATCH 19/73] Enable IPv6 support --- openmpi.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 6702229..b3cdaee 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -37,7 +37,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -205,6 +205,7 @@ OpenMPI support for Python 3. --with-valgrind \ --enable-memchecker \ --with-hwloc=/usr \ + --enable-ipv6 \ %if !0%{?el7} --with-libevent=external \ --with-pmix=external \ @@ -379,6 +380,9 @@ make check %changelog +* Fri Aug 19 2022 Davide Cavalca - 4.1.4-5 +- Enable IPv6 support (bz#2119845) + * Fri Jul 22 2022 Fedora Release Engineering - 4.1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From ef93e442125000c8a25b6c062ef3b6bf2bef2347 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 10 Nov 2022 21:25:01 -0700 Subject: [PATCH 20/73] Disable IPv6 support - appears to break MPI_Init() on koji builders (bz#2141137) --- openmpi.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index b3cdaee..834f57a 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -37,7 +37,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -205,7 +205,6 @@ OpenMPI support for Python 3. --with-valgrind \ --enable-memchecker \ --with-hwloc=/usr \ - --enable-ipv6 \ %if !0%{?el7} --with-libevent=external \ --with-pmix=external \ @@ -380,6 +379,9 @@ make check %changelog +* Fri Nov 11 2022 Orion Poplawski - 4.1.4-6 +- Disable IPv6 support - appears to break MPI_Init() on koji builders (bz#2141137) + * Fri Aug 19 2022 Davide Cavalca - 4.1.4-5 - Enable IPv6 support (bz#2119845) From 454259f6ea91cb3b40e88dee3901ccae99de0482 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 11 Nov 2022 08:12:09 -0700 Subject: [PATCH 21/73] Re-enable IPv6 support - was not the issue --- openmpi.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 834f57a..a32e12b 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -37,7 +37,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -197,6 +197,7 @@ OpenMPI support for Python 3. --disable-silent-rules \ --enable-builtin-atomics \ --enable-mpi-cxx \ + --enable-ipv6 \ %if %{with java} --enable-mpi-java \ %endif @@ -379,6 +380,9 @@ make check %changelog +* Fri Nov 11 2022 Orion Poplawski - 4.1.4-7 +- Re-enable IPv6 support - was not the issue + * Fri Nov 11 2022 Orion Poplawski - 4.1.4-6 - Disable IPv6 support - appears to break MPI_Init() on koji builders (bz#2141137) From cb9de3f18843341ff2920784e3278a7f56d8a1b3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 22:53:03 +0000 Subject: [PATCH 22/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index a32e12b..c69be5e 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -37,7 +37,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.4 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -380,6 +380,9 @@ make check %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 4.1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Nov 11 2022 Orion Poplawski - 4.1.4-7 - Re-enable IPv6 support - was not the issue From 64f1b4b59116c11b7e5792f223e7de75b267862a Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 26 Feb 2023 08:06:05 -0700 Subject: [PATCH 23/73] Update to 4.1.5 --- .gitignore | 1 + openmpi.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 088dd84..3e2bdcc 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.2.tar.bz2 /openmpi-4.1.3.tar.bz2 /openmpi-4.1.4.tar.bz2 +/openmpi-4.1.5.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index c69be5e..a6848b0 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -36,8 +36,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 4.1.4 -Release: 8%{?dist} +Version: 4.1.5 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -380,6 +380,9 @@ make check %changelog +* Sun Feb 26 2023 Orion Poplawski - 4.1.5-1 +- Update to 4.1.5 + * Thu Jan 19 2023 Fedora Release Engineering - 4.1.4-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 4df47e3..633d7e8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.4.tar.bz2) = c70a92c9b16b8c76a871183f9b180d60861186e64140da897d206d53bc06213f31ea93b31734645f580f4bf28dda5605d85dbce2417e4596955384d961bed653 +SHA512 (openmpi-4.1.5.tar.bz2) = 7a2188684ed7542fe42e1717ae72cb859b4f3d6f722c9d3ba04bfed6c2178b3e7da3a536629d312c23571fed4d9b2ca5e20e85898ae5144e9332bd898e6e1cc6 From e1e224c97f4a35113b395dc7c678d3f6a8550a07 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 20:23:33 +0200 Subject: [PATCH 24/73] Rebuilt for Python 3.12 --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index a6848b0..2ba8b9e 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -37,7 +37,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -380,6 +380,9 @@ make check %changelog +* Tue Jun 13 2023 Python Maint - 4.1.5-2 +- Rebuilt for Python 3.12 + * Sun Feb 26 2023 Orion Poplawski - 4.1.5-1 - Update to 4.1.5 From 87fa84a1a1df64b725bc55ef617a07c922fbc799 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 22 Jun 2023 03:51:37 -0400 Subject: [PATCH 25/73] Disable PSM, OrangeFS in RHEL builds This is based on c9s: https://gitlab.com/redhat/centos-stream/rpms/openmpi/-/commit/4bc1e69400a2cbc295de7934c4621abab1fb7645 https://gitlab.com/redhat/centos-stream/rpms/openmpi/-/commit/5dda5cc9dfc60f051dbabf9a9d1c28f26c1695d7 --- openmpi.spec | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index 2ba8b9e..c574f67 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -32,12 +32,30 @@ %bcond_with java %endif +%if %{defined rhel} +%bcond_with orangefs +%else +%bcond_without orangefs +%endif + +%ifarch x86_64 +%if %{defined rhel} +%bcond_with psm +%else +%bcond_without psm +%endif +%bcond_without psm2 +%else +%bcond_with psm +%bcond_with psm2 +%endif + # Run autogen - needed for some patches %bcond_with autogen Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -83,14 +101,18 @@ BuildRequires: libfabric-devel %ifnarch s390 s390x BuildRequires: papi-devel %endif +%if %{with orangefs} BuildRequires: orangefs-devel +%endif BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(Getopt::Long) BuildRequires: pmix-devel BuildRequires: python%{python3_pkgversion}-devel -%ifarch x86_64 +%if %{with psm} BuildRequires: infinipath-psm-devel +%endif +%if %{with psm2} BuildRequires: libpsm2-devel %endif %if %{with ucx} @@ -380,6 +402,9 @@ make check %changelog +* Thu Jun 22 2023 Yaakov Selkowitz - 4.1.5-3 +- Disable PSM, OrangeFS in RHEL builds + * Tue Jun 13 2023 Python Maint - 4.1.5-2 - Rebuilt for Python 3.12 From 0d7cd0891afac32a1b655a9f0d6e3f0322a2ecee Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sun, 9 Jul 2023 23:54:43 -0400 Subject: [PATCH 26/73] Disable PSM2 in ELN builds libpsm2 is listed as unwanted in ELN and RHEL 10+. Also, clarify the PSM conditional as disabled in RHEL 8+. --- openmpi.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index c574f67..e710ad8 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -39,12 +39,16 @@ %endif %ifarch x86_64 -%if %{defined rhel} +%if 0%{?rhel} >= 8 %bcond_with psm %else %bcond_without psm %endif +%if 0%{?rhel} >= 10 +%bcond_with psm2 +%else %bcond_without psm2 +%endif %else %bcond_with psm %bcond_with psm2 @@ -55,7 +59,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -402,6 +406,9 @@ make check %changelog +* Mon Jul 10 2023 Yaakov Selkowitz - 4.1.5-4 +- Disable PSM2 in RHEL 10 builds + * Thu Jun 22 2023 Yaakov Selkowitz - 4.1.5-3 - Disable PSM, OrangeFS in RHEL builds From 6b9dcb4d557f3d43e5beae946a365b3d6feb3efb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 18:07:06 +0000 Subject: [PATCH 27/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index e710ad8..271d3e1 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -59,7 +59,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -406,6 +406,9 @@ make check %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 4.1.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Mon Jul 10 2023 Yaakov Selkowitz - 4.1.5-4 - Disable PSM2 in RHEL 10 builds From 01a28a780322673230784a90f2210e9a3d2d13e3 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 22 Sep 2023 21:01:31 -0600 Subject: [PATCH 28/73] Rebuild for pmix 4.1.3 (bz#2240042) --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 271d3e1..99ae804 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -59,7 +59,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -406,6 +406,9 @@ make check %changelog +* Fri Sep 22 2023 Orion Poplawski - 4.1.5-6 +- Rebuild for pmix 4.1.3 (bz#2240042) + * Thu Jul 20 2023 Fedora Release Engineering - 4.1.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From b2d5f3c2801dbbc83614132030080be7c11e4a34 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Fri, 29 Sep 2023 06:50:57 +0000 Subject: [PATCH 29/73] OpenMPI should own cmake and include install directories Make sure that packages which install cmake and include files in OpenMPI locations do not need to own the main directories for OpenMPI. See https://download.copr.fedorainfracloud.org/results/fed500/gloo/fedora-rawhide-x86_64/06467673-gloo/fedora-review/review.txt --- openmpi.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openmpi.spec b/openmpi.spec index 99ae804..0e1b631 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -309,6 +309,8 @@ make check %dir %{_libdir}/%{name}/bin %dir %{_libdir}/%{name}/lib %dir %{_libdir}/%{name}/lib/openmpi +%dir %{_libdir}/%{name}/lib/openmpi/cmake +%dir %{_libdir}/%{name}/include %dir %{_mandir}/%{namearch} %dir %{_mandir}/%{namearch}/man* %config(noreplace) %{_sysconfdir}/%{namearch}/* From 60a30103206687acc25c19a8b4aa48f9203146fa Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 30 Sep 2023 04:04:50 +0000 Subject: [PATCH 30/73] Create included and cmake directories for OpenMPI package files --- openmpi.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 0e1b631..bb2b3fc 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -59,7 +59,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -287,6 +287,10 @@ cd - # Create cmake dir mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/ +# Create directories for OpenMPI packages with development files +mkdir -p %{buildroot}%{_libdir}/%{name}/lib/openmpi/cmake +mkdir -p %{buildroot}%{_libdir}/%{name}/include + # Remove extraneous wrapper link libraries (bug 814798) sed -i -e s/-ldl// -e s/-lhwloc// \ %{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt @@ -408,6 +412,9 @@ make check %changelog +* Sat Sep 30 2023 Benson Muite - 4.1.5-7 +- Add include and cmake directories for development files for OpenMPI packages + * Fri Sep 22 2023 Orion Poplawski - 4.1.5-6 - Rebuild for pmix 4.1.3 (bz#2240042) From 37cfaa82868ed3bd0ab9c782ac83e3595cecc4e8 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Thu, 12 Oct 2023 09:41:31 +0200 Subject: [PATCH 31/73] Added CMAKE_PREFIX_PATH to the module file Signed-off-by: Cristian Le --- openmpi.module.in | 1 + openmpi.spec | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/openmpi.module.in b/openmpi.module.in index 41583c4..cdd31b9 100644 --- a/openmpi.module.in +++ b/openmpi.module.in @@ -6,6 +6,7 @@ conflict mpi prepend-path PATH @LIBDIR@/bin prepend-path LD_LIBRARY_PATH @LIBDIR@/lib prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig +prepend-path CMAKE_PREFIX_PATH @LIBDIR@ prepend-path MANPATH :@MANDIR@ setenv MPI_BIN @LIBDIR@/bin setenv MPI_SYSCONFIG @ETCDIR@ diff --git a/openmpi.spec b/openmpi.spec index bb2b3fc..fcece89 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -59,7 +59,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 4.1.5 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -412,6 +412,9 @@ make check %changelog +* Thu Oct 12 2023 Cristian Le - 4.1.5-8 +- Added CMAKE_PREFIX_PATH to module file + * Sat Sep 30 2023 Benson Muite - 4.1.5-7 - Add include and cmake directories for development files for OpenMPI packages From b82bf993d00357a59002dba9ccb81b2d21466c6d Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 30 Sep 2021 21:32:43 -0600 Subject: [PATCH 32/73] Update to 5.0.0 Drops 32-bit i686 support Drops c++ bindings Add doc sub-package --- .gitignore | 1 + macros.openmpi | 2 +- openmpi.spec | 101 +++++++++++++++++++++++++++++++++---------------- sources | 2 +- 4 files changed, 72 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index 3e2bdcc..cfdad56 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.3.tar.bz2 /openmpi-4.1.4.tar.bz2 /openmpi-4.1.5.tar.bz2 +/openmpi-5.0.0.tar.bz2 diff --git a/macros.openmpi b/macros.openmpi index 1ee6a3c..b4f7fa5 100644 --- a/macros.openmpi +++ b/macros.openmpi @@ -1,7 +1,7 @@ %_openmpi_load \ . /etc/profile.d/modules.sh; \ module load mpi/openmpi-%{_arch}; \ - export OMPI_MCA_rmaps_base_oversubscribe=1 + export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe %_openmpi_unload \ . /etc/profile.d/modules.sh; \ module unload mpi/openmpi-%{_arch}; diff --git a/openmpi.spec b/openmpi.spec index fcece89..113d171 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -54,18 +54,22 @@ %bcond_with psm2 %endif +# Some RCs require unreleased pmix version - at least let us test builds +%bcond_without pmix + # Run autogen - needed for some patches %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 4.1.5 -Release: 8%{?dist} +Version: 5.0.0 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ +ExcludeArch: %{ix86} # We can't use %%{name} here because of _cc_name_suffix -Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2 +Source0: https://www.open-mpi.org/software/ompi/v5.0/downloads/openmpi-%{version}.tar.bz2 Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 @@ -102,7 +106,7 @@ Obsoletes: %{name}-java-devel < %{version}-%{release} BuildRequires: libevent-devel %endif BuildRequires: libfabric-devel -%ifnarch s390 s390x +%ifnarch s390x BuildRequires: papi-devel %endif %if %{with orangefs} @@ -111,7 +115,12 @@ BuildRequires: orangefs-devel BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(Getopt::Long) -BuildRequires: pmix-devel +%if %{with pmix} +BuildRequires: pmix-devel >= 4.2.7 +%endif +# For configure to find /usr/bin/prte +BuildRequires: prrte +BuildRequires: prrte-devel BuildRequires: python%{python3_pkgversion}-devel %if %{with psm} BuildRequires: infinipath-psm-devel @@ -126,6 +135,10 @@ BuildRequires: zlib-devel %if !0%{?el7} BuildRequires: rpm-mpi-hooks %endif +# For docs +BuildRequires: /usr/bin/sphinx-build +BuildRequires: python3-recommonmark +BuildRequires: python3-sphinx_rtd_theme Provides: mpi %if 0%{?rhel} == 7 @@ -133,6 +146,7 @@ Provides: mpi Requires: environment-modules %endif Requires: environment(modules) +Requires: prrte # openmpi currently requires ssh to run # https://svn.open-mpi.org/trac/ompi/ticket/4228 Requires: openssh-clients @@ -165,6 +179,13 @@ Requires: (python(abi) = %{python3_version} if python3) %description devel Contains development headers and libraries for openmpi. +%package doc +Summary: HTML documentation for openmpi +BuildArch: noarch + +%description doc +HTML documentation for openmpi. + %if %{with java} %package java Summary: Java library @@ -222,20 +243,23 @@ OpenMPI support for Python 3. --sysconfdir=%{_sysconfdir}/%{namearch} \ --disable-silent-rules \ --enable-builtin-atomics \ - --enable-mpi-cxx \ --enable-ipv6 \ %if %{with java} --enable-mpi-java \ %endif --enable-mpi1-compatibility \ + --enable-sphinx \ + --with-prrte=external \ --with-sge \ --with-valgrind \ --enable-memchecker \ --with-hwloc=/usr \ %if !0%{?el7} --with-libevent=external \ +%if %{with pmix} --with-pmix=external \ %endif +%endif %make_build V=1 @@ -243,10 +267,6 @@ OpenMPI support for Python 3. %make_install find %{buildroot}%{_libdir}/%{name}/lib -name \*.la | xargs rm find %{buildroot}%{_mandir}/%{namearch} -type f | xargs gzip -9 -ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1.gz -# Remove dangling symlink -rm %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1 -mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n} # Make the environment-modules file mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi @@ -304,7 +324,12 @@ mkdir -p %{buildroot}/%{python3_sitearch}/%{name} install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth %check -make check +fail=1 +# Failing on s390x - https://github.com/open-mpi/ompi/issues/10988 +%ifarch s390x +fail=0 +%endif +make check || ( cat test/*/test-suite.log && exit $fail ) %files %license LICENSE @@ -320,53 +345,54 @@ make check %config(noreplace) %{_sysconfdir}/%{namearch}/* %{_libdir}/%{name}/bin/mpi[er]* %{_libdir}/%{name}/bin/ompi* -%{_libdir}/%{name}/bin/orte[-dr_]* %if %{with ucx} %{_libdir}/%{name}/bin/oshmem_info -%{_libdir}/%{name}/bin/oshrun -%{_libdir}/%{name}/bin/shmemrun %endif +%{_libdir}/%{name}/bin/oshrun +%if %{without pmix} +%{_libdir}/%{name}/bin/pattrs +%{_libdir}/%{name}/bin/pctrl +%{_libdir}/%{name}/bin/pevent +%{_libdir}/%{name}/bin/plookup +%{_libdir}/%{name}/bin/pmix_info +%{_libdir}/%{name}/bin/pmixcc +%{_libdir}/%{name}/bin/pps +%{_libdir}/%{name}/bin/pquery +%{_libdir}/%{name}/lib/libpmix.so.2* +%{_libdir}/%{name}/lib/pmix/ +%{_libdir}/%{name}/share/pmix/ +%{_mandir}/%{namearch}/man1/pmix_info.1* +%{_mandir}/%{namearch}/man5/openpmix.5* +%endif +%{_mandir}/%{namearch}/man7/Open-MPI.7* %{_libdir}/%{name}/lib/*.so.40* -%{_libdir}/%{name}/lib/libmca_common_ofi.so.10* -%{_libdir}/%{name}/lib/libmca*.so.41* -%{_libdir}/%{name}/lib/libmca*.so.50* +%{_libdir}/%{name}/lib/*.so.80* %if 0%{?el7} %{_libdir}/%{name}/lib/pmix/ %endif -%{_mandir}/%{namearch}/man1/mpi[er]* +%{_mandir}/%{namearch}/man1/mpirun.1* +%{_mandir}/%{namearch}/man1/mpisync.1* %{_mandir}/%{namearch}/man1/ompi* -%{_mandir}/%{namearch}/man1/orte[-dr_]* %if %{with ucx} %{_mandir}/%{namearch}/man1/oshmem_info* -%{_mandir}/%{namearch}/man1/oshrun* -%{_mandir}/%{namearch}/man1/shmemrun* %endif -%{_mandir}/%{namearch}/man7/ompi_* -%{_mandir}/%{namearch}/man7/opal_* -%{_mandir}/%{namearch}/man7/orte* %{_libdir}/%{name}/lib/openmpi/* %{_datadir}/modulefiles/mpi/ %dir %{_libdir}/%{name}/share %dir %{_libdir}/%{name}/share/openmpi %{_libdir}/%{name}/share/openmpi/amca-param-sets %{_libdir}/%{name}/share/openmpi/help*.txt -%if %{with rdma} -%{_libdir}/%{name}/share/openmpi/mca-btl-openib-device-params.ini -%endif %if 0%{?el7} %{_libdir}/%{name}/share/pmix/ %endif %files devel %dir %{_includedir}/%{namearch} -%{_libdir}/%{name}/bin/aggregate_profile.pl %{_libdir}/%{name}/bin/mpi[cCf]* %{_libdir}/%{name}/bin/opal_* -%{_libdir}/%{name}/bin/orte[cCf]* %if %{with ucx} %{_libdir}/%{name}/bin/osh[cCf]* %endif -%{_libdir}/%{name}/bin/profile2mat.pl %if %{with ucx} %{_libdir}/%{name}/bin/shmem[cCf]* %endif @@ -380,6 +406,7 @@ make check %{_mandir}/%{namearch}/man1/mpi[cCf]* %if %{with ucx} %{_mandir}/%{namearch}/man1/osh[cCf]* +%{_mandir}/%{namearch}/man1/oshmem-wrapper-compiler.1* %{_mandir}/%{namearch}/man1/shmem[cCf]* %endif %{_mandir}/%{namearch}/man1/opal_* @@ -388,6 +415,11 @@ make check %{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt %{macrosdir}/macros.%{namearch} +%files doc +%license LICENSE +%doc %{_libdir}/%{name}/share/doc/ +%exclude %{_libdir}/%{name}/share/doc/openmpi/javadoc-openmpi + %if %{with java} %files java %{_libdir}/%{name}/lib/mpi.jar @@ -395,8 +427,7 @@ make check %files java-devel %{_libdir}/%{name}/bin/mpijavac %{_libdir}/%{name}/bin/mpijavac.pl -# Currently this only contaings openmpi/javadoc -%{_libdir}/%{name}/share/doc/ +%doc %{_libdir}/%{name}/share/doc/openmpi/javadoc-openmpi %{_mandir}/%{namearch}/man1/mpijavac.1.gz %endif @@ -412,6 +443,12 @@ make check %changelog +* Fri Oct 27 2023 Orion Poplawski - 5.0.0-1 +- Update to 5.0.0 +- Drops 32-bit i686 support +- Drops C++ bindings +- Add doc sub-package + * Thu Oct 12 2023 Cristian Le - 4.1.5-8 - Added CMAKE_PREFIX_PATH to module file diff --git a/sources b/sources index 633d7e8..caa10ff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-4.1.5.tar.bz2) = 7a2188684ed7542fe42e1717ae72cb859b4f3d6f722c9d3ba04bfed6c2178b3e7da3a536629d312c23571fed4d9b2ca5e20e85898ae5144e9332bd898e6e1cc6 +SHA512 (openmpi-5.0.0.tar.bz2) = 29fa7d8d91c19d5ced867d4194da53c78dee775ad3d6ea6063a0609e2829799b06dc4603d165ab7cab045f645a0962d30774c8c05020b28da548c6cad55e82e6 From f73f8383b38aed8b7aa545f72f669f746058f670 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 30 Oct 2023 22:51:14 -0400 Subject: [PATCH 33/73] Disable building docs in RHEL builds python-recommonmark is unwanted in RHEL due to its dependencies. --- openmpi.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 113d171..5c01d21 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -34,8 +34,10 @@ %if %{defined rhel} %bcond_with orangefs +%bcond_with sphinx %else %bcond_without orangefs +%bcond_without sphinx %endif %ifarch x86_64 @@ -62,7 +64,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -135,10 +137,12 @@ BuildRequires: zlib-devel %if !0%{?el7} BuildRequires: rpm-mpi-hooks %endif +%if %{with sphinx} # For docs BuildRequires: /usr/bin/sphinx-build BuildRequires: python3-recommonmark BuildRequires: python3-sphinx_rtd_theme +%endif Provides: mpi %if 0%{?rhel} == 7 @@ -248,7 +252,9 @@ OpenMPI support for Python 3. --enable-mpi-java \ %endif --enable-mpi1-compatibility \ +%if %{with sphinx} --enable-sphinx \ +%endif --with-prrte=external \ --with-sge \ --with-valgrind \ @@ -443,6 +449,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Tue Oct 31 2023 Yaakov Selkowitz - 5.0.0-2 +- Disable building docs in RHEL builds + * Fri Oct 27 2023 Orion Poplawski - 5.0.0-1 - Update to 5.0.0 - Drops 32-bit i686 support From c510a02ce6bba0f0ce3493638113004b38ac3993 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 21 Dec 2023 08:00:14 -0700 Subject: [PATCH 34/73] Update to 5.0.1 --- .gitignore | 1 + openmpi.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index cfdad56..240a6a1 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.4.tar.bz2 /openmpi-4.1.5.tar.bz2 /openmpi-5.0.0.tar.bz2 +/openmpi-5.0.1.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index 5c01d21..d49a65c 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -63,8 +63,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 5.0.0 -Release: 2%{?dist} +Version: 5.0.1 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -449,6 +449,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Thu Dec 21 2023 Orion Poplawski - 5.0.1-1 +- Update to 5.0.1 + * Tue Oct 31 2023 Yaakov Selkowitz - 5.0.0-2 - Disable building docs in RHEL builds diff --git a/sources b/sources index caa10ff..6707b17 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.0.tar.bz2) = 29fa7d8d91c19d5ced867d4194da53c78dee775ad3d6ea6063a0609e2829799b06dc4603d165ab7cab045f645a0962d30774c8c05020b28da548c6cad55e82e6 +SHA512 (openmpi-5.0.1.tar.bz2) = 5cfd61f9ef9ce7bba5edf227d53f74233d7894a5d5a4e441d47eb1e9a4131918c6f6d181a107b6d240d603dcd10baa1f0f363cbf7e4a51d6fa7bd5ce03a49a82 From 3bd3f8a71e0d89bf28986ae60824642163ddaad5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 11:16:26 +0000 Subject: [PATCH 35/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index d49a65c..f73d675 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -64,7 +64,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -449,6 +449,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Dec 21 2023 Orion Poplawski - 5.0.1-1 - Update to 5.0.1 From 70fcacf4831d739fd0ab8bcaaf29923254ac3f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sun, 21 Jan 2024 22:17:33 +0000 Subject: [PATCH 36/73] Fix GCC-14 new errors (https://github.com/openpmix/openpmix/pull/3245) --- 3245.patch | 42 ++++++++++++++++++++++++++++++++++++++++++ openmpi.spec | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 3245.patch diff --git a/3245.patch b/3245.patch new file mode 100644 index 0000000..cda3aa4 --- /dev/null +++ b/3245.patch @@ -0,0 +1,42 @@ +From 83dc94bf8da119057f543a12e4432aa48cd44e20 Mon Sep 17 00:00:00 2001 +From: Ralph Castain +Date: Tue, 19 Dec 2023 15:11:21 -0700 +Subject: [PATCH] Cast a few parameters when translating macros to functions + +When we made the transition from macros to functions, we +were forced to move things that went on the left side of +an `=` sign to being addresses of params to the function +call. Compilers are getting increasinly picky about matching +parameter types, so cast a few that might cause trouble. + +Signed-off-by: Ralph Castain +--- + include/pmix_deprecated.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/pmix_deprecated.h b/include/pmix_deprecated.h +index 0530123309..6ec00ac310 100644 +--- a/3rd-party/openpmix/include/pmix_deprecated.h ++++ b/3rd-party/openpmix/include/pmix_deprecated.h +@@ -520,10 +520,10 @@ PMIX_EXPORT pmix_info_t* PMIx_Info_list_get_info(void *ptr, void *prev, void **n + (r) = PMIx_Argv_count(a) + + #define PMIX_ARGV_APPEND(r, a, b) \ +- (r) = PMIx_Argv_append_nosize(&(a), (b)) ++ (r) = PMIx_Argv_append_nosize((char***)&(a), (b)) + + #define PMIX_ARGV_PREPEND(r, a, b) \ +- (r) = PMIx_Argv_prepend_nosize(&(a), b) ++ (r) = PMIx_Argv_prepend_nosize((char***)&(a), b) + + #define PMIX_ARGV_APPEND_UNIQUE(r, a, b) \ + (r) = PMIx_Argv_append_unique_nosize(a, b) +@@ -892,7 +892,7 @@ PMIX_EXPORT pmix_info_t* PMIx_Info_list_get_info(void *ptr, void *prev, void **n + PMIx_Data_buffer_load(b, d, s) + + #define PMIX_DATA_BUFFER_UNLOAD(b, d, s) \ +- PMIx_Data_buffer_unload(b, &(d), &(s)) ++ PMIx_Data_buffer_unload(b, (char**)&(d), (size_t*)&(s)) + + #define PMIX_PROC_CREATE(m, n) \ + (m) = PMIx_Proc_create(n) diff --git a/openmpi.spec b/openmpi.spec index f73d675..f47d844 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -76,6 +76,7 @@ Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi +Patch1: 3245.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -451,6 +452,7 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog * Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +- Fix GCC-14 new errors (https://github.com/openpmix/openpmix/pull/3245) * Thu Dec 21 2023 Orion Poplawski - 5.0.1-1 - Update to 5.0.1 From fc7d48fb211a693b4a4bed51eaa2e69316c552f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Mon, 22 Jan 2024 00:48:20 +0000 Subject: [PATCH 37/73] The fix is in pmix, Revert "Fix GCC-14 new errors (https://github.com/openpmix/openpmix/pull/3245)" This reverts commit 70fcacf4831d739fd0ab8bcaaf29923254ac3f9f. --- 3245.patch | 42 ------------------------------------------ openmpi.spec | 2 -- 2 files changed, 44 deletions(-) delete mode 100644 3245.patch diff --git a/3245.patch b/3245.patch deleted file mode 100644 index cda3aa4..0000000 --- a/3245.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 83dc94bf8da119057f543a12e4432aa48cd44e20 Mon Sep 17 00:00:00 2001 -From: Ralph Castain -Date: Tue, 19 Dec 2023 15:11:21 -0700 -Subject: [PATCH] Cast a few parameters when translating macros to functions - -When we made the transition from macros to functions, we -were forced to move things that went on the left side of -an `=` sign to being addresses of params to the function -call. Compilers are getting increasinly picky about matching -parameter types, so cast a few that might cause trouble. - -Signed-off-by: Ralph Castain ---- - include/pmix_deprecated.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/pmix_deprecated.h b/include/pmix_deprecated.h -index 0530123309..6ec00ac310 100644 ---- a/3rd-party/openpmix/include/pmix_deprecated.h -+++ b/3rd-party/openpmix/include/pmix_deprecated.h -@@ -520,10 +520,10 @@ PMIX_EXPORT pmix_info_t* PMIx_Info_list_get_info(void *ptr, void *prev, void **n - (r) = PMIx_Argv_count(a) - - #define PMIX_ARGV_APPEND(r, a, b) \ -- (r) = PMIx_Argv_append_nosize(&(a), (b)) -+ (r) = PMIx_Argv_append_nosize((char***)&(a), (b)) - - #define PMIX_ARGV_PREPEND(r, a, b) \ -- (r) = PMIx_Argv_prepend_nosize(&(a), b) -+ (r) = PMIx_Argv_prepend_nosize((char***)&(a), b) - - #define PMIX_ARGV_APPEND_UNIQUE(r, a, b) \ - (r) = PMIx_Argv_append_unique_nosize(a, b) -@@ -892,7 +892,7 @@ PMIX_EXPORT pmix_info_t* PMIx_Info_list_get_info(void *ptr, void *prev, void **n - PMIx_Data_buffer_load(b, d, s) - - #define PMIX_DATA_BUFFER_UNLOAD(b, d, s) \ -- PMIx_Data_buffer_unload(b, &(d), &(s)) -+ PMIx_Data_buffer_unload(b, (char**)&(d), (size_t*)&(s)) - - #define PMIX_PROC_CREATE(m, n) \ - (m) = PMIx_Proc_create(n) diff --git a/openmpi.spec b/openmpi.spec index f47d844..f73d675 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -76,7 +76,6 @@ Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi -Patch1: 3245.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -452,7 +451,6 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog * Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -- Fix GCC-14 new errors (https://github.com/openpmix/openpmix/pull/3245) * Thu Dec 21 2023 Orion Poplawski - 5.0.1-1 - Update to 5.0.1 From 29d7f098637bc293d375eff8aa66508d904ce8a0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 24 Jan 2024 21:14:40 -0700 Subject: [PATCH 38/73] Drop unused BR on infinipath-psm --- openmpi.spec | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index f73d675..b5608a2 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -41,18 +41,12 @@ %endif %ifarch x86_64 -%if 0%{?rhel} >= 8 -%bcond_with psm -%else -%bcond_without psm -%endif %if 0%{?rhel} >= 10 %bcond_with psm2 %else %bcond_without psm2 %endif %else -%bcond_with psm %bcond_with psm2 %endif @@ -124,9 +118,6 @@ BuildRequires: pmix-devel >= 4.2.7 BuildRequires: prrte BuildRequires: prrte-devel BuildRequires: python%{python3_pkgversion}-devel -%if %{with psm} -BuildRequires: infinipath-psm-devel -%endif %if %{with psm2} BuildRequires: libpsm2-devel %endif @@ -449,6 +440,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Wed Jan 24 2024 Orion Poplawski - 5.0.1-3 +- Drop unused BR on infinipath-psm + * Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 00cd37ba845b07cf601a9ab5e8356adfd0481b00 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 24 Jan 2024 21:15:20 -0700 Subject: [PATCH 39/73] Bump release --- openmpi.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index b5608a2..b780e93 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ From ec3d151739e4d8c78a8352c4d6810d1f29e38b8c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 6 Feb 2024 19:40:29 -0700 Subject: [PATCH 40/73] Update to 5.0.2 --- .gitignore | 1 + openmpi.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 240a6a1..b73302c 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-4.1.5.tar.bz2 /openmpi-5.0.0.tar.bz2 /openmpi-5.0.1.tar.bz2 +/openmpi-5.0.2.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index b780e93..82eaf2c 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -57,8 +57,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 5.0.1 -Release: 3%{?dist} +Version: 5.0.2 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -440,6 +440,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Wed Feb 07 2024 Orion Poplawski - 5.0.2-1 +- Update to 5.0.2 + * Wed Jan 24 2024 Orion Poplawski - 5.0.1-3 - Drop unused BR on infinipath-psm diff --git a/sources b/sources index 6707b17..7226071 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.1.tar.bz2) = 5cfd61f9ef9ce7bba5edf227d53f74233d7894a5d5a4e441d47eb1e9a4131918c6f6d181a107b6d240d603dcd10baa1f0f363cbf7e4a51d6fa7bd5ce03a49a82 +SHA512 (openmpi-5.0.2.tar.bz2) = 0812608dec8b4aaf5da9cd02a282595ccb31956138dd5bdc1da2443204b8de238081b59d45ac2bc57596300fdc097fe5cbf72590669f62c1b38490b6075cff4c From 7c043588b79f53af04a4d0fc72de1044dc194126 Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Mon, 6 Nov 2023 13:03:56 +0200 Subject: [PATCH 41/73] Properly check valgrind arches Signed-off-by: David Abdurachmanov --- openmpi.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 82eaf2c..702f68d 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -79,7 +79,9 @@ BuildRequires: libtool BuildRequires: perl(Data::Dumper) BuildRequires: perl(File::Find) %endif +%ifarch %{valgrind_arches} BuildRequires: valgrind-devel +%endif %if %{with rdma} BuildRequires: opensm-devel > 3.3.0 BuildRequires: rdma-core-devel @@ -248,8 +250,10 @@ OpenMPI support for Python 3. %endif --with-prrte=external \ --with-sge \ +%ifarch %{valgrind_arches} --with-valgrind \ --enable-memchecker \ +%endif --with-hwloc=/usr \ %if !0%{?el7} --with-libevent=external \ @@ -440,6 +444,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Mon Mar 04 2024 David Abdurachmanov - 5.0.2-2 +- Add support for riscv64 + * Wed Feb 07 2024 Orion Poplawski - 5.0.2-1 - Update to 5.0.2 From 89a7439e103d3463408c17e52f46638fc9221ed7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 23 Apr 2024 20:03:29 -0600 Subject: [PATCH 42/73] Update to 5.0.3 --- .gitignore | 1 + openmpi.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b73302c..639f4a9 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-5.0.0.tar.bz2 /openmpi-5.0.1.tar.bz2 /openmpi-5.0.2.tar.bz2 +/openmpi-5.0.3.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index 702f68d..0007877 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -57,8 +57,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 5.0.2 -Release: 2%{?dist} +Version: 5.0.3 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -444,6 +444,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Wed Apr 24 2024 Orion Poplawski - 5.0.3-1 +- Update to 5.0.3 + * Mon Mar 04 2024 David Abdurachmanov - 5.0.2-2 - Add support for riscv64 diff --git a/sources b/sources index 7226071..56f4d8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.2.tar.bz2) = 0812608dec8b4aaf5da9cd02a282595ccb31956138dd5bdc1da2443204b8de238081b59d45ac2bc57596300fdc097fe5cbf72590669f62c1b38490b6075cff4c +SHA512 (openmpi-5.0.3.tar.bz2) = 60e8f6dcd6b1531ce8164e02f40be9a364ab484166a2a7b13bdff115a508f0596e97ad0a4204a47799ae608ba484a7ba9503042bddffe675f09ce22071b0b4a9 From 55c4cf4c790e82757000d8303e50b8eeb22f5dae Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sat, 8 Jun 2024 08:07:49 +0200 Subject: [PATCH 43/73] Rebuilt for Python 3.13 --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 0007877..630c5e9 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -444,6 +444,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Sat Jun 08 2024 Python Maint - 5.0.3-2 +- Rebuilt for Python 3.13 + * Wed Apr 24 2024 Orion Poplawski - 5.0.3-1 - Update to 5.0.3 From 4091a0a5b6cb8ffe2bcec891eb562abb0dce20ac Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 20:55:15 +0000 Subject: [PATCH 44/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 630c5e9..3ec380e 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -444,6 +444,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 5.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Jun 08 2024 Python Maint - 5.0.3-2 - Rebuilt for Python 3.13 From 66b78ce6ad9a8eefc1c2706973ccfc03cf52d43f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 30 Jul 2024 21:34:07 -0600 Subject: [PATCH 45/73] Update to 5.0.5 Update to 5.0.5 Update to 5.0.5 Update to 5.0.5 Update to 5.0.5 Update to 5.0.5 --- .gitignore | 1 + openmpi.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 639f4a9..da2b3f5 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-5.0.1.tar.bz2 /openmpi-5.0.2.tar.bz2 /openmpi-5.0.3.tar.bz2 +/openmpi-5.0.5.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index 3ec380e..4ad1669 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -57,8 +57,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 5.0.3 -Release: 3%{?dist} +Version: 5.0.5 +Release: 1%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -444,6 +444,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Wed Jul 31 2024 Orion Poplawski - 5.0.5-1 +- Update to 5.0.5 + * Thu Jul 18 2024 Fedora Release Engineering - 5.0.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index 56f4d8b..2845843 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.3.tar.bz2) = 60e8f6dcd6b1531ce8164e02f40be9a364ab484166a2a7b13bdff115a508f0596e97ad0a4204a47799ae608ba484a7ba9503042bddffe675f09ce22071b0b4a9 +SHA512 (openmpi-5.0.5.tar.bz2) = d0a137ebdeb578f0457113c6dd0f84d407c88d8f8844e6796114c8026d7391ebfb29d105f16289338eb3ac653ae9d3c0bdc4aa651402444b2ca91c1c447dc409 From 0bb187c01cb853eb67726e5d3c4667480fb488cc Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Wed, 31 Jul 2024 17:09:29 +0200 Subject: [PATCH 46/73] Rebuild with rpm-mpi-hooks-8-10 to fix provides (#2302033) --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 4ad1669..b22f68c 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface License: BSD and MIT and Romio URL: http://www.open-mpi.org/ @@ -444,6 +444,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Wed Jul 31 2024 Sandro Mani - 5.0.5-2 +- Rebuild with rpm-mpi-hooks-8-10 to fix provides (#2302033) + * Wed Jul 31 2024 Orion Poplawski - 5.0.5-1 - Update to 5.0.5 From f829fbc7e745727f620c5196627cda6fc8b3ae0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Mon, 2 Sep 2024 12:23:49 +0200 Subject: [PATCH 47/73] convert license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- openmpi.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index b22f68c..f0df4e8 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,9 +58,10 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Message Passing Interface -License: BSD and MIT and Romio +# Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. +License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Romio URL: http://www.open-mpi.org/ ExcludeArch: %{ix86} @@ -444,6 +445,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Mon Sep 02 2024 Miroslav Suchý - 5.0.5-3 +- convert license to SPDX + * Wed Jul 31 2024 Sandro Mani - 5.0.5-2 - Rebuild with rpm-mpi-hooks-8-10 to fix provides (#2302033) From 5940858d2f1279e6d35f8e0216fa039b172b5e97 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 7 Oct 2024 17:57:25 -0600 Subject: [PATCH 48/73] Add upstream patch to fix hdf5 tests --- 12847.patch | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ openmpi.spec | 7 +++- 2 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 12847.patch diff --git a/12847.patch b/12847.patch new file mode 100644 index 0000000..c73cd21 --- /dev/null +++ b/12847.patch @@ -0,0 +1,104 @@ +From 27901cfc0f3c57969717cb88b8695821b4872bbc Mon Sep 17 00:00:00 2001 +From: Joseph Schuchart +Date: Sat, 5 Oct 2024 17:53:35 +0200 +Subject: [PATCH] Retain info references on public info dup + +We need to keep the references when duplicating info through +MPI_Info_dup so that subsequent calls to MPI_Info_dup +see the same info entries. + +Test case provided by Neil Fortner: + +```C +#include +#include +#include + +#define ERROR(msg) \ +do { \ + printf(msg "\n"); \ + exit(1); \ +} while(0) + +int main(void) { + MPI_Info info1 = MPI_INFO_NULL, info2 = MPI_INFO_NULL, info3 = MPI_INFO_NULL; + int nkeys1, nkeys2, nkeys3; + + if (MPI_Info_create(&info1) != MPI_SUCCESS) + ERROR("MPI_Info_create failed"); + + if (MPI_Info_set(info1, "custom_key", "custom_value") != MPI_SUCCESS) + ERROR("MPI_Info_set failed"); + + if (MPI_Info_get_nkeys(info1, &nkeys1) != MPI_SUCCESS) + ERROR("MPI_Info_get_nkeys(info1, &nkeys1) failed"); + + if (MPI_Info_dup(info1, &info2) != MPI_SUCCESS) + ERROR("MPI_Info_dup failed"); + + if (MPI_Info_free(&info1) != MPI_SUCCESS) + ERROR("MPI_Info_free(&info1) failed"); + + if (MPI_Info_get_nkeys(info2, &nkeys2) != MPI_SUCCESS) + ERROR("MPI_Info_get_nkeys(info2, &nkeys2) failed"); + + if (nkeys1 != nkeys2) + ERROR("Number of keys on duplicated MPI info object does not match that on original"); + + if (MPI_Info_dup(info2, &info3) != MPI_SUCCESS) + ERROR("MPI_Info_dup failed"); + + if (MPI_Info_free(&info2) != MPI_SUCCESS) + ERROR("MPI_Info_free(&info2) failed"); + + if (MPI_Info_get_nkeys(info3, &nkeys3) != MPI_SUCCESS) + ERROR("MPI_Info_get_nkeys(info3, &nkeys3) failed"); + + if (nkeys1 != nkeys3) + ERROR("Number of keys on double duplicated MPI info object does not match that on original"); + + if (MPI_Info_free(&info3) != MPI_SUCCESS) + ERROR("MPI_Info_free(&info3) failed"); + + printf("test passed\n"); + + return 0; +} +``` + +Signed-off-by: Joseph Schuchart +--- + opal/util/info.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/opal/util/info.c b/opal/util/info.c +index 12981e8297c..72277bbb824 100644 +--- a/opal/util/info.c ++++ b/opal/util/info.c +@@ -69,19 +69,24 @@ OBJ_CLASS_INSTANCE(opal_info_entry_t, opal_list_item_t, info_entry_constructor, + * key-value pairs that are not internal and that had been referenced, + * either through opal_info_get or opal_info_set. + */ +-static int opal_info_dup_impl(opal_info_t *info, opal_info_t **newinfo, bool public_only) ++static int opal_info_dup_impl(opal_info_t *info, opal_info_t **newinfo, bool public) + { + opal_info_entry_t *iterator; + + OPAL_THREAD_LOCK(info->i_lock); + OPAL_LIST_FOREACH (iterator, &info->super, opal_info_entry_t) { + /* skip keys that are internal if we didn't ask for them */ +- if (public_only && (iterator->ie_internal || iterator->ie_referenced == 0)) continue; ++ if (public && (iterator->ie_internal || iterator->ie_referenced == 0)) continue; + /* create a new info entry and retain the string objects */ + opal_info_entry_t *newentry = OBJ_NEW(opal_info_entry_t); + newentry->ie_key = iterator->ie_key; + OBJ_RETAIN(iterator->ie_key); + newentry->ie_value = iterator->ie_value; ++ if (public) { ++ /* for public info-dup we also duplicate the references so that subsequent ++ * duplications see the same info keys */ ++ newentry->ie_referenced = iterator->ie_referenced; ++ } + OBJ_RETAIN(iterator->ie_value); + opal_list_append (&((*newinfo)->super), (opal_list_item_t *) newentry); + } diff --git a/openmpi.spec b/openmpi.spec index f0df4e8..0800121 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Romio @@ -71,6 +71,8 @@ Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi +# Upstream fix for hdf5 tests +Patch: https://github.com/open-mpi/ompi/pull/12847.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -445,6 +447,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Mon Oct 07 2024 Orion Poplawski - 5.0.5-4 +- Add upstream patch to fix hdf5 tests + * Mon Sep 02 2024 Miroslav Suchý - 5.0.5-3 - convert license to SPDX From 5445fb9119b17193e53ae85dfbbd2ddfc65f4c1b Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 16 Nov 2024 16:09:49 -0700 Subject: [PATCH 49/73] Update to 5.0.6 --- .gitignore | 1 + 12847.patch | 104 --------------------------------------------------- openmpi.spec | 9 +++-- sources | 2 +- 4 files changed, 7 insertions(+), 109 deletions(-) delete mode 100644 12847.patch diff --git a/.gitignore b/.gitignore index da2b3f5..98ccb0c 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-5.0.2.tar.bz2 /openmpi-5.0.3.tar.bz2 /openmpi-5.0.5.tar.bz2 +/openmpi-5.0.6.tar.bz2 diff --git a/12847.patch b/12847.patch deleted file mode 100644 index c73cd21..0000000 --- a/12847.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 27901cfc0f3c57969717cb88b8695821b4872bbc Mon Sep 17 00:00:00 2001 -From: Joseph Schuchart -Date: Sat, 5 Oct 2024 17:53:35 +0200 -Subject: [PATCH] Retain info references on public info dup - -We need to keep the references when duplicating info through -MPI_Info_dup so that subsequent calls to MPI_Info_dup -see the same info entries. - -Test case provided by Neil Fortner: - -```C -#include -#include -#include - -#define ERROR(msg) \ -do { \ - printf(msg "\n"); \ - exit(1); \ -} while(0) - -int main(void) { - MPI_Info info1 = MPI_INFO_NULL, info2 = MPI_INFO_NULL, info3 = MPI_INFO_NULL; - int nkeys1, nkeys2, nkeys3; - - if (MPI_Info_create(&info1) != MPI_SUCCESS) - ERROR("MPI_Info_create failed"); - - if (MPI_Info_set(info1, "custom_key", "custom_value") != MPI_SUCCESS) - ERROR("MPI_Info_set failed"); - - if (MPI_Info_get_nkeys(info1, &nkeys1) != MPI_SUCCESS) - ERROR("MPI_Info_get_nkeys(info1, &nkeys1) failed"); - - if (MPI_Info_dup(info1, &info2) != MPI_SUCCESS) - ERROR("MPI_Info_dup failed"); - - if (MPI_Info_free(&info1) != MPI_SUCCESS) - ERROR("MPI_Info_free(&info1) failed"); - - if (MPI_Info_get_nkeys(info2, &nkeys2) != MPI_SUCCESS) - ERROR("MPI_Info_get_nkeys(info2, &nkeys2) failed"); - - if (nkeys1 != nkeys2) - ERROR("Number of keys on duplicated MPI info object does not match that on original"); - - if (MPI_Info_dup(info2, &info3) != MPI_SUCCESS) - ERROR("MPI_Info_dup failed"); - - if (MPI_Info_free(&info2) != MPI_SUCCESS) - ERROR("MPI_Info_free(&info2) failed"); - - if (MPI_Info_get_nkeys(info3, &nkeys3) != MPI_SUCCESS) - ERROR("MPI_Info_get_nkeys(info3, &nkeys3) failed"); - - if (nkeys1 != nkeys3) - ERROR("Number of keys on double duplicated MPI info object does not match that on original"); - - if (MPI_Info_free(&info3) != MPI_SUCCESS) - ERROR("MPI_Info_free(&info3) failed"); - - printf("test passed\n"); - - return 0; -} -``` - -Signed-off-by: Joseph Schuchart ---- - opal/util/info.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/opal/util/info.c b/opal/util/info.c -index 12981e8297c..72277bbb824 100644 ---- a/opal/util/info.c -+++ b/opal/util/info.c -@@ -69,19 +69,24 @@ OBJ_CLASS_INSTANCE(opal_info_entry_t, opal_list_item_t, info_entry_constructor, - * key-value pairs that are not internal and that had been referenced, - * either through opal_info_get or opal_info_set. - */ --static int opal_info_dup_impl(opal_info_t *info, opal_info_t **newinfo, bool public_only) -+static int opal_info_dup_impl(opal_info_t *info, opal_info_t **newinfo, bool public) - { - opal_info_entry_t *iterator; - - OPAL_THREAD_LOCK(info->i_lock); - OPAL_LIST_FOREACH (iterator, &info->super, opal_info_entry_t) { - /* skip keys that are internal if we didn't ask for them */ -- if (public_only && (iterator->ie_internal || iterator->ie_referenced == 0)) continue; -+ if (public && (iterator->ie_internal || iterator->ie_referenced == 0)) continue; - /* create a new info entry and retain the string objects */ - opal_info_entry_t *newentry = OBJ_NEW(opal_info_entry_t); - newentry->ie_key = iterator->ie_key; - OBJ_RETAIN(iterator->ie_key); - newentry->ie_value = iterator->ie_value; -+ if (public) { -+ /* for public info-dup we also duplicate the references so that subsequent -+ * duplications see the same info keys */ -+ newentry->ie_referenced = iterator->ie_referenced; -+ } - OBJ_RETAIN(iterator->ie_value); - opal_list_append (&((*newinfo)->super), (opal_list_item_t *) newentry); - } diff --git a/openmpi.spec b/openmpi.spec index 0800121..fc54188 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -57,8 +57,8 @@ %bcond_with autogen Name: openmpi%{?_cc_name_suffix} -Version: 5.0.5 -Release: 4%{?dist} +Version: 5.0.6 +Release: 1%{?dist} Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Romio @@ -71,8 +71,6 @@ Source1: openmpi.module.in Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi -# Upstream fix for hdf5 tests -Patch: https://github.com/open-mpi/ompi/pull/12847.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -447,6 +445,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Sat Nov 16 2024 Orion Poplawski - 5.0.6-1 +- Update to 5.0.6 + * Mon Oct 07 2024 Orion Poplawski - 5.0.5-4 - Add upstream patch to fix hdf5 tests diff --git a/sources b/sources index 2845843..435b836 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.5.tar.bz2) = d0a137ebdeb578f0457113c6dd0f84d407c88d8f8844e6796114c8026d7391ebfb29d105f16289338eb3ac653ae9d3c0bdc4aa651402444b2ca91c1c447dc409 +SHA512 (openmpi-5.0.6.tar.bz2) = 097f7bb18d506b362f16d46df308b387e3173068ba8688739db756919453e1fe947c6d8c2e098481617d8c6bbecb8990002db42f284b1732a80ef3edaaa29f20 From 16472793a135aa0a89d568d8f9bc3c96c734c703 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 21:44:57 +0000 Subject: [PATCH 50/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- openmpi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index fc54188..0587bd4 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Romio @@ -445,6 +445,9 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 5.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sat Nov 16 2024 Orion Poplawski - 5.0.6-1 - Update to 5.0.6 From c2701f130749f68ed4ad88c3d872b3c132e61414 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 7 Feb 2025 22:53:32 -0700 Subject: [PATCH 51/73] Rename .rpmlint to openmpi.rpmlintrc --- .rpmlint => openmpi.rpmlintrc | 1 - 1 file changed, 1 deletion(-) rename .rpmlint => openmpi.rpmlintrc (93%) diff --git a/.rpmlint b/openmpi.rpmlintrc similarity index 93% rename from .rpmlint rename to openmpi.rpmlintrc index 0aa5b0e..2342110 100644 --- a/.rpmlint +++ b/openmpi.rpmlintrc @@ -1,4 +1,3 @@ -from Config import * addFilter("shared-library-calls-exit .*/lib(mpi|open-rte|oshmem|_java)\.so"); # We use environment modules to load these paths addFilter("file-not-in-%lang /usr/share/man/openmpi-"); From b14325c7438abc85d49e275580ed504909a2080f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 16 Feb 2025 12:24:30 -0700 Subject: [PATCH 52/73] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 881 ++++++++++++++++++++++++++++++++++++++++++++++++++ openmpi.spec | 885 +-------------------------------------------------- 2 files changed, 883 insertions(+), 883 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..e55d506 --- /dev/null +++ b/changelog @@ -0,0 +1,881 @@ +* Fri Jan 17 2025 Fedora Release Engineering - 5.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Nov 16 2024 Orion Poplawski - 5.0.6-1 +- Update to 5.0.6 + +* Mon Oct 07 2024 Orion Poplawski - 5.0.5-4 +- Add upstream patch to fix hdf5 tests + +* Mon Sep 02 2024 Miroslav Suchý - 5.0.5-3 +- convert license to SPDX + +* Wed Jul 31 2024 Sandro Mani - 5.0.5-2 +- Rebuild with rpm-mpi-hooks-8-10 to fix provides (#2302033) + +* Wed Jul 31 2024 Orion Poplawski - 5.0.5-1 +- Update to 5.0.5 + +* Thu Jul 18 2024 Fedora Release Engineering - 5.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 08 2024 Python Maint - 5.0.3-2 +- Rebuilt for Python 3.13 + +* Wed Apr 24 2024 Orion Poplawski - 5.0.3-1 +- Update to 5.0.3 + +* Mon Mar 04 2024 David Abdurachmanov - 5.0.2-2 +- Add support for riscv64 + +* Wed Feb 07 2024 Orion Poplawski - 5.0.2-1 +- Update to 5.0.2 + +* Wed Jan 24 2024 Orion Poplawski - 5.0.1-3 +- Drop unused BR on infinipath-psm + +* Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 21 2023 Orion Poplawski - 5.0.1-1 +- Update to 5.0.1 + +* Tue Oct 31 2023 Yaakov Selkowitz - 5.0.0-2 +- Disable building docs in RHEL builds + +* Fri Oct 27 2023 Orion Poplawski - 5.0.0-1 +- Update to 5.0.0 +- Drops 32-bit i686 support +- Drops C++ bindings +- Add doc sub-package + +* Thu Oct 12 2023 Cristian Le - 4.1.5-8 +- Added CMAKE_PREFIX_PATH to module file + +* Sat Sep 30 2023 Benson Muite - 4.1.5-7 +- Add include and cmake directories for development files for OpenMPI packages + +* Fri Sep 22 2023 Orion Poplawski - 4.1.5-6 +- Rebuild for pmix 4.1.3 (bz#2240042) + +* Thu Jul 20 2023 Fedora Release Engineering - 4.1.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 10 2023 Yaakov Selkowitz - 4.1.5-4 +- Disable PSM2 in RHEL 10 builds + +* Thu Jun 22 2023 Yaakov Selkowitz - 4.1.5-3 +- Disable PSM, OrangeFS in RHEL builds + +* Tue Jun 13 2023 Python Maint - 4.1.5-2 +- Rebuilt for Python 3.12 + +* Sun Feb 26 2023 Orion Poplawski - 4.1.5-1 +- Update to 4.1.5 + +* Thu Jan 19 2023 Fedora Release Engineering - 4.1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Nov 11 2022 Orion Poplawski - 4.1.4-7 +- Re-enable IPv6 support - was not the issue + +* Fri Nov 11 2022 Orion Poplawski - 4.1.4-6 +- Disable IPv6 support - appears to break MPI_Init() on koji builders (bz#2141137) + +* Fri Aug 19 2022 Davide Cavalca - 4.1.4-5 +- Enable IPv6 support (bz#2119845) + +* Fri Jul 22 2022 Fedora Release Engineering - 4.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jul 10 2022 Orion Poplawski - 4.1.4-3 +- Drop java for i686 (bz#2104085) + +* Mon Jun 13 2022 Python Maint - 4.1.4-2 +- Rebuilt for Python 3.11 + +* Sun May 29 2022 Orion Poplawski - 4.1.4-1 +- Update to 4.1.4 + +* Sat Apr 16 2022 Orion Poplawski - 4.1.3-1 +- Update to 4.1.3 + +* Sat Feb 05 2022 Jiri Vanek - 4.1.2-3 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 4.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Nov 29 2021 Orion Poplawski - 4.1.2-1 +- Update to 4.1.2 + +* Sun Oct 10 2021 Orion Poplawski - 4.1.2-0.1.rc1 +- Update to 4.1.2rc1 + +* Fri Sep 03 2021 Sandro Mani - 4.1.1-4 +- Also own %%{_libdir}/%%{name}/lib/cmake/ + +* Thu Jul 22 2021 Fedora Release Engineering - 4.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 4.1.1-2 +- Rebuilt for Python 3.10 + +* Tue Apr 27 2021 Orion Poplawski - 4.1.1-1 +- Update to 4.1.1 + +* Mon Apr 05 2021 Orion Poplawski - 4.1.1-0.2.rc2 +- Update to 4.1.1rc2 + +* Thu Feb 11 2021 Orion Poplawski - 4.1.1-0.1.rc1 +- Update to 4.1.1rc1 + +* Thu Jan 28 2021 Orion Poplawski - 4.1.0-5 +- Add upstream patch for generalized requests + +* Thu Jan 28 2021 Orion Poplawski - 4.1.0-4 +- Add upstream patch to fix AVX library linkage + +* Tue Jan 26 2021 Fedora Release Engineering - 4.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Jan 24 2021 Orion Poplawski - 4.1.0-2 +- Use set_build_flags macro +- Drop old opt_ macros + +* Sun Jan 24 2021 Orion Poplawski - 4.1.0-1 +- Update to 4.1.0 + +* Wed Sep 23 2020 Orion Poplawski - 4.0.5-2 +- Rebuild for libevent 2.1.12 + +* Wed Sep 02 2020 Orion Poplawski - 4.0.5-1 +- Update to 4.0.5 + +* Tue Jul 28 2020 Fedora Release Engineering - 4.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 11 2020 Jiri Vanek - 4.0.4-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jun 17 2020 Orion Poplawski - 4.0.4-1 +- Update to 4.0.4 + +* Mon May 25 2020 Miro Hrončok - 4.0.4-0.3.rc1 +- Rebuilt for Python 3.9 + +* Sun May 24 2020 Orion Poplawski - 4.0.4-0.2.rc1 +- Set OMPI_MCA_rmaps_base_oversubscribe=1 in %%_openmpi_load (bz#1839571) + +* Sun May 10 2020 Orion Poplawski - 4.0.4-0.1.rc1 +- Update to 4.0.4 rc1 + +* Thu Mar 05 2020 Orion Poplawski - 4.0.3x-1 +- Update to 4.0.3 (use x to avoid epoch) + +* Sun Mar 01 2020 Orion Poplawski - 4.0.3rc4-1 +- Update to 4.0.3rc4 + +* Sat Feb 1 2020 Orion Poplawski - 4.0.3rc3-1 +- Update to 4.0.3rc3 + +* Wed Jan 29 2020 Fedora Release Engineering - 4.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Dec 10 2019 Dominik Mierzejewski - 4.0.2-4 +- disable rdma on ARM 32-bit (bz#1780584) + +* Sun Nov 24 2019 Orion Poplawski - 4.0.2-3 +- Add upstream fix for error in calculating aggregators in 32bit mode + +* Fri Nov 15 2019 Orion Poplawski - 4.0.2-2 +- Drop python2 for Fedora 32+ (bz#1773125) + +* Mon Oct 7 2019 Philip Kovacs - 4.0.2-1 +- Update to 4.0.2 + +* Sat Sep 14 2019 Orion Poplawski - 4.0.2-0.4.rc2 +- Update to 4.0.2rc2 +- Re-enable C++ bindings on power64 + +* Fri Sep 6 2019 Philip Kovacs - 4.0.2-0.3.rc1 +- Rebuild for annobin update to correct aarch64 build (bug #1748529) + +* Fri Aug 30 2019 Philip Kovacs - 4.0.2-0.2.rc1 +- Apply upstream PR 6946 to avoid linking to __mmap +- Add build deps to run upstream autogen.pl +- Remove embedded tabs in the spec + +* Thu Aug 29 2019 Philip Kovacs - 4.0.2-0.1.rc1 +- Update to 4.0.2rc1 +- Closes bug #1746564 + +* Thu Aug 29 2019 Zbigniew Jędrzejewski-Szmek - 4.0.1-11 +- Fix MANPATH so normal modules can still be loaded (#1564899) + +* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 4.0.1-10 +- Rebuilt for hwloc-2.0 + +* Sun Aug 18 2019 Miro Hrončok - 4.0.1-9 +- Rebuilt for Python 3.8 + +* Fri Aug 9 2019 Philip Kovacs - 4.0.1-8 +- Remove torque support (torque retired: bug #1676147) + +* Thu Jul 25 2019 Fedora Release Engineering - 4.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jun 21 2019 Orion Poplawski - 4.0.1-6 +- Rebuild for libfabric 1.8 +- Re-enable UCX, hopefully issue fixed in 1.5.2 + +* Mon May 27 2019 Orion Poplawski - 4.0.1-5 +- Drop UCX support for now + +* Wed May 15 2019 Orion Poplawski - 4.0.1-4 +- Add upstream patch OSC/UCX: use correct rkey for atomic_fadd in rget/rput + +* Wed May 15 2019 Orion Poplawski - 4.0.1-3 +- Add upstream patch to fix issue with UCX usage in BTL/UCT + +* Tue May 7 2019 Orion Poplawski - 4.0.1-2 +- Add a guard for python3 version (#1705296) +- Add requires on python(abi) to python packages + +* Sun Apr 28 2019 Orion Poplawski - 4.0.1-1 +- Update to 4.0.1 + +* Sun Apr 28 2019 Orion Poplawski - 3.1.4-1 +- Update to 3.1.4 + +* Mon Apr 22 2019 Björn Esser - 3.1.3-5 +- rebuilt(opensm) + +* Wed Apr 17 2019 Christoph Junghans - 3.1.3-4 +- Rebuild to fix ibosmcomp linkage + +* Sat Mar 2 2019 Orion Poplawski - 3.1.3-3 +- Enable valgrind on s390x +- Cleanup arch conditionals + +* Tue Feb 19 2019 Orion Poplawski - 3.1.3-2 +- Enable PVFS2/OrangeFS MPI-IO support (bug #1655010) + +* Wed Feb 13 2019 Orion Poplawski - 3.1.3-1 +- Update to 3.1.3 +- Drop ppc64le patch fixed upstream +- Use external libevent and pmix, except on EL7 +- Fix EPEL7 builds + +* Sat Feb 2 2019 Orion Poplawski - 2.1.6-1 +- Update to 2.1.6 + +* Fri Feb 01 2019 Fedora Release Engineering - 2.1.6-0.2.rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Nov 28 2018 Orion Poplawski - 2.1.6-0.1.rc1 +- Update to 2.1.6rc1 + +* Thu Oct 11 2018 Orion Poplawski - 2.1.5-1 +- Update to 2.1.5 + +* Sun Jul 22 2018 Orion Poplawski - 2.1.1-14 +- Add BR gcc-c++ (fix FTBFS bug #1605323) + +* Fri Jul 13 2018 Fedora Release Engineering - 2.1.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 2.1.1-12 +- Rebuilt for Python 3.7 + +* Thu May 10 2018 Troy Dawson - 2.1.1-11 +- Build with rdma-core-devel instead of libibcm-devel + +* Mon Apr 30 2018 Florian Weimer - 2.1.1-10 +- Rebuild with new flags from redhat-rpm-config + +* Fri Feb 09 2018 Igor Gnatenko - 2.1.1-9 +- Escape macros in %%changelog + +* Mon Feb 05 2018 Orion Poplawski - 2.1.1-8 +- Rebuild for rdma-core 16.2 + +* Wed Jan 31 2018 Christoph Junghans - 2.1.1-7 +- Rebuild for gfortran-8 + +* Fri Jan 12 2018 Iryna Shcherbina - 2.1.1-6 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Aug 23 2017 Adam Williamson - 2.1.1-5 +- Disable RDMA support on 32-bit ARM (#1484155) +- Disable hanging opal_fifo test on ppc64le (gh #2526 / #2966) + +* Thu Aug 03 2017 Fedora Release Engineering - 2.1.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 19 2017 Orion Poplawski - 2.1.1-2 +- Provide pkgconfig files in the main namespace as well (1471512) + +* Fri May 12 2017 Orion Poplawski - 2.1.1-1 +- Update to 2.1.1 + +* Thu May 4 2017 Orion Poplawski - 2.1.0-1 +- Update to 2.1.0 + +* Sat Feb 11 2017 Fedora Release Engineering - 2.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 2 2017 Orion Poplawski - 2.0.2-1 +- Update to 2.0.2 + +* Sat Jan 28 2017 Björn Esser - 2.0.1-7 +- Rebuilt for GCC-7 + +* Mon Dec 19 2016 Miro Hrončok - 2.0.1-6 +- Rebuild for Python 3.6 + +* Wed Nov 2 2016 Orion Poplawski - 2.0.1-5 +- Split python support into sub-packages (bug #1391157) + +* Thu Oct 27 2016 Dan Horák - 2.0.1-4 +- Temporarily disable C++ bindings on ppc64/ppc64le (#1388561) + +* Mon Oct 24 2016 Orion Poplawski - 2.0.1-3 +- Fix License tag format +- Use /usr/share/modulefiles for modulefile install location + +* Mon Oct 24 2016 Orion Poplawski - 2.0.1-2 +- Add upstream patch for thread wait issue with mpi4py + +* Fri Oct 21 2016 Orion Poplawski - 2.0.1-1 +- Update to 2.0.1 + +* Thu Oct 20 2016 Orion Poplawski - 1.10.4-4 +- Support s390(x) (bug #1358701) + +* Thu Oct 20 2016 Orion Poplawski - 1.10.4-3 +- Enable psm/psm2 support on x86_64 (bug #1263655) + +* Wed Oct 19 2016 Orion Poplawski - 1.10.4-2 +- Enable MPI_THREAD_MULTIPLE support (bug #1369989) + +* Wed Oct 19 2016 Orion Poplawski - 1.10.4-1 +- Update to 1.10.4 + +* Thu Sep 15 2016 Orion Poplawski - 1.10.3-3 +- Rebuild for papi 5.5.0 + +* Fri Jun 24 2016 Orion Poplawski - 1.10.3-2 +- Use bundled libevent, system version causes issues (bug #1235044) + +* Wed Jun 15 2016 Orion Poplawski - 1.10.3-1 +- Update to 1.10.3 +- New javadoc location + +* Thu Feb 04 2016 Fedora Release Engineering - 1.10.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 26 2016 Orion Poplawski - 1.10.2-2 +- Rebuild for papi 5.4.3 + +* Thu Jan 21 2016 Orion Poplawski - 1.10.2-1 +- Update to 1.10.2 +- Drop upsream nbc_copy patch + +* Tue Nov 10 2015 Orion Poplawski - 1.10.1-3 +- Add upstream patch to fix zero size message + +* Tue Nov 10 2015 Fedora Release Engineering - 1.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Nov 5 2015 Orion Poplawski - 1.10.1-1 +- Update to 1.10.1 +- Require environment(modules) +- Fixup fortran module install (bug #1154982) + +* Tue Oct 6 2015 Orion Poplawski - 1.10.0-3 +- Do not set CFLAGS in %%_openmpi_load + +* Wed Sep 16 2015 Orion Poplawski - 1.10.0-2 +- Add patch to add needed opal/util/argv.h includes + +* Tue Sep 15 2015 Orion Poplawski - 1.10.0-1 +- Update to 1.10.0 + +* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek - 1.8.8-5 +- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563) + +* Mon Aug 24 2015 Orion Poplawski 1.8.8-4 +- Disable valgrind only on s390 + +* Mon Aug 17 2015 Orion Poplawski 1.8.8-3 +- Do not filter libvt* provides as some dependencies link to it + +* Mon Aug 10 2015 Sandro Mani - 1.8.8-2 +- Require, BuildRequire: rpm-mpi-hooks + +* Mon Aug 10 2015 Orion Poplawski 1.8.8-1 +- Update to 1.8.8 +- Drop atomic patch applied upstream + +* Wed Jul 15 2015 Orion Poplawski 1.8.7-1 +- Update to 1.8.7 + +* Tue Jun 23 2015 Orion Poplawski 1.8.6-1 +- Update to 1.8.6 + +* Thu Jun 18 2015 Fedora Release Engineering - 1.8.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue May 5 2015 Orion Poplawski 1.8.5-1 +- Update to 1.8.5 + +* Fri May 1 2015 Orion Poplawski 1.8.5-0.2.rc3 +- Update to 1.8.5rc3 + +* Sun Apr 5 2015 Orion Poplawski 1.8.5-0.1.rc1 +- Update to 1.8.5rc1 + +* Mon Mar 30 2015 Orion Poplawski 1.8.4-7.20150324gitg9ad2aa8 +- Add upstream patch to fix race/hang on 32bit machines + +* Fri Mar 27 2015 Orion Poplawski 1.8.4-6.20150324gitg9ad2aa8 +- Update to latest 1.8.4 snapshot +- Add upstream patch to fix atomics on 32bit + +* Mon Mar 23 2015 Zbigniew Jędrzejewski-Szmek - 1.8.4-5.20150228gitgd83fb30 +- Rebuild for fortran update (#1204420) + +* Mon Mar 16 2015 Orion Poplawski 1.8.4-4.99.20150228gitgd83fb30 +- Own and ship pkgconfig files, set PKG_CONFIG_PATH in modulefile (bug #1113626) +- Drop old configure settings + +* Wed Mar 4 2015 Orion Poplawski 1.8.4-3.99.20150228gitgd83fb30 +- Update to 1.8.4.99 snapshot + +* Fri Feb 13 2015 Orion Poplawski 1.8.4-2 +- Fix MPI_FORTRAN_MOD_DIR (bug #1154982) + +* Tue Dec 23 2014 Orion Poplawski 1.8.4-1 +- Update to 1.8.4 + +* Mon Nov 17 2014 Orion Poplawski 1.8.3-3 +- Rebuild for papi soname change + +* Fri Oct 3 2014 Orion Poplawski 1.8.3-2 +- Fix typo in oshmem library name + +* Sat Sep 27 2014 Orion Poplawski 1.8.3-1 +- Update to 1.8.3 + +* Tue Sep 16 2014 Peter Robinson 1.8.2-2 +- ppc64le now has valgrind + +* Tue Aug 26 2014 Orion Poplawski 1.8.2-1 +- Update to 1.8.2 + +* Sun Aug 17 2014 Fedora Release Engineering - 1.8.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 6 2014 Peter Robinson 1.8.1-6 +- Rebuild (papi) + +* Mon Aug 4 2014 Dan Horák 1.8.1-5 +- no valgrind on ppc64le yet + +* Sat Aug 2 2014 Peter Robinson 1.8.1-4 +- aarch64 now has valgrind + +* Thu Jul 17 2014 Orion Poplawski 1.8.1-3 +- Add patch to prevent shmem wrappers from adding extra libs + +* Sat Jun 07 2014 Fedora Release Engineering - 1.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Apr 23 2014 Orion Poplawski 1.8.1-1 +- Update to 1.8.1, fixes bug #1089044 + +* Tue Apr 1 2014 Orion Poplawski 1.8-1 +- Update to 1.8 + +* Tue Mar 25 2014 Orion Poplawski 1.7.5-2 +- Update provides filter + +* Mon Mar 24 2014 Orion Poplawski 1.7.5-1 +- Update to 1.7.5 + +* Fri Feb 21 2014 Orion Poplawski - 1.7.4-3 +- Require java-headless + +* Sat Feb 8 2014 Ville Skyttä - 1.7.4-2 +- Install macros to %%{_rpmconfdir}/macros.d where available. + +* Wed Feb 5 2014 Orion Poplawski 1.7.4-1 +- Update to 1.7.4 +- Drop format patch fixed upstream +- Build against system libevent +- Build Java mpi bindings, ship in -java sub-package +- Add requires openssh-clients + +* Tue Jan 28 2014 Peter Robinson 1.7.3-5 +- Drop mode/modeflag. mode no longer used, modeflag obsolete as set in CFLAGS +- Use distro LDFLAGS for hardened build +- Drop armv5tel options +- General spec cleanups + +* Thu Jan 16 2014 Orion Poplawski 1.7.3-4 +- Rebuild with papi 5.3.0 + +* Wed Dec 4 2013 Peter Robinson 1.7.3-3 +- valgrind not currently supported on aarch64 + +* Tue Dec 3 2013 Orion Poplawski 1.7.3-2 +- Fix compilation with -Werror=format-security (bug #1037231) + +* Sun Oct 20 2013 Orion Poplawski 1.7.3-1 +- Update to 1.7.3 +- Upstream no longer ships license incompatible files + +* Fri Aug 16 2013 Orion Poplawski 1.7.2-7 +- Move orte* compiler wrappers to devel sub-package (bug #997330) + +* Thu Aug 08 2013 Dennis Gilmore - 1.7.2-6 +- rebuild for papi soname bump bz#995092 + +* Sat Aug 03 2013 Petr Pisar - 1.7.2-5 +- Perl 5.18 rebuild + +* Fri Jul 26 2013 Orion Poplawski 1.7.2-4 +- Fix build issue with _cc_name_suffix (bug #986664) + +* Mon Jul 22 2013 Deji Akingunola - 1.7.2-3 +- Rebuild for papi's shared lib fix + +* Wed Jul 17 2013 Petr Pisar - 1.7.2-2 +- Perl 5.18 rebuild + +* Thu Jun 27 2013 Orion Poplawski 1.7.2-1 +- Update to 1.7.2 + +* Wed Apr 17 2013 Orion Poplawski 1.7.1-1 +- Update to 1.7.1 +- Add BR on hwloc +- Add BR on papi-devel + +* Tue Apr 16 2013 Orion Poplawski 1.7-1 +- Update to 1.7 +- Rebase patch to handle removed components +- Drop esmtp - no longer used + +* Sat Feb 23 2013 Orion Poplawski 1.6.4-2 +- Exclude libopen-trace.* from requires + +* Fri Feb 22 2013 Orion Poplawski 1.6.4-1 +- Update to 1.6.4 +- Drop f90sover and arm-atomics patch fixed upstream + +* Mon Jan 28 2013 Orion Poplawski 1.6.3-7 +- Make __requires_exclude more specific so we don't exclude needed libs + (bug #905263) + +* Sun Nov 18 2012 Peter Robinson 1.6.3-6 +- Update atomics patch for ARM (thanks to Jon Masters) + +* Sun Nov 11 2012 Peter Robinson 1.6.3-5 +- Atomics patch to fix building on ARM (thanks to Jon Masters) + +* Mon Nov 5 2012 Orion Poplawski 1.6.3-4 +- Add patch to fix libmpi_f90.so version +- Add patch to link tests with system libltdl +- Run make check + +* Fri Nov 2 2012 Orion Poplawski 1.6.3-3 +- Set enable-opal-multi-threads for IB support + +* Thu Nov 1 2012 Orion Poplawski 1.6.3-2 +- Update rpm macros to use the new module location + +* Wed Oct 31 2012 Orion Poplawski 1.6.3-1 +- Update to 1.6.3 + +* Sat Oct 13 2012 Orion Poplawski 1.6.2-1 +- Update to 1.6.2 +- Add BR torque-devel to enable torque support +- Drop old module file location (bug #838467) + +* Thu Sep 13 2012 Orion Poplawski 1.6.1-2 +- Drop adding -fPIC, no longer needed +- Set --disable-silent-rules for more verbose build logs +- Don't add opt_*flags to the wrappers +- Only use $RPM_OPT_FLAGS if not using the opt_*flags + +* Thu Aug 23 2012 Orion Poplawski 1.6.1-1 +- Update to 1.6.1 +- Drop hostfile patch applied upstream + +* Fri Jul 20 2012 Fedora Release Engineering - 1.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue May 15 2012 Orion Poplawski 1.6-2 +- Add patch from upstream to fix default hostfile location + +* Tue May 15 2012 Orion Poplawski 1.6-1 +- Update to 1.6 +- Drop arm patch, appears to be addressed upstream +- Remove extraneous wrapper link libraries (bug 814798) + +* Tue Apr 3 2012 Peter Robinson - 1.5.5-1 +- Update to 1.5.5 + +* Tue Feb 28 2012 Fedora Release Engineering - 1.5.4-5.1 +- Rebuilt for c++ ABI breakage + +* Wed Feb 22 2012 Orion Poplawski 1.5.4-4.1 +- Rebuild with hwloc 1.4 + +* Wed Feb 15 2012 Peter Robinson - 1.5.4-4 +- Rebuild for hwloc soname bump + +* Fri Jan 20 2012 Doug Ledford - 1.5.4-3 +- Move modules file to mpi directory and make it conflict with any other + mpi module (bug #651074) + +* Sun Jan 8 2012 Orion Poplawski 1.5.4-2 +- Rebuild with gcc 4.7 (bug #772443) + +* Thu Nov 17 2011 Orion Poplawski 1.5.4-1 +- Update to 1.5.4 +- Drop dt-textrel patch fixed upstream +- Fixup handling removed files (bug #722534) +- Uses hwloc instead of plpa +- Exclude private libraries from provides/requires (bug #741104) +- Drop --enable-mpi-threads & --enable-openib-ibcm, no longer recognized + +* Sat Jun 18 2011 Peter Robinson 1.5-4 +- Exclude ARM platforms due to current lack of "atomic primitives" on the platform + +* Thu Mar 17 2011 Jay Fenlason 1.5-3 +- Add dt-textrel patch to close + Resolves: bz679489 +- Add memchecker and esmtp support + Resolves: bz647011 + +* Tue Feb 08 2011 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Oct 18 2010 Jay Fenlason 1.5-1 +- set MANPATH in openmpi module file +- Upgrade to 1.5 +- Workaround for rhbz#617766 appears to no longer be needed for 1.5 +- remove pkgconfig files in instal +- Remove orteCC.1 dangling symlink +- Adjust the files entries for share/openmpi/help* and share/openmpi/mca* +- Adjust the files entries for share/openmpi/mpi* +- Add files entry for share/openmpi/orte*.txt + +* Sun Sep 05 2010 Dennis Gilmore - 1.4.1-7 +- disable valgrind support on sparc arches + +* Sat Jul 24 2010 David Malcolm - 1.4.1-6 +- workaround for rhbz#617766 + +* Wed Jul 21 2010 David Malcolm - 1.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Mon Mar 29 2010 Jay Fenlason - 1.4.1-4 +- Update to fix licencing and packaging issues: + Use the system plpa and ltdl librarires rather than the ones in the tarball + Remove licence incompatible files from the tarball. +- update module.in to prepend-path PYTHONPATH + +* Tue Mar 9 2010 Jay Fenlason - 1.4.1-3 +- remove the pkgconfig file completely like we did in RHEL. + +* Tue Jan 26 2010 Jay Fenlason - 1.4.1-2 +- BuildRequires: python + +* Tue Jan 26 2010 Jay Fenlason - 1.4.1-1 +- New upstream version, which includes the changeset_r22324 patch. +- Correct a typo in the Source0 line in this spec file. + +* Fri Jan 15 2010 Doug Ledford - 1.4-4 +- Fix an issue with usage of _cc_name_suffix that cause a broken define in + our module file + +* Fri Jan 15 2010 Doug Ledford - 1.4-3 +- Fix pkgconfig file substitution +- Bump version so we are later than the equivalent version from Red Hat + Enterprise Linux + +* Wed Jan 13 2010 Doug Ledford - 1.4-1 +- Update to latest upstream stable version +- Add support for libibcm usage +- Enable sge support via configure options since it's no longer on by default +- Add patch to resolve allreduce issue (bz538199) +- Remove no longer needed patch for Chelsio cards + +* Tue Sep 22 2009 Jay Fenlason - 1.3.3-6 +- Create and own man* directories for use by dependent packages. + +* Wed Sep 16 2009 Jay Fenlason - 1.3.3-5 +- Move the module file from %%{_datadir}/Modules/modulefiles/%%{namearch} to + %%{_sysconfdir}/modulefiles/%%{namearch} where it belongs. +- Have the -devel subpackage own the man1 and man7 directories for completeness. +- Add a blank line before the clean section. +- Remove --enable-mpirun-prefix-by-default from configure. + +* Wed Sep 9 2009 Jay Fenlason - 1.3.3-4 +- Modify packaging to conform to + https://fedoraproject.org/wiki/PackagingDrafts/MPI (bz521334). +- remove --with-ft=cr from configure, as it was apparently causing problems + for some people. +- Add librdmacm-devel and librdmacm to BuildRequires (related bz515565). +- Add openmpi-bz515567.patch to add support for the latest Chelsio device IDs + (related bz515567). +- Add exclude-arch (s390 s390x) because we don't have required -devel packages + there. + +* Sat Jul 25 2009 Fedora Release Engineering - 1.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 21 2009 Doug Ledford - 1.3.3-2 +- Add MPI_BIN and MPI_LIB to the modules file (related bz511099) + +* Tue Jul 21 2009 Doug Ledford - 1.3.3-1 +- Make sure all created dirs are owned (bz474677) +- Fix loading of pkgconfig file (bz476844) +- Resolve file conflict between us and libotf (bz496131) +- Resolve dangling symlinks issue (bz496909) +- Resolve unexpanded %%{mode} issues (bz496911) +- Restore -devel subpackage (bz499851) +- Make getting the default openmpi devel environment easier (bz504357) +- Make the -devel package pull in the base package (bz459458) +- Make it easier to use alternative compilers to build package (bz246484) + +* Sat Jul 18 2009 Jussi Lehtola - 1.3.1-4 +- Add Provides: openmpi-devel to fix other package builds in rawhide. + +* Fri May 08 2009 Lubomir Rintel - 1.3.1-3 +- Treat i586 the same way as i386 + +* Wed Apr 22 2009 Doug Ledford - 1.3.1-2 +- fixed broken update +- Resolves: bz496909, bz496131, bz496911 + +* Tue Apr 14 2009 Tom "spot" Callaway - 1.3.1-1 +- update to 1.3.1, cleanup alternatives, spec, make new vt subpackage + +* Thu Feb 26 2009 Fedora Release Engineering - 1.2.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 18 2008 Fedora Release Engineering - 1.2.4-2 +- Autorebuild for GCC 4.3 + +* Wed Oct 17 2007 Doug Ledford - 1.2.4-1 +- Update to 1.2.4 upstream version +- Build against libtorque +- Pass a valid mode to open +- Resolves: bz189441, bz265141 + +* Tue Aug 28 2007 Fedora Release Engineering - 1.2.3-5 +- Rebuild for selinux ppc32 issue. + +* Mon Jul 16 2007 Doug Ledford - 1.2.3-4 +- Fix a directory permission problem on the base openmpi directories + +* Thu Jul 12 2007 Florian La Roche - 1.2.3-3 +- requires alternatives for various sub-rpms + +* Mon Jul 02 2007 Doug Ledford - 1.2.3-2 +- Fix dangling symlink issue caused by a bad macro usage +- Resolves: bz246450 + +* Wed Jun 27 2007 Doug Ledford - 1.2.3-1 +- Update to latest upstream version +- Fix file ownership on -libs package +- Take a swing at solving the multi-install compatibility issues + +* Mon Feb 19 2007 Doug Ledford - 1.1.1-7 +- Bump version to be at least as high as the RHEL4U5 openmpi +- Integrate fixes made in RHEL4 openmpi into RHEL5 (fix a multilib conflict + for the openmpi.module file by moving from _datadir to _libdir, make sure + all sed replacements have the g flag so they replace all instances of + the marker per line, not just the first, and add a %%defattr tag to the + files section of the -libs package to avoid install errors about + brewbuilder not being a user or group) +- Resolves: bz229298 + +* Wed Jan 17 2007 Doug Ledford - 1.1.1-5 +- Remove the FORTIFY_SOURCE and stack protect options +- Related: bz213075 + +* Fri Oct 20 2006 Doug Ledford - 1.1.1-4 +- Bump and build against the final openib-1.1 package + +* Wed Oct 18 2006 Doug Ledford - 1.1.1-3 +- Fix an snprintf length bug in opal/util/cmd_line.c +- RESOLVES: rhbz#210714 + +* Wed Oct 18 2006 Doug Ledford - 1.1.1-2 +- Bump and build against openib-1.1-0.pre1.1 instead of 1.0 + +* Tue Oct 17 2006 Doug Ledford - 1.1.1-1 +- Update to upstream 1.1.1 version + +* Fri Oct 13 2006 Doug Ledford - 1.1-7 +- ia64 can't take -m64 on the gcc command line, so don't set it there + +* Wed Oct 11 2006 Doug Ledford - 1.1-6 +- Bump rev to match fc6 rev +- Fixup some issue with alternatives support +- Split the 32bit and 64bit libs ld.so.conf.d files into two files so + multilib or single lib installs both work properly +- Put libs into their own package +- Add symlinks to /usr/share/openmpi/bin%%{mode} so that opal_wrapper-%%{mode} + can be called even if it isn't the currently selected default method in + the alternatives setup (opal_wrapper needs to be called by mpicc, mpic++, + etc. in order to determine compile mode from argv[0]). + +* Sun Aug 27 2006 Doug Ledford - 1.1-4 +- Make sure the post/preun scripts only add/remove alternatives on initial + install and final removal, otherwise don't touch. + +* Fri Aug 25 2006 Doug Ledford - 1.1-3 +- Don't ghost the mpi.conf file as that means it will get removed when + you remove 1 out of a number of alternatives based packages +- Put the .mod file in -devel + +* Mon Aug 7 2006 Doug Ledford - 1.1-2 +- Various lint cleanups +- Switch to using the standard alternatives mechanism instead of a home + grown one + +* Wed Aug 2 2006 Doug Ledford - 1.1-1 +- Upgrade to 1.1 +- Build with Infiniband support via openib + +* Mon Jun 12 2006 Jason Vas Dias - 1.0.2-1 +- Upgrade to 1.0.2 + +* Wed Feb 15 2006 Jason Vas Dias - 1.0.1-1 +- Import into Fedora Core +- Resolve LAM clashes + +* Wed Jan 25 2006 Orion Poplawski - 1.0.1-2 +- Use configure options to install includes and libraries +- Add ld.so.conf.d file to find libraries +- Add -fPIC for x86_64 + +* Tue Jan 24 2006 Orion Poplawski - 1.0.1-1 +- 1.0.1 +- Use alternatives + +* Sat Nov 19 2005 Ed Hill - 1.0-2 +- fix lam conflicts + +* Fri Nov 18 2005 Ed Hill - 1.0-1 +- initial specfile created diff --git a/openmpi.spec b/openmpi.spec index 0587bd4..d270036 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -58,7 +58,7 @@ Name: openmpi%{?_cc_name_suffix} Version: 5.0.6 -Release: 2%{?dist} +Release: %autorelease Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Romio @@ -445,885 +445,4 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %changelog -* Fri Jan 17 2025 Fedora Release Engineering - 5.0.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Nov 16 2024 Orion Poplawski - 5.0.6-1 -- Update to 5.0.6 - -* Mon Oct 07 2024 Orion Poplawski - 5.0.5-4 -- Add upstream patch to fix hdf5 tests - -* Mon Sep 02 2024 Miroslav Suchý - 5.0.5-3 -- convert license to SPDX - -* Wed Jul 31 2024 Sandro Mani - 5.0.5-2 -- Rebuild with rpm-mpi-hooks-8-10 to fix provides (#2302033) - -* Wed Jul 31 2024 Orion Poplawski - 5.0.5-1 -- Update to 5.0.5 - -* Thu Jul 18 2024 Fedora Release Engineering - 5.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jun 08 2024 Python Maint - 5.0.3-2 -- Rebuilt for Python 3.13 - -* Wed Apr 24 2024 Orion Poplawski - 5.0.3-1 -- Update to 5.0.3 - -* Mon Mar 04 2024 David Abdurachmanov - 5.0.2-2 -- Add support for riscv64 - -* Wed Feb 07 2024 Orion Poplawski - 5.0.2-1 -- Update to 5.0.2 - -* Wed Jan 24 2024 Orion Poplawski - 5.0.1-3 -- Drop unused BR on infinipath-psm - -* Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Dec 21 2023 Orion Poplawski - 5.0.1-1 -- Update to 5.0.1 - -* Tue Oct 31 2023 Yaakov Selkowitz - 5.0.0-2 -- Disable building docs in RHEL builds - -* Fri Oct 27 2023 Orion Poplawski - 5.0.0-1 -- Update to 5.0.0 -- Drops 32-bit i686 support -- Drops C++ bindings -- Add doc sub-package - -* Thu Oct 12 2023 Cristian Le - 4.1.5-8 -- Added CMAKE_PREFIX_PATH to module file - -* Sat Sep 30 2023 Benson Muite - 4.1.5-7 -- Add include and cmake directories for development files for OpenMPI packages - -* Fri Sep 22 2023 Orion Poplawski - 4.1.5-6 -- Rebuild for pmix 4.1.3 (bz#2240042) - -* Thu Jul 20 2023 Fedora Release Engineering - 4.1.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jul 10 2023 Yaakov Selkowitz - 4.1.5-4 -- Disable PSM2 in RHEL 10 builds - -* Thu Jun 22 2023 Yaakov Selkowitz - 4.1.5-3 -- Disable PSM, OrangeFS in RHEL builds - -* Tue Jun 13 2023 Python Maint - 4.1.5-2 -- Rebuilt for Python 3.12 - -* Sun Feb 26 2023 Orion Poplawski - 4.1.5-1 -- Update to 4.1.5 - -* Thu Jan 19 2023 Fedora Release Engineering - 4.1.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Nov 11 2022 Orion Poplawski - 4.1.4-7 -- Re-enable IPv6 support - was not the issue - -* Fri Nov 11 2022 Orion Poplawski - 4.1.4-6 -- Disable IPv6 support - appears to break MPI_Init() on koji builders (bz#2141137) - -* Fri Aug 19 2022 Davide Cavalca - 4.1.4-5 -- Enable IPv6 support (bz#2119845) - -* Fri Jul 22 2022 Fedora Release Engineering - 4.1.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sun Jul 10 2022 Orion Poplawski - 4.1.4-3 -- Drop java for i686 (bz#2104085) - -* Mon Jun 13 2022 Python Maint - 4.1.4-2 -- Rebuilt for Python 3.11 - -* Sun May 29 2022 Orion Poplawski - 4.1.4-1 -- Update to 4.1.4 - -* Sat Apr 16 2022 Orion Poplawski - 4.1.3-1 -- Update to 4.1.3 - -* Sat Feb 05 2022 Jiri Vanek - 4.1.2-3 -- Rebuilt for java-17-openjdk as system jdk - -* Thu Jan 20 2022 Fedora Release Engineering - 4.1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Nov 29 2021 Orion Poplawski - 4.1.2-1 -- Update to 4.1.2 - -* Sun Oct 10 2021 Orion Poplawski - 4.1.2-0.1.rc1 -- Update to 4.1.2rc1 - -* Fri Sep 03 2021 Sandro Mani - 4.1.1-4 -- Also own %%{_libdir}/%%{name}/lib/cmake/ - -* Thu Jul 22 2021 Fedora Release Engineering - 4.1.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 4.1.1-2 -- Rebuilt for Python 3.10 - -* Tue Apr 27 2021 Orion Poplawski - 4.1.1-1 -- Update to 4.1.1 - -* Mon Apr 05 2021 Orion Poplawski - 4.1.1-0.2.rc2 -- Update to 4.1.1rc2 - -* Thu Feb 11 2021 Orion Poplawski - 4.1.1-0.1.rc1 -- Update to 4.1.1rc1 - -* Thu Jan 28 2021 Orion Poplawski - 4.1.0-5 -- Add upstream patch for generalized requests - -* Thu Jan 28 2021 Orion Poplawski - 4.1.0-4 -- Add upstream patch to fix AVX library linkage - -* Tue Jan 26 2021 Fedora Release Engineering - 4.1.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sun Jan 24 2021 Orion Poplawski - 4.1.0-2 -- Use set_build_flags macro -- Drop old opt_ macros - -* Sun Jan 24 2021 Orion Poplawski - 4.1.0-1 -- Update to 4.1.0 - -* Wed Sep 23 2020 Orion Poplawski - 4.0.5-2 -- Rebuild for libevent 2.1.12 - -* Wed Sep 02 2020 Orion Poplawski - 4.0.5-1 -- Update to 4.0.5 - -* Tue Jul 28 2020 Fedora Release Engineering - 4.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Jul 11 2020 Jiri Vanek - 4.0.4-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Wed Jun 17 2020 Orion Poplawski - 4.0.4-1 -- Update to 4.0.4 - -* Mon May 25 2020 Miro Hrončok - 4.0.4-0.3.rc1 -- Rebuilt for Python 3.9 - -* Sun May 24 2020 Orion Poplawski - 4.0.4-0.2.rc1 -- Set OMPI_MCA_rmaps_base_oversubscribe=1 in %%_openmpi_load (bz#1839571) - -* Sun May 10 2020 Orion Poplawski - 4.0.4-0.1.rc1 -- Update to 4.0.4 rc1 - -* Thu Mar 05 2020 Orion Poplawski - 4.0.3x-1 -- Update to 4.0.3 (use x to avoid epoch) - -* Sun Mar 01 2020 Orion Poplawski - 4.0.3rc4-1 -- Update to 4.0.3rc4 - -* Sat Feb 1 2020 Orion Poplawski - 4.0.3rc3-1 -- Update to 4.0.3rc3 - -* Wed Jan 29 2020 Fedora Release Engineering - 4.0.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Dec 10 2019 Dominik Mierzejewski - 4.0.2-4 -- disable rdma on ARM 32-bit (bz#1780584) - -* Sun Nov 24 2019 Orion Poplawski - 4.0.2-3 -- Add upstream fix for error in calculating aggregators in 32bit mode - -* Fri Nov 15 2019 Orion Poplawski - 4.0.2-2 -- Drop python2 for Fedora 32+ (bz#1773125) - -* Mon Oct 7 2019 Philip Kovacs - 4.0.2-1 -- Update to 4.0.2 - -* Sat Sep 14 2019 Orion Poplawski - 4.0.2-0.4.rc2 -- Update to 4.0.2rc2 -- Re-enable C++ bindings on power64 - -* Fri Sep 6 2019 Philip Kovacs - 4.0.2-0.3.rc1 -- Rebuild for annobin update to correct aarch64 build (bug #1748529) - -* Fri Aug 30 2019 Philip Kovacs - 4.0.2-0.2.rc1 -- Apply upstream PR 6946 to avoid linking to __mmap -- Add build deps to run upstream autogen.pl -- Remove embedded tabs in the spec - -* Thu Aug 29 2019 Philip Kovacs - 4.0.2-0.1.rc1 -- Update to 4.0.2rc1 -- Closes bug #1746564 - -* Thu Aug 29 2019 Zbigniew Jędrzejewski-Szmek - 4.0.1-11 -- Fix MANPATH so normal modules can still be loaded (#1564899) - -* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 4.0.1-10 -- Rebuilt for hwloc-2.0 - -* Sun Aug 18 2019 Miro Hrončok - 4.0.1-9 -- Rebuilt for Python 3.8 - -* Fri Aug 9 2019 Philip Kovacs - 4.0.1-8 -- Remove torque support (torque retired: bug #1676147) - -* Thu Jul 25 2019 Fedora Release Engineering - 4.0.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Jun 21 2019 Orion Poplawski - 4.0.1-6 -- Rebuild for libfabric 1.8 -- Re-enable UCX, hopefully issue fixed in 1.5.2 - -* Mon May 27 2019 Orion Poplawski - 4.0.1-5 -- Drop UCX support for now - -* Wed May 15 2019 Orion Poplawski - 4.0.1-4 -- Add upstream patch OSC/UCX: use correct rkey for atomic_fadd in rget/rput - -* Wed May 15 2019 Orion Poplawski - 4.0.1-3 -- Add upstream patch to fix issue with UCX usage in BTL/UCT - -* Tue May 7 2019 Orion Poplawski - 4.0.1-2 -- Add a guard for python3 version (#1705296) -- Add requires on python(abi) to python packages - -* Sun Apr 28 2019 Orion Poplawski - 4.0.1-1 -- Update to 4.0.1 - -* Sun Apr 28 2019 Orion Poplawski - 3.1.4-1 -- Update to 3.1.4 - -* Mon Apr 22 2019 Björn Esser - 3.1.3-5 -- rebuilt(opensm) - -* Wed Apr 17 2019 Christoph Junghans - 3.1.3-4 -- Rebuild to fix ibosmcomp linkage - -* Sat Mar 2 2019 Orion Poplawski - 3.1.3-3 -- Enable valgrind on s390x -- Cleanup arch conditionals - -* Tue Feb 19 2019 Orion Poplawski - 3.1.3-2 -- Enable PVFS2/OrangeFS MPI-IO support (bug #1655010) - -* Wed Feb 13 2019 Orion Poplawski - 3.1.3-1 -- Update to 3.1.3 -- Drop ppc64le patch fixed upstream -- Use external libevent and pmix, except on EL7 -- Fix EPEL7 builds - -* Sat Feb 2 2019 Orion Poplawski - 2.1.6-1 -- Update to 2.1.6 - -* Fri Feb 01 2019 Fedora Release Engineering - 2.1.6-0.2.rc1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Nov 28 2018 Orion Poplawski - 2.1.6-0.1.rc1 -- Update to 2.1.6rc1 - -* Thu Oct 11 2018 Orion Poplawski - 2.1.5-1 -- Update to 2.1.5 - -* Sun Jul 22 2018 Orion Poplawski - 2.1.1-14 -- Add BR gcc-c++ (fix FTBFS bug #1605323) - -* Fri Jul 13 2018 Fedora Release Engineering - 2.1.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 2.1.1-12 -- Rebuilt for Python 3.7 - -* Thu May 10 2018 Troy Dawson - 2.1.1-11 -- Build with rdma-core-devel instead of libibcm-devel - -* Mon Apr 30 2018 Florian Weimer - 2.1.1-10 -- Rebuild with new flags from redhat-rpm-config - -* Fri Feb 09 2018 Igor Gnatenko - 2.1.1-9 -- Escape macros in %%changelog - -* Mon Feb 05 2018 Orion Poplawski - 2.1.1-8 -- Rebuild for rdma-core 16.2 - -* Wed Jan 31 2018 Christoph Junghans - 2.1.1-7 -- Rebuild for gfortran-8 - -* Fri Jan 12 2018 Iryna Shcherbina - 2.1.1-6 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Aug 23 2017 Adam Williamson - 2.1.1-5 -- Disable RDMA support on 32-bit ARM (#1484155) -- Disable hanging opal_fifo test on ppc64le (gh #2526 / #2966) - -* Thu Aug 03 2017 Fedora Release Engineering - 2.1.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 2.1.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Jul 19 2017 Orion Poplawski - 2.1.1-2 -- Provide pkgconfig files in the main namespace as well (1471512) - -* Fri May 12 2017 Orion Poplawski - 2.1.1-1 -- Update to 2.1.1 - -* Thu May 4 2017 Orion Poplawski - 2.1.0-1 -- Update to 2.1.0 - -* Sat Feb 11 2017 Fedora Release Engineering - 2.0.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Feb 2 2017 Orion Poplawski - 2.0.2-1 -- Update to 2.0.2 - -* Sat Jan 28 2017 Björn Esser - 2.0.1-7 -- Rebuilt for GCC-7 - -* Mon Dec 19 2016 Miro Hrončok - 2.0.1-6 -- Rebuild for Python 3.6 - -* Wed Nov 2 2016 Orion Poplawski - 2.0.1-5 -- Split python support into sub-packages (bug #1391157) - -* Thu Oct 27 2016 Dan Horák - 2.0.1-4 -- Temporarily disable C++ bindings on ppc64/ppc64le (#1388561) - -* Mon Oct 24 2016 Orion Poplawski - 2.0.1-3 -- Fix License tag format -- Use /usr/share/modulefiles for modulefile install location - -* Mon Oct 24 2016 Orion Poplawski - 2.0.1-2 -- Add upstream patch for thread wait issue with mpi4py - -* Fri Oct 21 2016 Orion Poplawski - 2.0.1-1 -- Update to 2.0.1 - -* Thu Oct 20 2016 Orion Poplawski - 1.10.4-4 -- Support s390(x) (bug #1358701) - -* Thu Oct 20 2016 Orion Poplawski - 1.10.4-3 -- Enable psm/psm2 support on x86_64 (bug #1263655) - -* Wed Oct 19 2016 Orion Poplawski - 1.10.4-2 -- Enable MPI_THREAD_MULTIPLE support (bug #1369989) - -* Wed Oct 19 2016 Orion Poplawski - 1.10.4-1 -- Update to 1.10.4 - -* Thu Sep 15 2016 Orion Poplawski - 1.10.3-3 -- Rebuild for papi 5.5.0 - -* Fri Jun 24 2016 Orion Poplawski - 1.10.3-2 -- Use bundled libevent, system version causes issues (bug #1235044) - -* Wed Jun 15 2016 Orion Poplawski - 1.10.3-1 -- Update to 1.10.3 -- New javadoc location - -* Thu Feb 04 2016 Fedora Release Engineering - 1.10.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jan 26 2016 Orion Poplawski - 1.10.2-2 -- Rebuild for papi 5.4.3 - -* Thu Jan 21 2016 Orion Poplawski - 1.10.2-1 -- Update to 1.10.2 -- Drop upsream nbc_copy patch - -* Tue Nov 10 2015 Orion Poplawski - 1.10.1-3 -- Add upstream patch to fix zero size message - -* Tue Nov 10 2015 Fedora Release Engineering - 1.10.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Thu Nov 5 2015 Orion Poplawski - 1.10.1-1 -- Update to 1.10.1 -- Require environment(modules) -- Fixup fortran module install (bug #1154982) - -* Tue Oct 6 2015 Orion Poplawski - 1.10.0-3 -- Do not set CFLAGS in %%_openmpi_load - -* Wed Sep 16 2015 Orion Poplawski - 1.10.0-2 -- Add patch to add needed opal/util/argv.h includes - -* Tue Sep 15 2015 Orion Poplawski - 1.10.0-1 -- Update to 1.10.0 - -* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek - 1.8.8-5 -- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563) - -* Mon Aug 24 2015 Orion Poplawski 1.8.8-4 -- Disable valgrind only on s390 - -* Mon Aug 17 2015 Orion Poplawski 1.8.8-3 -- Do not filter libvt* provides as some dependencies link to it - -* Mon Aug 10 2015 Sandro Mani - 1.8.8-2 -- Require, BuildRequire: rpm-mpi-hooks - -* Mon Aug 10 2015 Orion Poplawski 1.8.8-1 -- Update to 1.8.8 -- Drop atomic patch applied upstream - -* Wed Jul 15 2015 Orion Poplawski 1.8.7-1 -- Update to 1.8.7 - -* Tue Jun 23 2015 Orion Poplawski 1.8.6-1 -- Update to 1.8.6 - -* Thu Jun 18 2015 Fedora Release Engineering - 1.8.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Tue May 5 2015 Orion Poplawski 1.8.5-1 -- Update to 1.8.5 - -* Fri May 1 2015 Orion Poplawski 1.8.5-0.2.rc3 -- Update to 1.8.5rc3 - -* Sun Apr 5 2015 Orion Poplawski 1.8.5-0.1.rc1 -- Update to 1.8.5rc1 - -* Mon Mar 30 2015 Orion Poplawski 1.8.4-7.20150324gitg9ad2aa8 -- Add upstream patch to fix race/hang on 32bit machines - -* Fri Mar 27 2015 Orion Poplawski 1.8.4-6.20150324gitg9ad2aa8 -- Update to latest 1.8.4 snapshot -- Add upstream patch to fix atomics on 32bit - -* Mon Mar 23 2015 Zbigniew Jędrzejewski-Szmek - 1.8.4-5.20150228gitgd83fb30 -- Rebuild for fortran update (#1204420) - -* Mon Mar 16 2015 Orion Poplawski 1.8.4-4.99.20150228gitgd83fb30 -- Own and ship pkgconfig files, set PKG_CONFIG_PATH in modulefile (bug #1113626) -- Drop old configure settings - -* Wed Mar 4 2015 Orion Poplawski 1.8.4-3.99.20150228gitgd83fb30 -- Update to 1.8.4.99 snapshot - -* Fri Feb 13 2015 Orion Poplawski 1.8.4-2 -- Fix MPI_FORTRAN_MOD_DIR (bug #1154982) - -* Tue Dec 23 2014 Orion Poplawski 1.8.4-1 -- Update to 1.8.4 - -* Mon Nov 17 2014 Orion Poplawski 1.8.3-3 -- Rebuild for papi soname change - -* Fri Oct 3 2014 Orion Poplawski 1.8.3-2 -- Fix typo in oshmem library name - -* Sat Sep 27 2014 Orion Poplawski 1.8.3-1 -- Update to 1.8.3 - -* Tue Sep 16 2014 Peter Robinson 1.8.2-2 -- ppc64le now has valgrind - -* Tue Aug 26 2014 Orion Poplawski 1.8.2-1 -- Update to 1.8.2 - -* Sun Aug 17 2014 Fedora Release Engineering - 1.8.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Wed Aug 6 2014 Peter Robinson 1.8.1-6 -- Rebuild (papi) - -* Mon Aug 4 2014 Dan Horák 1.8.1-5 -- no valgrind on ppc64le yet - -* Sat Aug 2 2014 Peter Robinson 1.8.1-4 -- aarch64 now has valgrind - -* Thu Jul 17 2014 Orion Poplawski 1.8.1-3 -- Add patch to prevent shmem wrappers from adding extra libs - -* Sat Jun 07 2014 Fedora Release Engineering - 1.8.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed Apr 23 2014 Orion Poplawski 1.8.1-1 -- Update to 1.8.1, fixes bug #1089044 - -* Tue Apr 1 2014 Orion Poplawski 1.8-1 -- Update to 1.8 - -* Tue Mar 25 2014 Orion Poplawski 1.7.5-2 -- Update provides filter - -* Mon Mar 24 2014 Orion Poplawski 1.7.5-1 -- Update to 1.7.5 - -* Fri Feb 21 2014 Orion Poplawski - 1.7.4-3 -- Require java-headless - -* Sat Feb 8 2014 Ville Skyttä - 1.7.4-2 -- Install macros to %%{_rpmconfdir}/macros.d where available. - -* Wed Feb 5 2014 Orion Poplawski 1.7.4-1 -- Update to 1.7.4 -- Drop format patch fixed upstream -- Build against system libevent -- Build Java mpi bindings, ship in -java sub-package -- Add requires openssh-clients - -* Tue Jan 28 2014 Peter Robinson 1.7.3-5 -- Drop mode/modeflag. mode no longer used, modeflag obsolete as set in CFLAGS -- Use distro LDFLAGS for hardened build -- Drop armv5tel options -- General spec cleanups - -* Thu Jan 16 2014 Orion Poplawski 1.7.3-4 -- Rebuild with papi 5.3.0 - -* Wed Dec 4 2013 Peter Robinson 1.7.3-3 -- valgrind not currently supported on aarch64 - -* Tue Dec 3 2013 Orion Poplawski 1.7.3-2 -- Fix compilation with -Werror=format-security (bug #1037231) - -* Sun Oct 20 2013 Orion Poplawski 1.7.3-1 -- Update to 1.7.3 -- Upstream no longer ships license incompatible files - -* Fri Aug 16 2013 Orion Poplawski 1.7.2-7 -- Move orte* compiler wrappers to devel sub-package (bug #997330) - -* Thu Aug 08 2013 Dennis Gilmore - 1.7.2-6 -- rebuild for papi soname bump bz#995092 - -* Sat Aug 03 2013 Petr Pisar - 1.7.2-5 -- Perl 5.18 rebuild - -* Fri Jul 26 2013 Orion Poplawski 1.7.2-4 -- Fix build issue with _cc_name_suffix (bug #986664) - -* Mon Jul 22 2013 Deji Akingunola - 1.7.2-3 -- Rebuild for papi's shared lib fix - -* Wed Jul 17 2013 Petr Pisar - 1.7.2-2 -- Perl 5.18 rebuild - -* Thu Jun 27 2013 Orion Poplawski 1.7.2-1 -- Update to 1.7.2 - -* Wed Apr 17 2013 Orion Poplawski 1.7.1-1 -- Update to 1.7.1 -- Add BR on hwloc -- Add BR on papi-devel - -* Tue Apr 16 2013 Orion Poplawski 1.7-1 -- Update to 1.7 -- Rebase patch to handle removed components -- Drop esmtp - no longer used - -* Sat Feb 23 2013 Orion Poplawski 1.6.4-2 -- Exclude libopen-trace.* from requires - -* Fri Feb 22 2013 Orion Poplawski 1.6.4-1 -- Update to 1.6.4 -- Drop f90sover and arm-atomics patch fixed upstream - -* Mon Jan 28 2013 Orion Poplawski 1.6.3-7 -- Make __requires_exclude more specific so we don't exclude needed libs - (bug #905263) - -* Sun Nov 18 2012 Peter Robinson 1.6.3-6 -- Update atomics patch for ARM (thanks to Jon Masters) - -* Sun Nov 11 2012 Peter Robinson 1.6.3-5 -- Atomics patch to fix building on ARM (thanks to Jon Masters) - -* Mon Nov 5 2012 Orion Poplawski 1.6.3-4 -- Add patch to fix libmpi_f90.so version -- Add patch to link tests with system libltdl -- Run make check - -* Fri Nov 2 2012 Orion Poplawski 1.6.3-3 -- Set enable-opal-multi-threads for IB support - -* Thu Nov 1 2012 Orion Poplawski 1.6.3-2 -- Update rpm macros to use the new module location - -* Wed Oct 31 2012 Orion Poplawski 1.6.3-1 -- Update to 1.6.3 - -* Sat Oct 13 2012 Orion Poplawski 1.6.2-1 -- Update to 1.6.2 -- Add BR torque-devel to enable torque support -- Drop old module file location (bug #838467) - -* Thu Sep 13 2012 Orion Poplawski 1.6.1-2 -- Drop adding -fPIC, no longer needed -- Set --disable-silent-rules for more verbose build logs -- Don't add opt_*flags to the wrappers -- Only use $RPM_OPT_FLAGS if not using the opt_*flags - -* Thu Aug 23 2012 Orion Poplawski 1.6.1-1 -- Update to 1.6.1 -- Drop hostfile patch applied upstream - -* Fri Jul 20 2012 Fedora Release Engineering - 1.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue May 15 2012 Orion Poplawski 1.6-2 -- Add patch from upstream to fix default hostfile location - -* Tue May 15 2012 Orion Poplawski 1.6-1 -- Update to 1.6 -- Drop arm patch, appears to be addressed upstream -- Remove extraneous wrapper link libraries (bug 814798) - -* Tue Apr 3 2012 Peter Robinson - 1.5.5-1 -- Update to 1.5.5 - -* Tue Feb 28 2012 Fedora Release Engineering - 1.5.4-5.1 -- Rebuilt for c++ ABI breakage - -* Wed Feb 22 2012 Orion Poplawski 1.5.4-4.1 -- Rebuild with hwloc 1.4 - -* Wed Feb 15 2012 Peter Robinson - 1.5.4-4 -- Rebuild for hwloc soname bump - -* Fri Jan 20 2012 Doug Ledford - 1.5.4-3 -- Move modules file to mpi directory and make it conflict with any other - mpi module (bug #651074) - -* Sun Jan 8 2012 Orion Poplawski 1.5.4-2 -- Rebuild with gcc 4.7 (bug #772443) - -* Thu Nov 17 2011 Orion Poplawski 1.5.4-1 -- Update to 1.5.4 -- Drop dt-textrel patch fixed upstream -- Fixup handling removed files (bug #722534) -- Uses hwloc instead of plpa -- Exclude private libraries from provides/requires (bug #741104) -- Drop --enable-mpi-threads & --enable-openib-ibcm, no longer recognized - -* Sat Jun 18 2011 Peter Robinson 1.5-4 -- Exclude ARM platforms due to current lack of "atomic primitives" on the platform - -* Thu Mar 17 2011 Jay Fenlason 1.5-3 -- Add dt-textrel patch to close - Resolves: bz679489 -- Add memchecker and esmtp support - Resolves: bz647011 - -* Tue Feb 08 2011 Fedora Release Engineering - 1.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Oct 18 2010 Jay Fenlason 1.5-1 -- set MANPATH in openmpi module file -- Upgrade to 1.5 -- Workaround for rhbz#617766 appears to no longer be needed for 1.5 -- remove pkgconfig files in instal -- Remove orteCC.1 dangling symlink -- Adjust the files entries for share/openmpi/help* and share/openmpi/mca* -- Adjust the files entries for share/openmpi/mpi* -- Add files entry for share/openmpi/orte*.txt - -* Sun Sep 05 2010 Dennis Gilmore - 1.4.1-7 -- disable valgrind support on sparc arches - -* Sat Jul 24 2010 David Malcolm - 1.4.1-6 -- workaround for rhbz#617766 - -* Wed Jul 21 2010 David Malcolm - 1.4.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Mon Mar 29 2010 Jay Fenlason - 1.4.1-4 -- Update to fix licencing and packaging issues: - Use the system plpa and ltdl librarires rather than the ones in the tarball - Remove licence incompatible files from the tarball. -- update module.in to prepend-path PYTHONPATH - -* Tue Mar 9 2010 Jay Fenlason - 1.4.1-3 -- remove the pkgconfig file completely like we did in RHEL. - -* Tue Jan 26 2010 Jay Fenlason - 1.4.1-2 -- BuildRequires: python - -* Tue Jan 26 2010 Jay Fenlason - 1.4.1-1 -- New upstream version, which includes the changeset_r22324 patch. -- Correct a typo in the Source0 line in this spec file. - -* Fri Jan 15 2010 Doug Ledford - 1.4-4 -- Fix an issue with usage of _cc_name_suffix that cause a broken define in - our module file - -* Fri Jan 15 2010 Doug Ledford - 1.4-3 -- Fix pkgconfig file substitution -- Bump version so we are later than the equivalent version from Red Hat - Enterprise Linux - -* Wed Jan 13 2010 Doug Ledford - 1.4-1 -- Update to latest upstream stable version -- Add support for libibcm usage -- Enable sge support via configure options since it's no longer on by default -- Add patch to resolve allreduce issue (bz538199) -- Remove no longer needed patch for Chelsio cards - -* Tue Sep 22 2009 Jay Fenlason - 1.3.3-6 -- Create and own man* directories for use by dependent packages. - -* Wed Sep 16 2009 Jay Fenlason - 1.3.3-5 -- Move the module file from %%{_datadir}/Modules/modulefiles/%%{namearch} to - %%{_sysconfdir}/modulefiles/%%{namearch} where it belongs. -- Have the -devel subpackage own the man1 and man7 directories for completeness. -- Add a blank line before the clean section. -- Remove --enable-mpirun-prefix-by-default from configure. - -* Wed Sep 9 2009 Jay Fenlason - 1.3.3-4 -- Modify packaging to conform to - https://fedoraproject.org/wiki/PackagingDrafts/MPI (bz521334). -- remove --with-ft=cr from configure, as it was apparently causing problems - for some people. -- Add librdmacm-devel and librdmacm to BuildRequires (related bz515565). -- Add openmpi-bz515567.patch to add support for the latest Chelsio device IDs - (related bz515567). -- Add exclude-arch (s390 s390x) because we don't have required -devel packages - there. - -* Sat Jul 25 2009 Fedora Release Engineering - 1.3.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Tue Jul 21 2009 Doug Ledford - 1.3.3-2 -- Add MPI_BIN and MPI_LIB to the modules file (related bz511099) - -* Tue Jul 21 2009 Doug Ledford - 1.3.3-1 -- Make sure all created dirs are owned (bz474677) -- Fix loading of pkgconfig file (bz476844) -- Resolve file conflict between us and libotf (bz496131) -- Resolve dangling symlinks issue (bz496909) -- Resolve unexpanded %%{mode} issues (bz496911) -- Restore -devel subpackage (bz499851) -- Make getting the default openmpi devel environment easier (bz504357) -- Make the -devel package pull in the base package (bz459458) -- Make it easier to use alternative compilers to build package (bz246484) - -* Sat Jul 18 2009 Jussi Lehtola - 1.3.1-4 -- Add Provides: openmpi-devel to fix other package builds in rawhide. - -* Fri May 08 2009 Lubomir Rintel - 1.3.1-3 -- Treat i586 the same way as i386 - -* Wed Apr 22 2009 Doug Ledford - 1.3.1-2 -- fixed broken update -- Resolves: bz496909, bz496131, bz496911 - -* Tue Apr 14 2009 Tom "spot" Callaway - 1.3.1-1 -- update to 1.3.1, cleanup alternatives, spec, make new vt subpackage - -* Thu Feb 26 2009 Fedora Release Engineering - 1.2.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Mon Feb 18 2008 Fedora Release Engineering - 1.2.4-2 -- Autorebuild for GCC 4.3 - -* Wed Oct 17 2007 Doug Ledford - 1.2.4-1 -- Update to 1.2.4 upstream version -- Build against libtorque -- Pass a valid mode to open -- Resolves: bz189441, bz265141 - -* Tue Aug 28 2007 Fedora Release Engineering - 1.2.3-5 -- Rebuild for selinux ppc32 issue. - -* Mon Jul 16 2007 Doug Ledford - 1.2.3-4 -- Fix a directory permission problem on the base openmpi directories - -* Thu Jul 12 2007 Florian La Roche - 1.2.3-3 -- requires alternatives for various sub-rpms - -* Mon Jul 02 2007 Doug Ledford - 1.2.3-2 -- Fix dangling symlink issue caused by a bad macro usage -- Resolves: bz246450 - -* Wed Jun 27 2007 Doug Ledford - 1.2.3-1 -- Update to latest upstream version -- Fix file ownership on -libs package -- Take a swing at solving the multi-install compatibility issues - -* Mon Feb 19 2007 Doug Ledford - 1.1.1-7 -- Bump version to be at least as high as the RHEL4U5 openmpi -- Integrate fixes made in RHEL4 openmpi into RHEL5 (fix a multilib conflict - for the openmpi.module file by moving from _datadir to _libdir, make sure - all sed replacements have the g flag so they replace all instances of - the marker per line, not just the first, and add a %%defattr tag to the - files section of the -libs package to avoid install errors about - brewbuilder not being a user or group) -- Resolves: bz229298 - -* Wed Jan 17 2007 Doug Ledford - 1.1.1-5 -- Remove the FORTIFY_SOURCE and stack protect options -- Related: bz213075 - -* Fri Oct 20 2006 Doug Ledford - 1.1.1-4 -- Bump and build against the final openib-1.1 package - -* Wed Oct 18 2006 Doug Ledford - 1.1.1-3 -- Fix an snprintf length bug in opal/util/cmd_line.c -- RESOLVES: rhbz#210714 - -* Wed Oct 18 2006 Doug Ledford - 1.1.1-2 -- Bump and build against openib-1.1-0.pre1.1 instead of 1.0 - -* Tue Oct 17 2006 Doug Ledford - 1.1.1-1 -- Update to upstream 1.1.1 version - -* Fri Oct 13 2006 Doug Ledford - 1.1-7 -- ia64 can't take -m64 on the gcc command line, so don't set it there - -* Wed Oct 11 2006 Doug Ledford - 1.1-6 -- Bump rev to match fc6 rev -- Fixup some issue with alternatives support -- Split the 32bit and 64bit libs ld.so.conf.d files into two files so - multilib or single lib installs both work properly -- Put libs into their own package -- Add symlinks to /usr/share/openmpi/bin%%{mode} so that opal_wrapper-%%{mode} - can be called even if it isn't the currently selected default method in - the alternatives setup (opal_wrapper needs to be called by mpicc, mpic++, - etc. in order to determine compile mode from argv[0]). - -* Sun Aug 27 2006 Doug Ledford - 1.1-4 -- Make sure the post/preun scripts only add/remove alternatives on initial - install and final removal, otherwise don't touch. - -* Fri Aug 25 2006 Doug Ledford - 1.1-3 -- Don't ghost the mpi.conf file as that means it will get removed when - you remove 1 out of a number of alternatives based packages -- Put the .mod file in -devel - -* Mon Aug 7 2006 Doug Ledford - 1.1-2 -- Various lint cleanups -- Switch to using the standard alternatives mechanism instead of a home - grown one - -* Wed Aug 2 2006 Doug Ledford - 1.1-1 -- Upgrade to 1.1 -- Build with Infiniband support via openib - -* Mon Jun 12 2006 Jason Vas Dias - 1.0.2-1 -- Upgrade to 1.0.2 - -* Wed Feb 15 2006 Jason Vas Dias - 1.0.1-1 -- Import into Fedora Core -- Resolve LAM clashes - -* Wed Jan 25 2006 Orion Poplawski - 1.0.1-2 -- Use configure options to install includes and libraries -- Add ld.so.conf.d file to find libraries -- Add -fPIC for x86_64 - -* Tue Jan 24 2006 Orion Poplawski - 1.0.1-1 -- 1.0.1 -- Use alternatives - -* Sat Nov 19 2005 Ed Hill - 1.0-2 -- fix lam conflicts - -* Fri Nov 18 2005 Ed Hill - 1.0-1 -- initial specfile created - +%autochangelog From b020786425b938ecc2474a709f9a230efcbcf7f1 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 1 Mar 2025 14:38:52 -0700 Subject: [PATCH 53/73] Add patch to handle new OpenJDK location --- 13117.patch | 23 +++++++++++++++++++++++ openmpi.spec | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 13117.patch diff --git a/13117.patch b/13117.patch new file mode 100644 index 0000000..0082455 --- /dev/null +++ b/13117.patch @@ -0,0 +1,23 @@ +From 2ea6bfb8d6b32a4a2ddc79dbf1043d0cef8e221c Mon Sep 17 00:00:00 2001 +From: Orion Poplawski +Date: Sat, 1 Mar 2025 14:25:18 -0700 +Subject: [PATCH] Latest Fedora has dropped the arch suffix from the openjdk + directory + +--- + config/ompi_setup_java.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/ompi_setup_java.m4 b/config/ompi_setup_java.m4 +index b0212b230e7..02029b83dd6 100644 +--- a/config/ompi_setup_java.m4 ++++ b/config/ompi_setup_java.m4 +@@ -101,7 +101,7 @@ AC_DEFUN([_OMPI_SETUP_JAVA],[ + if test "$ompi_java_found" = "0"; then + # Various Linux + if test -z "$JAVA_HOME"; then +- ompi_java_dir='/usr/lib/jvm/java-*-openjdk-*/include/' ++ ompi_java_dir='/usr/lib/jvm/java-*-openjdk*/include/' + else + ompi_java_dir=$JAVA_HOME/include + fi diff --git a/openmpi.spec b/openmpi.spec index d270036..5e71ec4 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -54,7 +54,7 @@ %bcond_without pmix # Run autogen - needed for some patches -%bcond_with autogen +%bcond autogen 1 Name: openmpi%{?_cc_name_suffix} Version: 5.0.6 @@ -72,6 +72,9 @@ Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi +# Fix JAVA_HOME search +Patch: https://github.com/open-mpi/ompi/pull/13117.patch + BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: make From 61df4659f6b2c4605045127e9a41a75e6bbeb5a2 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Fri, 4 Apr 2025 12:25:05 +0200 Subject: [PATCH 54/73] Rebuild for PMIX 5.0.7 From adb4f4609eeb94b2a074f57cb73a622587778e17 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 12:07:10 +0200 Subject: [PATCH 55/73] Rebuilt for Python 3.14 From 79bdb19e780c9e0ccbbe961403ef349116cbc24e Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 1 Jun 2025 21:22:19 -0600 Subject: [PATCH 56/73] Update to 5.0.8 Add upstream patch to fix s390x alignments --- .gitignore | 1 + 13117.patch | 23 ----------------------- 13281.patch | 30 ++++++++++++++++++++++++++++++ openmpi.spec | 11 +++-------- sources | 2 +- 5 files changed, 35 insertions(+), 32 deletions(-) delete mode 100644 13117.patch create mode 100644 13281.patch diff --git a/.gitignore b/.gitignore index 98ccb0c..3ca97ee 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-5.0.3.tar.bz2 /openmpi-5.0.5.tar.bz2 /openmpi-5.0.6.tar.bz2 +/openmpi-5.0.8.tar.bz2 diff --git a/13117.patch b/13117.patch deleted file mode 100644 index 0082455..0000000 --- a/13117.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 2ea6bfb8d6b32a4a2ddc79dbf1043d0cef8e221c Mon Sep 17 00:00:00 2001 -From: Orion Poplawski -Date: Sat, 1 Mar 2025 14:25:18 -0700 -Subject: [PATCH] Latest Fedora has dropped the arch suffix from the openjdk - directory - ---- - config/ompi_setup_java.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/ompi_setup_java.m4 b/config/ompi_setup_java.m4 -index b0212b230e7..02029b83dd6 100644 ---- a/config/ompi_setup_java.m4 -+++ b/config/ompi_setup_java.m4 -@@ -101,7 +101,7 @@ AC_DEFUN([_OMPI_SETUP_JAVA],[ - if test "$ompi_java_found" = "0"; then - # Various Linux - if test -z "$JAVA_HOME"; then -- ompi_java_dir='/usr/lib/jvm/java-*-openjdk-*/include/' -+ ompi_java_dir='/usr/lib/jvm/java-*-openjdk*/include/' - else - ompi_java_dir=$JAVA_HOME/include - fi diff --git a/13281.patch b/13281.patch new file mode 100644 index 0000000..3bcfaf3 --- /dev/null +++ b/13281.patch @@ -0,0 +1,30 @@ +From d5c84ea4595ea1fbb5b213621e0966ebe0fd3cc9 Mon Sep 17 00:00:00 2001 +From: Joseph Schuchart +Date: Wed, 28 May 2025 10:11:58 -0400 +Subject: [PATCH] Force alignment of opal_atomic_int128_t to be 16B + +Some architectures will align 128bit integer on 8B but require 16B alignment +for 128bit CAS instructions and otherwise fall back to a lock-based +atomicity model. By forcing 16bit alignment we can ensure that the variables +are properly aligned and the fall-back is not triggered. + +Thanks to Ulrich Weigand for the analysis and proposed fix in https://github.com/open-mpi/ompi/issues/10988#issuecomment-2913388506. + +Signed-off-by: Joseph Schuchart +--- + opal/include/opal_stdatomic.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/opal/include/opal_stdatomic.h b/opal/include/opal_stdatomic.h +index 35437551208..f7dd8353d3b 100644 +--- a/opal/include/opal_stdatomic.h ++++ b/opal/include/opal_stdatomic.h +@@ -72,7 +72,7 @@ typedef _Atomic opal_int128_t opal_atomic_int128_t; + + # else + +-typedef volatile opal_int128_t opal_atomic_int128_t; ++typedef volatile opal_int128_t opal_atomic_int128_t __opal_attribute_aligned__(16); + + # endif + diff --git a/openmpi.spec b/openmpi.spec index 5e71ec4..5eb1b98 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -54,10 +54,10 @@ %bcond_without pmix # Run autogen - needed for some patches -%bcond autogen 1 +%bcond autogen 0 Name: openmpi%{?_cc_name_suffix} -Version: 5.0.6 +Version: 5.0.8 Release: %autorelease Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. @@ -72,8 +72,7 @@ Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi -# Fix JAVA_HOME search -Patch: https://github.com/open-mpi/ompi/pull/13117.patch +Patch0: https://github.com/open-mpi/ompi/pull/13281.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -330,10 +329,6 @@ install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth %check fail=1 -# Failing on s390x - https://github.com/open-mpi/ompi/issues/10988 -%ifarch s390x -fail=0 -%endif make check || ( cat test/*/test-suite.log && exit $fail ) %files diff --git a/sources b/sources index 435b836..1083caf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.6.tar.bz2) = 097f7bb18d506b362f16d46df308b387e3173068ba8688739db756919453e1fe947c6d8c2e098481617d8c6bbecb8990002db42f284b1732a80ef3edaaa29f20 +SHA512 (openmpi-5.0.8.tar.bz2) = de9128edaa1886f90f1452b8cee3c3962d7666beed96d7b95c601278c2debc7d7efecc9403792d428ce12131ce30416d6bc6bb657fb1a5490f53c6b6e369b080 From 792dbe38f0f838cc9b71d87db9ca0430cafb24e3 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 6 Jun 2025 09:33:57 +0200 Subject: [PATCH 57/73] Rebuilt for Python 3.14 From 7c735869e698da775e4c86e1e18b616b73e4c51c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 23:37:33 +0000 Subject: [PATCH 58/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From cf679b9c3377120a7fb3df62b273ca8ffdcfe855 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 30 Jul 2025 00:52:30 +0200 Subject: [PATCH 59/73] Rebuilt for java-25-openjdk as preffered jdk https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that. --- openmpi.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index 5eb1b98..8ce1041 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -97,7 +97,7 @@ BuildRequires: hwloc-devel # So configure can find lstopo BuildRequires: hwloc-gui %if %{with java} -BuildRequires: java-devel +BuildRequires: java-25-devel %else Obsoletes: %{name}-java < %{version}-%{release} Obsoletes: %{name}-java-devel < %{version}-%{release} @@ -190,7 +190,7 @@ HTML documentation for openmpi. %package java Summary: Java library Requires: %{name} = %{version}-%{release} -Requires: java-headless +Requires: java-25-headless %description java Java library. @@ -198,7 +198,7 @@ Java library. %package java-devel Summary: Java development files for openmpi Requires: %{name}-java = %{version}-%{release} -Requires: java-devel +Requires: java-25-devel %description java-devel Contains development wrapper for compiling Java with openmpi. From dbd8fb83f5baa2527c5f48e1e2622ff3537ceacd Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 31 Jul 2025 07:34:01 -0600 Subject: [PATCH 60/73] Drop old python2 support --- openmpi.module.in | 2 -- openmpi.pth.py2 | 1 - openmpi.spec | 33 --------------------------------- 3 files changed, 36 deletions(-) delete mode 100644 openmpi.pth.py2 diff --git a/openmpi.module.in b/openmpi.module.in index cdd31b9..71cdbc3 100644 --- a/openmpi.module.in +++ b/openmpi.module.in @@ -14,8 +14,6 @@ setenv MPI_FORTRAN_MOD_DIR @FMODDIR@ setenv MPI_INCLUDE @INCDIR@ setenv MPI_LIB @LIBDIR@/lib setenv MPI_MAN @MANDIR@ -setenv MPI_PYTHON_SITEARCH @PY2SITEARCH@ -setenv MPI_PYTHON2_SITEARCH @PY2SITEARCH@ setenv MPI_PYTHON3_SITEARCH @PY3SITEARCH@ setenv MPI_COMPILER @COMPILER@ setenv MPI_SUFFIX @SUFFIX@ diff --git a/openmpi.pth.py2 b/openmpi.pth.py2 deleted file mode 100644 index a2dc353..0000000 --- a/openmpi.pth.py2 +++ /dev/null @@ -1 +0,0 @@ -import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s)) diff --git a/openmpi.spec b/openmpi.spec index 8ce1041..a2cef26 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -5,12 +5,6 @@ %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) -%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8 -%bcond_with python2 -%else -%bcond_without python2 -%endif - %ifarch aarch64 ppc64le x86_64 %bcond_without ucx %else @@ -68,7 +62,6 @@ ExcludeArch: %{ix86} # We can't use %%{name} here because of _cc_name_suffix Source0: https://www.open-mpi.org/software/ompi/v5.0/downloads/openmpi-%{version}.tar.bz2 Source1: openmpi.module.in -Source2: openmpi.pth.py2 Source3: openmpi.pth.py3 Source4: macros.openmpi @@ -208,17 +201,6 @@ Contains development wrapper for compiling Java with openmpi. # particular package, version, compiler %global namearch openmpi-%{_arch}%{?_cc_name_suffix} -%if %{with python2} -%package -n python2-openmpi -Summary: OpenMPI support for Python 2 -BuildRequires: python2-devel -Requires: %{name} = %{version}-%{release} -Requires: python(abi) = %{python2_version} - -%description -n python2-openmpi -OpenMPI support for Python 2. -%endif - %package -n python%{python3_pkgversion}-openmpi Summary: OpenMPI support for Python 3 Requires: %{name} = %{version}-%{release} @@ -280,11 +262,6 @@ sed 's#@LIBDIR@#%{_libdir}/%{name}#; s#@FMODDIR@#%{_fmoddir}/%{name}#; s#@INCDIR@#%{_includedir}/%{namearch}#; s#@MANDIR@#%{_mandir}/%{namearch}#; -%if %{with python2} - s#@PY2SITEARCH@#%{python2_sitearch}/%{name}#; -%else - /@PY2SITEARCH@/d; -%endif s#@PY3SITEARCH@#%{python3_sitearch}/%{name}#; s#@COMPILER@#openmpi-%{_arch}%{?_cc_name_suffix}#; s#@SUFFIX@#%{?_cc_name_suffix}_openmpi#' \ @@ -320,10 +297,6 @@ sed -i -e s/-ldl// -e s/-lhwloc// \ %{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt # install .pth files -%if %{with python2} -mkdir -p %{buildroot}/%{python2_sitearch}/%{name} -install -pDm0644 %{SOURCE2} %{buildroot}/%{python2_sitearch}/openmpi.pth -%endif mkdir -p %{buildroot}/%{python3_sitearch}/%{name} install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth @@ -431,12 +404,6 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %{_mandir}/%{namearch}/man1/mpijavac.1.gz %endif -%if %{with python2} -%files -n python2-openmpi -%dir %{python2_sitearch}/%{name} -%{python2_sitearch}/openmpi.pth -%endif - %files -n python%{python3_pkgversion}-openmpi %dir %{python3_sitearch}/%{name} %{python3_sitearch}/openmpi.pth From a46a18a27fb99f82e00b811d236e3982096f0c32 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 31 Jul 2025 07:35:59 -0600 Subject: [PATCH 61/73] Disable ucx on ppx64le because it is broken - https://github.com/openucx/ucx/issues/10780 --- openmpi.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index a2cef26..d5f879b 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -5,7 +5,8 @@ %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) -%ifarch aarch64 ppc64le x86_64 +# ucx on ppc64le/power10 is broken https://github.com/openucx/ucx/issues/10780 +%ifarch aarch64 x86_64 %bcond_without ucx %else %bcond_with ucx From 03257e2bed2f2634e3711779083864eac8740383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Terje=20R=C3=B8sten?= Date: Tue, 21 Oct 2025 12:49:29 +0200 Subject: [PATCH 62/73] Rebuild for orangefs 2.10.1 From 2811785c6e4e954164cf59de83bbd0d5e172ac15 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 31 Oct 2025 07:47:05 -0600 Subject: [PATCH 63/73] Update to 5.0.9 --- .gitignore | 1 + 13281.patch | 30 ------------------------------ openmpi.spec | 4 +--- sources | 2 +- 4 files changed, 3 insertions(+), 34 deletions(-) delete mode 100644 13281.patch diff --git a/.gitignore b/.gitignore index 3ca97ee..c18a70a 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-5.0.5.tar.bz2 /openmpi-5.0.6.tar.bz2 /openmpi-5.0.8.tar.bz2 +/openmpi-5.0.9.tar.bz2 diff --git a/13281.patch b/13281.patch deleted file mode 100644 index 3bcfaf3..0000000 --- a/13281.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d5c84ea4595ea1fbb5b213621e0966ebe0fd3cc9 Mon Sep 17 00:00:00 2001 -From: Joseph Schuchart -Date: Wed, 28 May 2025 10:11:58 -0400 -Subject: [PATCH] Force alignment of opal_atomic_int128_t to be 16B - -Some architectures will align 128bit integer on 8B but require 16B alignment -for 128bit CAS instructions and otherwise fall back to a lock-based -atomicity model. By forcing 16bit alignment we can ensure that the variables -are properly aligned and the fall-back is not triggered. - -Thanks to Ulrich Weigand for the analysis and proposed fix in https://github.com/open-mpi/ompi/issues/10988#issuecomment-2913388506. - -Signed-off-by: Joseph Schuchart ---- - opal/include/opal_stdatomic.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/opal/include/opal_stdatomic.h b/opal/include/opal_stdatomic.h -index 35437551208..f7dd8353d3b 100644 ---- a/opal/include/opal_stdatomic.h -+++ b/opal/include/opal_stdatomic.h -@@ -72,7 +72,7 @@ typedef _Atomic opal_int128_t opal_atomic_int128_t; - - # else - --typedef volatile opal_int128_t opal_atomic_int128_t; -+typedef volatile opal_int128_t opal_atomic_int128_t __opal_attribute_aligned__(16); - - # endif - diff --git a/openmpi.spec b/openmpi.spec index d5f879b..eb7f409 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -52,7 +52,7 @@ %bcond autogen 0 Name: openmpi%{?_cc_name_suffix} -Version: 5.0.8 +Version: 5.0.9 Release: %autorelease Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. @@ -66,8 +66,6 @@ Source1: openmpi.module.in Source3: openmpi.pth.py3 Source4: macros.openmpi -Patch0: https://github.com/open-mpi/ompi/pull/13281.patch - BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: make diff --git a/sources b/sources index 1083caf..4af497e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.8.tar.bz2) = de9128edaa1886f90f1452b8cee3c3962d7666beed96d7b95c601278c2debc7d7efecc9403792d428ce12131ce30416d6bc6bb657fb1a5490f53c6b6e369b080 +SHA512 (openmpi-5.0.9.tar.bz2) = d7f700d6f412c6ff6d2f0d71da6dff9c88039e4c0693ff4f68c9cf4e9705744c362ac7afa916c7d7c6389832a1c8b4681b567a8521df3abdab22c581157cc5d0 From 0f5839e45810f28682bdd5d38a104d27b15387c1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 22:58:03 +0000 Subject: [PATCH 64/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From fc3843f7f12b1c475939a0cdf886a0c15ec6369e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 28 Jan 2026 08:55:30 +0100 Subject: [PATCH 65/73] migrate license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- openmpi.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index eb7f409..ea0807d 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -56,7 +56,15 @@ Version: 5.0.9 Release: %autorelease Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. -License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-MIT AND LicenseRef-Romio +# main code is BSD-3-Clause-Open-MPI +# 3rd-party/romio341 is mpich2 +# 3rd-party/treematch is BSD-3-Clause +# oshmem/mca/memheap/ptmalloc/malloc.c is LicenseRef-Fedora-Public-Domain +# opal/util/qsort.c is BSD-4-Clause-UC +# java/ (in subpackage) is Apache-2.0 +# 3rd-party/openpmix/src/mca/psec/munge/psec_munge.c is LGPL-2.0-or-later +# doc/ see bellow in subpackage +License: BSD-3-Clause-Open-MPI AND mpich2 AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND BSD-4-Clause-UC URL: http://www.open-mpi.org/ ExcludeArch: %{ix86} @@ -173,6 +181,7 @@ Contains development headers and libraries for openmpi. %package doc Summary: HTML documentation for openmpi +License: BSD-3-Clause AND BSD-3-Clause-Open-MPI AND mpich2 AND MIT AND (MIT OR GPL-2.0-or-later) AND (OFL-1.1 AND MIT) BuildArch: noarch %description doc @@ -181,6 +190,7 @@ HTML documentation for openmpi. %if %{with java} %package java Summary: Java library +License: Apache-2.0 Requires: %{name} = %{version}-%{release} Requires: java-25-headless @@ -189,6 +199,7 @@ Java library. %package java-devel Summary: Java development files for openmpi +License: Apache-2.0 Requires: %{name}-java = %{version}-%{release} Requires: java-25-devel From ddbbcc8a9cf0392f91f018d527cc0f9045153d71 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 5 Mar 2026 08:52:20 -0700 Subject: [PATCH 66/73] Add patches to fix building with gcc 16 (FTBFS rhbz#2434889) --- openmpi-braces.patch | 16 ++++++++++++++++ openmpi-inline.patch | 13 +++++++++++++ openmpi.spec | 4 ++++ 3 files changed, 33 insertions(+) create mode 100644 openmpi-braces.patch create mode 100644 openmpi-inline.patch diff --git a/openmpi-braces.patch b/openmpi-braces.patch new file mode 100644 index 0000000..61b3c59 --- /dev/null +++ b/openmpi-braces.patch @@ -0,0 +1,16 @@ +diff --git a/oshmem/mca/memheap/base/memheap_base_frame.c b/oshmem/mca/memheap/base/memheap_base_frame.c +index 53a71b27a9..82658e0979 100644 +--- a/oshmem/mca/memheap/base/memheap_base_frame.c ++++ b/oshmem/mca/memheap/base/memheap_base_frame.c +@@ -33,9 +33,9 @@ + + int mca_memheap_base_output = -1; + int mca_memheap_base_key_exchange = 1; +-opal_list_t mca_memheap_base_components_opened = {{0}}; ++opal_list_t mca_memheap_base_components_opened = {}; + int mca_memheap_base_already_opened = 0; +-mca_memheap_map_t mca_memheap_base_map = {{{{0}}}}; ++mca_memheap_map_t mca_memheap_base_map = {}; + int mca_memheap_num_segments_warn = 32; + + static int mca_memheap_base_register(mca_base_register_flag_t flags) diff --git a/openmpi-inline.patch b/openmpi-inline.patch new file mode 100644 index 0000000..dd901e8 --- /dev/null +++ b/openmpi-inline.patch @@ -0,0 +1,13 @@ +diff --git a/ompi/mca/part/persist/part_persist.h b/ompi/mca/part/persist/part_persist.h +index ccc8f8f197..86fb9bac42 100644 +--- a/ompi/mca/part/persist/part_persist.h ++++ b/ompi/mca/part/persist/part_persist.h +@@ -490,7 +490,7 @@ mca_part_persist_psend_init(const void* buf, + return err; + } + +-__opal_attribute_always_inline__ static inline int ++static inline int + mca_part_persist_start(size_t count, ompi_request_t** requests) + { + int err = OMPI_SUCCESS; diff --git a/openmpi.spec b/openmpi.spec index ea0807d..ac8b67d 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -73,6 +73,10 @@ Source0: https://www.open-mpi.org/software/ompi/v5.0/downloads/openmpi-%{ Source1: openmpi.module.in Source3: openmpi.pth.py3 Source4: macros.openmpi +# Fix always inline failure - https://github.com/open-mpi/ompi/pull/13756 +Patch: openmpi-inline.patch +# Fix brace initialization - https://github.com/open-mpi/ompi/pull/13758 +Patch: openmpi-braces.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran From 44268f7cc876ad3218425ca66d4ba701d1b2acb0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 21 Feb 2026 11:47:53 -0700 Subject: [PATCH 67/73] Cleanup old rpm conditionals --- openmpi.spec | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index ac8b67d..0b6d632 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -107,9 +107,7 @@ Obsoletes: %{name}-java < %{version}-%{release} Obsoletes: %{name}-java-devel < %{version}-%{release} %endif # Old libevent causes issues -%if !0%{?el7} BuildRequires: libevent-devel -%endif BuildRequires: libfabric-devel %ifnarch s390x BuildRequires: papi-devel @@ -134,9 +132,7 @@ BuildRequires: libpsm2-devel BuildRequires: ucx-devel %endif BuildRequires: zlib-devel -%if !0%{?el7} BuildRequires: rpm-mpi-hooks -%endif %if %{with sphinx} # For docs BuildRequires: /usr/bin/sphinx-build @@ -145,10 +141,6 @@ BuildRequires: python3-sphinx_rtd_theme %endif Provides: mpi -%if 0%{?rhel} == 7 -# Need this for /etc/profile.d/modules.sh -Requires: environment-modules -%endif Requires: environment(modules) Requires: prrte # openmpi currently requires ssh to run @@ -172,13 +164,11 @@ researchers. For more information, see http://www.open-mpi.org/ . Summary: Development files for openmpi Requires: %{name} = %{version}-%{release}, gcc-gfortran Provides: mpi-devel -%if !0%{?el7} Requires: rpm-mpi-hooks # Make sure this package is rebuilt with correct Python version when updating # Otherwise mpi.req from rpm-mpi-hooks doesn't work # https://bugzilla.redhat.com/show_bug.cgi?id=1705296 Requires: (python(abi) = %{python3_version} if python3) -%endif %description devel Contains development headers and libraries for openmpi. @@ -254,12 +244,10 @@ OpenMPI support for Python 3. --enable-memchecker \ %endif --with-hwloc=/usr \ -%if !0%{?el7} --with-libevent=external \ %if %{with pmix} --with-pmix=external \ %endif -%endif %make_build V=1 @@ -354,9 +342,6 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %{_mandir}/%{namearch}/man7/Open-MPI.7* %{_libdir}/%{name}/lib/*.so.40* %{_libdir}/%{name}/lib/*.so.80* -%if 0%{?el7} -%{_libdir}/%{name}/lib/pmix/ -%endif %{_mandir}/%{namearch}/man1/mpirun.1* %{_mandir}/%{namearch}/man1/mpisync.1* %{_mandir}/%{namearch}/man1/ompi* @@ -369,9 +354,6 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %dir %{_libdir}/%{name}/share/openmpi %{_libdir}/%{name}/share/openmpi/amca-param-sets %{_libdir}/%{name}/share/openmpi/help*.txt -%if 0%{?el7} -%{_libdir}/%{name}/share/pmix/ -%endif %files devel %dir %{_includedir}/%{namearch} From b7ffd3ae60c61766e3f2444b94e7eb04009ab960 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 6 Mar 2026 19:22:46 -0700 Subject: [PATCH 68/73] Update to 5.0.10 --- .gitignore | 1 + openmpi.spec | 3 +-- sources | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c18a70a..d89aa68 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ openmpi-1.4.1-RH.tar.bz2 /openmpi-5.0.6.tar.bz2 /openmpi-5.0.8.tar.bz2 /openmpi-5.0.9.tar.bz2 +/openmpi-5.0.10.tar.bz2 diff --git a/openmpi.spec b/openmpi.spec index 0b6d632..56f1d56 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -52,7 +52,7 @@ %bcond autogen 0 Name: openmpi%{?_cc_name_suffix} -Version: 5.0.9 +Version: 5.0.10 Release: %autorelease Summary: Open Message Passing Interface # Automatically converted from old format: BSD and MIT and Romio - review is highly recommended. @@ -313,7 +313,6 @@ make check || ( cat test/*/test-suite.log && exit $fail ) %dir %{_libdir}/%{name}/bin %dir %{_libdir}/%{name}/lib %dir %{_libdir}/%{name}/lib/openmpi -%dir %{_libdir}/%{name}/lib/openmpi/cmake %dir %{_libdir}/%{name}/include %dir %{_mandir}/%{namearch} %dir %{_mandir}/%{namearch}/man* diff --git a/sources b/sources index 4af497e..34f655a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openmpi-5.0.9.tar.bz2) = d7f700d6f412c6ff6d2f0d71da6dff9c88039e4c0693ff4f68c9cf4e9705744c362ac7afa916c7d7c6389832a1c8b4681b567a8521df3abdab22c581157cc5d0 +SHA512 (openmpi-5.0.10.tar.bz2) = 24d29c2e88549e5a59f47dac0a2327db99644c59fd2991441d0ec23edb95aa7328fcd67bd44601ce9f11b0af90d36fddf82643e23f0f6e7c013c99f9bbd9738e From 107d2a8e740a4388f9ff5408c27be9e40603009d Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 3 Jun 2026 23:34:26 +0200 Subject: [PATCH 69/73] Rebuilt for Python 3.15 From 79e515a9bf35e6d41105bce95855cddef2a15b2c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 5 Jun 2026 22:07:40 -0600 Subject: [PATCH 70/73] Drop unused BuildRequires. [skip changelog] --- openmpi.spec | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index 56f1d56..efcd4a9 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -12,13 +12,7 @@ %bcond_with ucx %endif -# ARM 32-bit is not supported by rdma -# https://bugzilla.redhat.com/show_bug.cgi?id=1780584 -%ifarch %{arm} -%bcond_with rdma -%else %bcond_without rdma -%endif # No more Java on i686 %ifarch %{java_arches} @@ -90,7 +84,6 @@ BuildRequires: perl(File::Find) BuildRequires: valgrind-devel %endif %if %{with rdma} -BuildRequires: opensm-devel > 3.3.0 BuildRequires: rdma-core-devel %endif # Doesn't compile: @@ -98,8 +91,6 @@ BuildRequires: rdma-core-devel # loop->getLoopHead()->getStartAddress(), loop_stmts ); #BuildRequires: dyninst-devel BuildRequires: hwloc-devel -# So configure can find lstopo -BuildRequires: hwloc-gui %if %{with java} BuildRequires: java-25-devel %else @@ -121,8 +112,6 @@ BuildRequires: perl(Getopt::Long) %if %{with pmix} BuildRequires: pmix-devel >= 4.2.7 %endif -# For configure to find /usr/bin/prte -BuildRequires: prrte BuildRequires: prrte-devel BuildRequires: python%{python3_pkgversion}-devel %if %{with psm2} From e3e1783aa51a9010acaaddb72f4da229b2b6cdb7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jul 2026 10:28:49 +0000 Subject: [PATCH 71/73] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild From 32751bdeb8bc6afa610f6a3a42187a9421f141da Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 22 Jul 2026 10:56:02 +0200 Subject: [PATCH 72/73] Rebuilt for Python 3.15.0b4 ABI change From d46d1d9b6180eed7e96c07be60e6c55d532b588f Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Mon, 27 Jul 2026 16:06:23 +0200 Subject: [PATCH 73/73] Drop unused recommonmark Signed-off-by: Cristian Le --- openmpi-drop-recommonmark.patch | 31 +++++++++++++++++++++++++++++++ openmpi.spec | 5 +++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 openmpi-drop-recommonmark.patch diff --git a/openmpi-drop-recommonmark.patch b/openmpi-drop-recommonmark.patch new file mode 100644 index 0000000..9ee88a1 --- /dev/null +++ b/openmpi-drop-recommonmark.patch @@ -0,0 +1,31 @@ +diff -ru openmpi-5.0.10/config/oac/oac_setup_sphinx.m4 openmpi-5.0.10-new/config/oac/oac_setup_sphinx.m4 +--- openmpi-5.0.10/config/oac/oac_setup_sphinx.m4 2026-02-23 21:21:40.731399193 +0100 ++++ openmpi-5.0.10-new/config/oac/oac_setup_sphinx.m4 2026-07-27 17:10:12.450825327 +0200 +@@ -115,7 +115,7 @@ + author = 'Testing' + import sphinx_rtd_theme + # Note the extra quoting needed for square brackets because this is m4 +-extensions = [[ 'recommonmark', 'sphinx_rtd_theme', 'sphinx.ext.extlinks' ]] ++extensions = [[ 'sphinx_rtd_theme', 'sphinx.ext.extlinks' ]] + html_theme = 'sphinx_rtd_theme' + EOF + echo "Hello world" > index.rst +diff -ru openmpi-5.0.10/docs/conf.py openmpi-5.0.10-new/docs/conf.py +--- openmpi-5.0.10/docs/conf.py 2026-02-23 21:21:10.775279351 +0100 ++++ openmpi-5.0.10-new/docs/conf.py 2026-07-27 17:10:34.017830912 +0200 +@@ -174,7 +174,6 @@ + # ones. + import sphinx_rtd_theme + extensions = [ +- 'recommonmark', + "sphinx_rtd_theme", + "sphinx.ext.extlinks", + ] +diff -ru openmpi-5.0.10/docs/requirements.txt openmpi-5.0.10-new/docs/requirements.txt +--- openmpi-5.0.10/docs/requirements.txt 2026-02-23 21:21:10.811279501 +0100 ++++ openmpi-5.0.10-new/docs/requirements.txt 2026-07-27 17:10:43.482113314 +0200 +@@ -1,4 +1,3 @@ + sphinx>=4.2.0 +-recommonmark + docutils + sphinx-rtd-theme diff --git a/openmpi.spec b/openmpi.spec index efcd4a9..c0ecb85 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -43,7 +43,7 @@ %bcond_without pmix # Run autogen - needed for some patches -%bcond autogen 0 +%bcond autogen 1 Name: openmpi%{?_cc_name_suffix} Version: 5.0.10 @@ -71,6 +71,8 @@ Source4: macros.openmpi Patch: openmpi-inline.patch # Fix brace initialization - https://github.com/open-mpi/ompi/pull/13758 Patch: openmpi-braces.patch +# Drop unused recommonmark - https://github.com/open-mpi/ompi/pull/14215 +Patch: openmpi-drop-recommonmark.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -125,7 +127,6 @@ BuildRequires: rpm-mpi-hooks %if %{with sphinx} # For docs BuildRequires: /usr/bin/sphinx-build -BuildRequires: python3-recommonmark BuildRequires: python3-sphinx_rtd_theme %endif