| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: libopenblas_pthreads0 | Distribution: openSUSE Tumbleweed |
| Version: 0.3.29 | Vendor: openSUSE |
| Release: 7.1 | Build date: Wed Oct 15 13:00:10 2025 |
| Group: System/Libraries | Build host: reproducible |
| Size: 21770352 | Source RPM: openblas_pthreads-0.3.29-7.1.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: http://www.openblas.net | |
| Summary: An optimized BLAS library based on GotoBLAS2, pthreads version | |
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
BSD-3-Clause
* Wed Oct 15 2025 Andreas Schwab <schwab@suse.de>
- Reenable LTO on riscv64 as gcc has been fixed
* Fri May 30 2025 Richard Biener <rguenther@suse.com>
- For SLES16 target POWER9 instead of POWER8 which fixes the
issue with the reported sgemm testsuite fails. [bsc#1239545]
* Mon Mar 24 2025 Nicolas Morey <nicolas.morey@suse.com>
- Disable and remove support for gnu-hpc build flavours (bsc#1239982)
* Mon Mar 17 2025 Egbert Eich <eich@suse.com>
- Disable sgemmt and dgemmt tests in the test suite on power
when gcc-13 is used. It is known (bsc#1239134) that some
of these tests fail on this architecture when OpenBLAS
is being build with the said compiler version ever since
these tests were introduced.
With this will essentially restore the situation of the
version prior to the adition of these tests (0.3.26) where
one was unaware of the problem.
This is only a temporary measure and will be removed once
the issue with gcc-13 has been resolved.
- Remove: Link-library-with-z-noexecstack.patch
since `-Wa,--noexecstack -Wl,-z,noexecstack` are global options,
now.
* Fri Mar 14 2025 Egbert Eich <eich@suse.com>
- Use upstream patch for bsc#1239134 which is more friendly to the
non-affected power9 and power10 sub-architectures:
Replace:
Revert-ba47c7f4f301aad100ed166de338b86e01da8465.patch
by:
Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch
* Sat Mar 08 2025 Egbert Eich <eich@suse.com>
- Revert commit ba47c7f4f301aad100ed166de338b86e01da8465 to
prevent failures on Power8 (bsc#1239134)
* Add: Revert-ba47c7f4f301aad100ed166de338b86e01da8465.patch
- Add a script to run tests.
- Add bisect support.
* Wed Mar 05 2025 Egbert Eich <eich@suse.com>
- Update to version 0.2.29 (jsc#PED-9676):
General:
* Fixed a potential NULL pointer dereference in multithreaded builds.
* Added function aliases for `GEMMT` using its new name `GEMMTR`
adopted by Reference-BLAS.
* Fixed the behavior of the recently added `CBLAS_?GEMMT` functions
with row-major data.
* Improved thread scaling of multithreaded `SBGEMV`.
* Improved thread scaling of multithreaded `TRTRI`.
* Fixed compilation of the CBLAS testsuite with gcc14 (and no
Fortran compiler).
* Fixed placement of the `-fopenmp` flag and libsuffix in the
generated pkgconfig file.
* Improved the `CMakeConfig` file generated by the Makefile build.
* Fixed const-correctness of `cblas_?geadd` in `cblas.h`.
* Fixed a potential inaccuracy in multithreaded BLAS3 calls.
* Fixed empty implementations of `get`/`set_affinity` that print a
warning in OpenMP builds.
* Fixed function signatures for TRTRS in the converted C version of
LAPACK.
* Fixed omission of several single-precision LAPACK symbols in the
shared library.
* Improved build instructions for the provided "pybench" benchmarks.
* Improved documentation, including descriptions of environment
variables that affect build and runtime behavior.
* Added a separate "make install_tests" target for use with
cross-compilations.
* Integrated improvements and corrections from Reference-LAPACK:
- removed a comparison in LAPACKE `?tpmqrt` that is always false.
- fixed the leading dimension for B in tests for GGEV.
- replaced `the ?LARFT` functions with a recursive implementation.
arm64:
* Fixed a long-standing bug in the (generic) `c`/`zgemm_beta` kernel
that could lead to reads and writes outside the array bounds in some
circumstances.
* Rewrote cpu autodetection to scan all cores and return the highest
performing type.
* Improved the DGEMM performance for SVE targets and small matrix sizes.
* improved dimension criteria for forwarding from `GEMM` to `GEMV`
kernels.
* Added SVE kernels for `ROT` and `SWAP`.
* Improved SVE kernels for `SGEMV` and `DGEMV` on `A64FX` and
`NEOVERSEV1`.
* Fixed NRM2 implementations for generic SVE targets and the Neoverse N2.
x86_64:
* Fixed a wrong storage size in the SBGEMV kernel for Cooper Lake.
* Added cpu autodetection for Intel Granite Rapids.
* Added cpu autodetection for AMD Ryzen 5 series.
* Added optimized `SOMATCOPY_CT` for AVX-capable targets.
* fixed the fallback implementation of `GEMM3M` in GENERIC builds.
Power:
* Fixed multithreaded `SBGEMM`.
* Fixed a CMake build problem on POWER10.
* Improved the performance of SGEMV.
* Added vectorized implementations of `SBGEMV` and support for
forwarding 1xN `SBGEMM` to them.
* Fixed illegal instructions and potential memory overflow in SGEMM
on PPCG4.
* Fixed handling of NaN and Inf arguments in `SSCAL` and `DSCAL` on
PPC440,G4 and 970.
* Added improved `CGEMM` and `ZGEMM` kernels for POWER10.
Riscv64:
* Removed thread yielding overhead caused by `sched_yield`.
* Replaced some non-standard intrinsics with their official names.
* Fixed and sped up the implementations of `CGEMM`/`ZGEMM` `TCOPY`
for vector lenghts 128 and 256.
* Improved the performance of `SNRM2`/`DNRM2` for RVV1.0 targets.
* Added optimized `?OMATCOPY_CN` kernels for RVV1.0 targets.
- Add test package.
- Add flags: `-Wa,--noexecstack -Wl,-z,noexecstack` to make sure
stack is not executable. This works around problems in assembler
code for z.
- Make stack of empty cpuid.S non-executable as well.
* Wed Mar 05 2025 Egbert Eich <eich@suse.com>
- Set gcc versions for ppc64le (bsc#1239702)
* on SLE-15-SP6: v13
* on SLE-15-SP7: v14
* Mon Feb 03 2025 Andreas Schwab <schwab@suse.de>
- Disable LTO on riscv64 due to GCC#110812
* Thu Jan 02 2025 Egbert Eich <eich@suse.com>
- Update to version 0.3.28 (jsc#PED-9676):
* General:
+ Reworked the unfinished implementation of `HUGETLB` from GotoBLAS
for allocating huge memory pages as buffers on suitable systems.
+ Changed the unfinished implementation of `GEMM3M` for the generic
target on all architectures to at least forward to regular GEMM.
+ Improved multithreaded `GEMM` performance for large non-skinny
matrices.
+ Improved BLAS3 performance on larger multicore systems through
improved parallelism.
+ Improved performance of the initial memory allocation by reducing
locking overhead.
+ Improved performance of `GBMV` at small problem sizes by introducing
a size barrier for the switch to multithreading.
+ Added an implementation of the `CBLAS_GEMM_BATCH` extension.
+ Fixed corner cases involving the handling of NAN and INFINITY
arguments in `?SCAL` on all architectures.
+ Fixed NAN handling and potential accuracy issues in compilations
with Intel ICX by supplying a suitable fp-model option by default.
+ It is now possible to register a callback function that replaces
the built-in support for multithreading with an external backend
like TBB (`openblas_set_threads_callback_function`).
+ Fixed potential duplication of suffixes in shared library naming.
+ Improved C compiler detection by the build system to tolerate
more naming variants for gcc builds.
+ Fixed an unnecessary dependency of the utest on CBLAS.
+ Fixed spurious error reports from the BLAS extensions `utest`.
+ Fixed unwanted invocation of the `GEMM3M` tests in cross-
compilation.
+ Fixed a flaw in the makefile build that could lead to the
pkgconfig file containing an entry of `UNKNOWN` for the target
cpu after installing.
+ Integrated fixes from the Reference-LAPACK project:
- Fixed uninitialized variables in the LAPACK tests for `?QP3RK`.
- Fixed potential bounds error in `?UNHR_COL`/`?ORHR_COL`.
- Fixed potential infinite loop in the LAPACK testsuite.
- Make the variable type used for hidden length arguments
configurable.
+ Fixed `SYTRD` workspace computation and various typos.
+ Prevent compiler use of FMA that could increase numerical
error in `?GEEVX`.
* x86-64:
+ Fixed a potential thread buffer overrun in `SBSTOBF16` on small
systems.
+ Fixed an accuracy issue in `ZSCAL` introduced in 0.3.26.
+ Added support for Intel Emerald Rapids and Meteor Lake CPUs.
+ Added autodetection support for the Zhaoxin KX-7000 CPU.
+ Fixed autodetection of Intel Prescott (probably broken
since 0.3.19).
+ Fixed compilation of the converter-generated C versions
of the LAPACK sources with gcc-14.
+ Added support for supplying the L2 cache size via an
environment variable (`OPENBLAS_L2_SIZE`) in case it is not
correctly reported (as in some VM configurations).
+ Improved the error message shown when thread creation fails
on startup.
* arm64:
+ Added a fast path forwarding `SGEMM` and `DGEMM` calls with a
1xN or Mx1 matrix to the corresponding `GEMV` kernel.
+ Added optimized `SGEMV` and `DGEMV` kernels for A64FX.
+ Added optimized SVE kernels for small-matrix `GEMM`.
+ Added A64FX to the CPU list for DYNAMIC_ARCH.
+ Fixed building with support for CPU affinity.
+ Worked around accuracy problems with `C/ZNRM2` on NeoverseN1
targets.
+ Improved GEMM performance on Neoverse V1.
+ Fixed compilation for `NEOVERSEN2` with older compilers.
+ Fixed potential miscompilation of the SVE `SDOT` and `DDOT`
kernels.
+ Fixed potential miscompilation of the non-SVE `CDOT` and
`ZDOT` kernels.
+ Fixed a potential overflow when using very large user-defined
`BUFFERSIZE`.
* Power:
+ Added a fast path forwarding `SGEMM` and `DGEMM` calls with a 1xN
or Mx1 matrix to the corresponding `GEMV` kernel.
+ Significantly improved performance of `SBGEMM`. on POWER10.
+ Fixed compilation with OpenMP and the XLF compiler.
+ Fixed building of parts of the LAPACK testsuite with XLF.
+ Fixed CSWAP/ZSWAP on big-endian POWER10 targets.
+ Fixed a performance regression in SAXPY on POWER10 with OpenXL.
+ Fixed a potential overflow when using very large user-defined
`BUFFERSIZE`.
+ Fixed an accuracy issue in the POWER6 kernels for `GEMM` and
`GEMV`.
* RISCV64:
+ Added a fast path forwarding `SGEMM` and `DGEMM` calls with a
1xN or Mx1 matrix to the corresponding GEMV kernel.
+ Wdded `DYNAMIC_ARCH` support (comprising `GENERIC_RISCV64` and
the two RVV 1.0 targets with vector length of 128 and 256).
+ Worked around the `ZVL128B` kernels for `AXPBY` mishandling the
special case of zero Y increment.
- Obsoleted: no-static.patch.
* Mon Jul 29 2024 Egbert Eich <eich@suse.com>
- Duplicate all options passed to `make` also to `make install`:
The openblas build output suggests this: 'Note that any flags
passed to make during build should also be passed to make install
to circumvent any install errors'.
This also makes sure that minimum CPU requirement is set in
the pkgconfig file is the same one as used for building.
This helps to maintain a reproducible build (boo#1228177).
* Thu Jun 13 2024 Andreas Schwab <schwab@suse.de>
- no-static.patch: do not link statically
* Sun Jun 09 2024 Egbert Eich <eich@suse.com>
- Update to version 0.3.27 (boo#1225869):
General:
* Added initial (generic) support for the `CSKY` architecture.
* Capped the maximum number of threads used in `GEMM`, `GETRF`
and `POTRF` to avoid creating underutilized or idle threads.
* Sped up multithreaded `POTRF` on all platforms.
* Added extension `openblas_set_num_threads_local()` that returns
the previous thread count.
* Re-evaluated the `SGEMV` and `DGEMV` load thresholds to avoid
activating multithreading for too small workloads.
* Improved the fallback code used when the precompiled number of
threads is exceeded, and made it callable multiple times
during the lifetime of an instance.
* Added CBLAS interfaces for the BLAS extensions `?AMIN`,`?AMAX`,
`CAXPYC` and `ZAXPYC`.
* Fixed a potential buffer overflow in the interface to the
`GEMMT` kernels.
* Fixed use of incompatible pointer types in `GEMMT` and
`C`/`ZAXPBY` as flagged by GCC-14.
* Fixed unwanted case sensitivity of the character parameters in
`?TRTRS` sped up the OpenMP thread management code.
* Fixed sizing of logical variables in `INTERFACE64` builds of
the C version of LAPACK.
* Fixed inclusion of new LAPACK and LAPACKE functions from
LAPACK 3.11 in the shared library.
* Modified the error thresholds for `SGS`/`DGS` functions in
the LAPACK testsuite to suppress spurious errors.
* Added support for calling ?NRM2 with a negative increment value
on all architectures.
* Fixed handling of the `OPENBLAS_LOOPS` variable in several
benchmarks.
* Integrated fixes from the Reference-LAPACK project:
Increased accuracy in `C`/`ZLARFGP` (Reference-LAPACK PR 981).
x86:
* Fixed handling of `NaN` and `Inf` arguments in `ZSCAL`.
x86-64:
* Removed all instances of `sched_yield()` on Linux and BSD.
* Fixed handling of `NaN` and `Inf` arguments in `ZSCAL`.
* Added compiler checks for `AVX512BF16` compatibility.
* Fixed cpu handling fallbacks for Sapphire Rapids with disabled
AVX2 in `DYNAMIC_ARCH` mode.
* Fixed extensions `SCSUM` and `DZSUM`.
* Improved `GEMM` performance for ZEN targets.
arm64:
* Added initial support for the Cortex-A76 cpu.
* Fixed handling of `NaN` and `Inf` arguments in `ZSCAL`.
* Fixed default compiler options for gcc (-march and -mtune).
* Added support for the NeoverseV2 cpu in `DYNAMIC_ARCH` builds.
* Corrected `SCSUM` kernels (erroneously duplicating `SCASUM`
behaviour).
* Added SVE-enabled kernels for `CSUM`/`ZSUM`.
* Worked around an inaccuracy in the `NRM2` kernels for NeoverseN1.
power:
* Improved performance of `SGEMM` on POWER8/9/10.
* Improved performance of `DGEMM` on POWER10.
zarch:
* Fixed handling of `NaN` and `Inf` arguments in `ZSCAL`.
* Fixed calculation of `?SUM` on Z13.
- LIBNAMESUFFIX semantics have changed: no separator will be added.
Adjusted in spec file.
* Thu Feb 15 2024 Egbert Eich <eich@suse.com>
- Remove DYNAMIC_LIST for aarch64 for older gcc versions: This has
been fixed upstream.
* Wed Jan 17 2024 Egbert Eich <eich@suse.com>
- Update to version 0.3.26:
* General:
- Added type declarations for complex variables to the
MSVC-specific parts of the LAPACK header.
- Significantly sped up `?GESV` for small problem sizes by
introducing a lower bound for multithreading.
- Imported additions and corrections from the Reference-LAPACK
project:
+ Added new LAPACK functions for truncated `QR` with pivoting
(Reference-LAPACK PRs 891&941).
+ Handle miscalculation of minimum work array size in corner
cases (Reference-LAPACK PR 942).
+ Fixed use of uninitialized variables in `?GEDMD` and
improved inline documentation.
+ Fixed use of uninitialized variables (and consequential
failures) in `?BBCSD`.
+ Added tests for the recently introduced Dynamic Mode
Decomposition functions.
+ Fixed several memory leaks in the LAPACK testsuite.
* x86-64:
- Fixed computation of `CASUM` on SkylakeX and newer targets in
the special case that AVX512 is not supported by the compiler
or operating environment.
- Fixed potential undefined behaviour in the `CASUM`/`ZASUM`
kernels for AVX512 targets.
- worked around a problem in the pre-AVX kernels for `GEMV`
* arm64:
- Sped up `SGEMM` and `DGEMM` on Neoverse V1 and N1.
- Sped up `?DOT` on SVE-capable targets.
- Reduced the number of targets in `DYNAMIC_ARCH` builds by
eliminating functionally equivalent ones.
* POWER:
- Improved the SGEMM kernel for POWER10.
- Fixed compilation with (very) old versions of gcc.
- Added autodetection of the POWERPC 7400 subtype.
* Wed Dec 20 2023 Giacomo Comes <gcomes.obs@gmail.com>
- add Requires(pre/post): coreutils to the sub-packages that use
commands like: ln, dirname, mktemp, etc in the pre/post scriptlets
* Wed Nov 29 2023 Atri Bhattacharya <badshah400@gmail.com>
- Update to version 0.3.25:
* General:
- improved the error message shown on exceeding the maximum
thread count
- improved the code to add supplementary thread buffers in
case of overflow
- fixed a potential division by zero in `?ROTG`
- improved the `?MATCOPY` functions to accept zero-sized rows or
columns
- corrected empty prototypes in function declarations
- cleaned up unused declarations in the f2c-converted versions
of the LAPACK sources
- improved link line rewriting to avoid mixed libgomp/libomp
builds with clang&gfortran
- imported the following changes from the upcoming release
3.12 of Reference-LAPACK: LAPACK PR 900, LAPACK PR 904,
LAPACK PR 907, LAPACK PR 909, LAPACK PR 926, LAPACK PR 927,
LAPACK PR 928 & 930
* x86-64:
- fixed capability-based fallback selection for unknown cpus
in `DYNAMIC_ARCH`
- added AVX512 optimizations for `?ASUM` on Intel Sapphire Rapids and
Cooper Lake
* ARM64:
- fixed building with XCODE 15
- fixed building on A64FX and Cortex A710/X1/X2
- increased the default buffer size for recent arm server cpus
* POWER:
- added support for `DYNAMIC_ARCH` builds with clang
- fixed union declaration in the `BFLOAT16` test case
- Changes in version 0.3.24
* General:
- Declared the arguments of `cblas_xerbla` as `const`
(in accordance with the reference implementation
and others, the previous discrepancy appears to have dated
back to GotoBLAS)
- fixed the implementation of `?GEMMT` that was added in 0.3.23
- made cpu-specific `SWITCH_RATIO` parameters for GEMM
available to `DYNAMIC_ARCH` builds
- fixed missing `SSYCONVF` function in the shared library
- fixed parallel build logic used with gmake
- fixed several issues with the handling of runtime limits on
the number of OPENMP threads
- corrected the error code returned by `SGEADD`/`DGEADD` when
LDA is too small
- corrected the error code returned by `IMATCOPY` when LDB
is too small
- updated `?NRM2` to support negative increment values (as
introduced in release 3.10.0 of the Reference BLAS)
- updated `?ROTG` to use the safe scaling algorithm introduced
in release 3.10.0 of the Reference BLAS
- fixed OpenMP builds with CLANG for the case where libomp is
not in a standard location
- fixed a potential overwrite of unrelated memory during
thread initialisation on startup
- fixed a potential integer overflow in the multithreading
threshold for `?SYMM`/`?SYRK`
- fixed build of the LAPACKE interfaces for the LAPACK 3.11.0
`?TRSYL` functions added in 0.3.22
- applied additions and corrections from the development
branch of Reference-LAPACK:
- fixed actual arguments passed to a number of LAPACK
functions (from Reference-LAPACK PR 885)
- fixed workspace query results in LAPACK `?SYTRF`/`?TRECV3`
(from Reference-LAPACK PR 883)
- fixed derivation of the UPLO parameter in `LAPACKE_?larfb`
(from Reference-LAPACK PR 878)
- fixed a crash in LAPACK `?GELSDD` on `NRHS=0` (from
Reference-LAPACK PR 876)
- added new LAPACK utility functions `CRSCL` and `ZRSCL`
(from Reference-LAPACK PR 839)
- corrected the order of eigenvalues for 2x2 matrices in
`?STEMR` (Reference-LAPACK PR 867)
- removed spurious reference to OpenMP variables outside
OpenMP contexts (Reference-LAPACK PR 860)
- updated file comments on use of `LAMBDA` variable in
LAPACK (Reference-LAPACK PR 852)
- fixed documentation of LAPACK `SLASD0`/`DLASD0`
(Reference-LAPACK PR 855)
- fixed confusing use of "minor" in LAPACK documentation
(Reference-LAPACK PR 849)
- added new LAPACK functions ?GEDMD for dynamic mode
decomposition (Reference-LAPACK PR 736)
- fixed potential stack overflows in the `EIG` part of the
LAPACK testsuite (Reference-LAPACK PR 854)
- applied small improvements to the variants of
Cholesky and QR functions (Reference-LAPACK PR 847)
- removed unused variables from LAPACK `?BDSQR`
(Reference-LAPACK PR 832)
- fixed a potential crash on allocation failure in LAPACKE
`SGEESX`/`DGEESX` (Reference-LAPACK PR 836)
- added a quick return from `SLARUV`/`DLARUV` for N < 1
(Reference-LAPACK PR 837)
- updated function descriptions in LAPACK `?GEGS`/`?GEGV`
(Reference-LAPACK PR 831)
- improved algorithm description in `?GELSY`
(Reference-LAPACK PR 833)
- fixed scaling in LAPACK `STGSNA`/`DTGSNA`
(Reference-LAPACK PR 830)
- fixed crash in `LAPACKE_?geqrt` with row-major data
(Reference-LAPACK PR 768)
- added LAPACKE interfaces for `C/ZUNHR_COL` and
`S/DORHR_COL` (Reference-LAPACK PR 827)
- added error exit tests for `SYSV`/`SYTD2`/`GEHD2` to
the testsuite (Reference-LAPACK PR 795)
- fixed typos in LAPACK source and comments
(Reference-LAPACK PRs 809,811,812,814,820)
- adopt refactored `?GEBAL` implementation
(Reference-LAPACK PR 808)
* x86_64:
- added cpu model autodetection for Intel Alder Lake N
- added activation of the AMX tile to the Sapphire Rapids
`SBGEMM` kernel
- worked around miscompilations of GEMV/SYMV kernels by
gcc's tree-vectorizer
- fixed runtime detection of Cooperlake and Sapphire Rapids
in `DYNAMIC_ARCH`
- fixed feature-based cputype fallback in `DYNAMIC_ARCH`
- corrected `ZAXPY` result on old pre-AVX hardware for the
`INCX=0` case
- fixed a potential use of uninitialized variables in ZTRSM
* ARMV8:
- implemented SWITCH_RATIO parameter for improved GEMM
performance on Neoverse
- activated SVE SGEMM and DGEMM kernels for Neoverse V1
- improved performance of the SVE CGEMM and ZGEMM kernels
on Neoverse V1
- improved kernel selection for the ARMV8SVE target and added
it to `DYNAMIC_ARCH`
- fixed runtime check for SVE availability in `DYNAMIC_ARCH`
builds to take OS or container restrictions into account
- fixed a potential use of uninitialized variables in ZTRSM
* POWER:
- fixed compiler warnings in the POWER10 SBGEMM kernel
- Changes in version 0.3.23
* General:
- fixed a serious regression in `GETRF`/`GETF2` and
`ZGETRF`/`ZGETF2` where subnormal but nonzero data elements
triggered the singularity flag
- fixed a long-standing bug in `CSPR`/`ZSPR` in single-threaded
operation
- for cases where elements of the X vector are real numbers (or
complex with only the real part zero)
* x86_64:
- added further CPUID values for Intel Raptor Lake
- Changes in version 0.3.22
* General:
- Updated the included LAPACK to Reference-LAPACK release 3.11.0
plus post-release corrections and improvements
- Added a threshold for multithreading in `SYMM`, `SYMV` and
`SYR2K`
- Increased the threshold for multithreading in `SYRK`
- OpenBLAS no longer decreases the global `OMP_NUM_THREADS`
when it exceeds the maximum thread count the library was
compiled for.
- fixed `?GETF2` potentially returning `NaN` with tiny matrix
elements
- fixed `openblas_set_num_threads` to work in `USE_OPENMP`
builds.
- fixed cpu core counting in `USE_OPENMP` builds returning the
number of OMP "places" rather than cores
- fixed stride calculation in the optimized small-matrix path of
complex `SYR`
- fixed building of Reference-LAPACK with recent gfortran
- added new environment variable `OPENBLAS_DEFAULT_NUM_THREADS`
- added a GEMV-based implementation of `GEMMT`
* x86_64:
- added autodetection of Intel Raptor Lake cpu models
- added SSCAL microkernels for Haswell and newer targets
- improved the performance of the Haswell DSCAL microkernel
- added CSCAL and ZSCAL microkernels for SkylakeX targets
- fixed detection of gfortran and Cray CCE compilers
- fixed runtime selection of COOPERLAKE in `DYNAMIC_ARCH` builds
- worked around gcc/llvm using risky FMA operations in
CSCAL/ZSCAL
* ARMV8:
- fixed cross-compilation to CortexA53 with CMAKE
- fixed compilation with CMAKE and "Arm Compiler for Linux 22.1"
- added cpu autodetection for Cortex X3 and A715
- fixed conditional compilation of SVE-capable targets in
`DYNAMIC_ARCH`
- sped up SVE kernels by removing unnecessary prefetches
- improved the GEMM performance of Neoverse V1
- added SVE kernels for SDOT and DDOT
- added an SBGEMM kernel for Neoverse N2
- improved cpu-specific compiler option selection for
Neoverse cpus
- added support for setting `CONSISTENT_FPCSR`
- Minor rebase of openblas-ppc64be_up2_p8.patch to apply cleanly.
- Drop upstreamed patches:
* Use-blasint-for-INTERFACE64-compatibility.patch
* remove-spurious-loops.patch
* Fri Oct 27 2023 Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Propagate the correct CPU count to the pkgconfig file, see
gh#OpenMathLib/OpenBLAS#4275.
* Tue Oct 17 2023 Bernhard Wiedemann <bwiedemann@suse.com>
- Delete build machine cpu count
* Fri Feb 24 2023 Egbert Eich <eich@suse.com>
- Recreate old library scheme for existing products:
It turned out the new scheme on existing systems has
been causing package breakages.
- Do not generate baselibs.conf for HPC builds.
- Add support for gcc11 & 12.
- For SLE/Leap on x86_64 and s390x do not mix compiler versions
as this will make the gfortran ABI version inconsistent. Instead
use the stock compiler and set the list of kernels for x86_64
cores explicitly as Cooperlake requires compiler intrinsics
which are not provided by gcc 7.
- Require at least 7G of disk space for building.
* Tue Feb 14 2023 Egbert Eich <eich@suse.com>
- Make sure pre-existing (arch-independent) update-alternatives
are wiped before registering new ones.
Since update-alternatives has no reliable way to check if
a certain 'generic name' exists, brute-force it and ignore
any error (boo#1208248).
- Remove totally pointless - ie. never executed - %%posttrans
script.
- Restore generic link for update-alternatives. This is usually
set by the update-alternatives and it is '%ghost'ed but rpmlint
complains.
- Add rpmlintrc rules to avoid false positives from consistently
guessing the update-alternatives generic name wrong.
- Make arch dependent generic names conditional.
* Fri Feb 03 2023 Egbert Eich <eich@suse.com>
- Do not set LIBNAMESUFFIX to mark different flavors as this causes
the SONAME to be different so that different flavors of OpenBLAS
cannot serve as plugin replacements of each other (boo#1177260).
- Fix a fallout of making alternatives directory arch dependent.
- Remove unneeded links that will be created by update-alternatives.
Create remaining links %post scripts properly %ghost-ing the files.
* Wed Jan 25 2023 Egbert Eich <eich@suse.com>
- Make library links in the alternatives directory arch dependent.
This avoids conflicts when both 32-bit and 64-bit versions are
installed (boo#1207563).
* Sun Dec 25 2022 Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Fix aarch64 builds with GCC < 9 (i.e. Leap/SLE 15.x), disable
NEOVERSEN2 target. See gh#xianyi/OpenBLAS#3874.
* Wed Nov 30 2022 Egbert Eich <eich@suse.com>
- Update to v0.3.21:
* general:
- Updated the included LAPACK to Reference-LAPACK release 3.10.1
- when no Fortran compiler is available, OpenBLAS builds will now automatically
- function LAPACKE_lsame is now annotated with the GCC attribute "const" to aid static analyzers
- added USE_TLS to the list of options reported by the openblas_get_config() function
- added SYMBOLPREFIX/SYMBOLSUFFIX handling for LAPACK 3.10.0 functions added in 0.3.20
- reverted OpenMP threadpool behaviour in the exec_blas call to its state before 0.3.11, that is
the threadpool will no longer grow or shrink on demand as the overhead for this is too big at least with
GNU OpenMP. The adaptive behaviour introduced in 0.3.11 can still be requested at runtime by setting
the environment variable OMP_ADAPTIVE
- worked around spurious STFSM/CTFSM errors reported by the LAPACK testsuite
* x86_64:
- fixed determination of compiler support for AVX512 and removed the 0.3.19
- workaround for building SKYLAKEX kernels on Sandybridge hardware
- fixed compilation for the SKYLAKEX target with gcc 6
- fixed compilation of the SkyLakeX small matrix GEMM kernels with LLVM or ICC
- added support for the Zhaoxin/Centaur KH40000 cpu
- fixed a potential crash in the ZSYMV kernel used for all targets except generic
* POWER:
- worked around an overflow error in the POWER6 DNRM2 kernel
- fixed compilation on PPC440
- fixed a performance regression in the level1 BLAS on POWER10
- fixed the POWER10 ZGEMM kernel
- fixed singlethreaded builds for POWER10
- fixed compilation of the POWER10 DGEMV kernel with older gcc versions
- enabled compilation of the BFLOAT16 kernels by default
- enabled the small matrix kernels by default for DYNAMIC_ARCH builds
- added a workaround for a miscompilation of the CDOT and ZDOT kernels by GCC 12
- Obsolete:
* Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch
* Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch
* Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch
* Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch
* Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch
* Fix-checks-for-AVX512-and-atomics.patch
* Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch
- Updated/renamed:
* openblas-noexecstack.patch to Link-library-with-z-noexecstack.patch
* openblas-s390.patch to Handle-s390-correctly.patch
- Added (see https://github.com/xianyi/OpenBLAS/issues/3738):
* remove-spurious-loops.patch
* Use-blasint-for-INTERFACE64-compatibility.patch
* Wed Sep 14 2022 Egbert Eich <eich@suse.com>
- The toolchain and 'make' in TW have been updated to handle parallel
makes spawned by gcc (for LTO optimization) properly. Thus, remove
restrictions.
- Disable lto when linking test programs to speeds up building.
* Thu May 05 2022 Atri Bhattacharya <badshah400@gmail.com>
- Dynamically generate baselibs.conf for openblas flavors; this
will fix the unresolvables down the chain for arpack-ng 32-bit
bi-arch packages.
* Fri Apr 29 2022 Egbert Eich <eich@suse.com>
- For non-HPC builds create links (bsc#1198885):
%_lib/libopenblas_<flavor>.so[.0] ->
%_lib/openblas-<flavor>/libopenblas.so[.0]
* Sat Apr 09 2022 Egbert Eich <eich@suse.com>
- Fix issues in update paths from earlier versions introduced by
recent structural changes (bsc#1198264):
- Add Obsoletes for old package names
- Handle the change from directories to soft links properly
* Wed Apr 06 2022 Egbert Eich <eich@suse.com>
- Also build for s390x using latest gcc as requested by IBM
(jsc#SLE-18143, bsc#1197721).
* Mon Apr 04 2022 Egbert Eich <eich@suse.com>
- Build HPC packages with gcc-<n> <n> >= 10 on Leap/SLE.
* Wed Mar 30 2022 Egbert Eich <eich@suse.com>
- Build PPC64LE libraries with the latest gcc available to
take advantage of instruction sets in later CPUs used in
the CPU specific kernels (jsc#SLE-18143, bsc#1197721).
For fortran use the stock compiler to avoid compatibility
issues between different versions of libfortran.
This is relevant for Leap/SLE only. It may be dropped once
gcc < 10 is no longer supported.
- Do the same for x86_64 on SLE to make sure Cooperlake support
is built properly.
- Remove:
* Do-not-attempt-to-check-host-CPU-if-TARGET-is-set.patch
* Create-independent-kernel-Makfile-configuration-when-building-DYNAMIC_ARCH.patch
* For-DYNAMIC_ARCH-don-t-use-sbgemm_r-as-parameter.c-doesn-t-get-build.patch
Instead, add from upstream:
* Define-sbgemm_r-to-fix-DYNAMIC_ARCH-builds.patch
* Remove-extraneous-and-wrong-definition-of-sbgemm_r-on-x86_64.patch
* Fix-checks-for-AVX512-and-atomics.patch
* Revert-AVX512-capability-check-from-PR-1980-moved-to-build.patch
* Use-CC-and-full-command-line-instead-of-hard-coding-gcc-for-AVX512-checking.patch
* Utilize-compiler-AVX512-capability-info-from-c_check-when-building-getarch.patch
* Fri Feb 25 2022 Egbert Eich <eich@suse.com>
- Update to v0.3.20:
* general:
some code cleanup, with added casts etc.
fixed obtaining the cpu count with OpenMP and OMP_PROC_BIND unset
fixed pivot index calculation by ?LASWP for negative increments other
than one
fixed input argument check in LAPACK ? GEQRT2
improved the check for a Fortran compiler in CMAKE builds
disabled building OpenBLAS' optimized versions of LAPACK complex SPMV,
SPR,SYMV,SYR with NO_LAPACK=1
fixed building of LAPACK on certain distributed filesystems with parallel
gmake
fixed building the shared library on MacOS with classic flang
(v0.3.19)
reverted unsafe TRSV/ZRSV optimizations introduced in 0.3.16
fixed a potential thread race in the thread buffer reallocation routines
that were introduced in 0.3.18
fixed miscounting of thread pool size on Linux with OMP_PROC_BIND=TRUE
fixed CBLAS interfaces for CSROT/ZSROT and CROTG/ZROTG
made automatic library suffix for CMAKE builds with INTERFACE64 available
to CBLAS-only builds
(v0.3.18)
when the build-time number of preconfigured threads is exceeded
at runtime (by an external program calling BLAS functions from
a larger number of threads), OpenBLAS will now allocate an
auxiliary control structure for up to 512 additional threads
instead of aborting
added support for Loongson's LoongArch64 cpu architecture
fixed building OpenBLAS with CMAKE and -DBUILD_BFLOAT16=ON
added support for building OpenBLAS as a CMAKE subproject
added support for building for Windows/ARM64 targets with clang
improved support for building with the IBM xlf compiler
imported Reference-LAPACK PR 625 (out-of-bounds access in ?LARRV)
imported Reference-LAPACK PR 597 for testsuite compatibility with
LLVM's libomp
* x86_64:
fixed cross-compilation with CMAKE for CORE2 target
fixed miscompilation of AVX512 code in DYNAMIC_ARCH builds
added support for the "incidental" AVX512 hardware in Alder Lake when
enabled in BIOS
(v0.3.19)
DYNAMIC_ARCH builds now fall back to the cpu with most similar capabilities
when an unknown CPUID is encountered, instead of defaulting to Prescott
added cpu detection for Intel Alder Lake
added cpu detection for Intel Sapphire Rapids
added an optimized SBGEMM kernel for Sapphire Rapids
fixed DYNAMIC_ARCH builds on OSX with CMAKE
worked around DYNAMIC_ARCH builds made on Sandybridge failing on SkylakeX
fixed missing thread initialization for static builds on Windows/MSVC
fixed an excessive read in ZSYMV
(v0.3.18)
added SkylakeX S/DGEMM kernels for small problem sizes (MNK<=1000000)
added optimized SBGEMM for Intel Cooper Lake
reinstated the performance patch for AVX512 SGEMV_T with a proper fix
added a workaround for a gcc11 tree-vectorizer bug that caused spurious
failures in the test programs for complex BLAS3 when compiling at -O3
(the default for cmake "release" builds)
added support for runtime cpu count detection under Haiku OS
worked around a long-standing miscompilation issue of the Haswell DGEMV_T
kernel with gcc that could produce NaN output in some corner cases
* Power:
added support for POWER10 in big-endian mode
added support for building with CMAKE
added optimized SGEMM and DGEMM kernels for small matrix sizes
(v0.3.18)
improved performance of DASUM on POWER10
* ARMV8:
added SVE-enabled CGEMM and ZGEMM kernels for ARMV8SVE and A64FX
added support for Neoverse N2 and V1 cpus
(v0.3.19)
added basic support and cputype detection for Fujitsu A64FX
added a generic ARMV8SVE target
added SVE-enabled SGEMM and DGEMM kernels for ARMV8SVE and A64FX
added optimized CGEMM and ZGEMM kernels for Cortex A53 and A55 cpus
fixed cpuid detection for Apple M1 and improved performance
improved compiler flag setting in CMAKE builds
(v0.3.18)
fixed crashes (use of reserved register x18) on Apple M1 under OSX
fixed building with gcc releases earlier than 5.1
- Fix out of bounds read in ?llarv
LAPACK Reference: PR 625
CVE-2021-4048, bsc#1196513
- Limit parallel builds according to available memory.
Do NOT use %%_smp_mflags with top level 'make', set MAKE_NB_JOBS
instead and let the build do the work.
Also change -flto=auto to -flto=1: spawning even more parallel builds
on top of parallel build treads will wreak havok.
- Move calls to 'update-alternatives --remove' to %%postun instead
of %%preun as suggested by rpmlint.
- Since we build with DYNAMIC_ARCH, create separate config files for
the different target kernels to help debugging
Add Create-independent-kernel-Makfile-configuration-when-building-DYNAMIC_ARCH.patch
- Remove compiler feature detection when not using auto-detection.
Add Do-not-attempt-to-check-host-CPU-if-TARGET-is-set.patch
- Do not depend in variables which are not available when building
DYNAMIC_ARCH.
Add For-DYNAMIC_ARCH-don-t-use-sbgemm_r-as-parameter.c-doesn-t-get-build.patch
- Do not include symbols defined in driver/others/parameter.c in
DYNAMIC_BUILD to generate more conclusive error messages earlier.
Add Do-not-include-symbols-defined-in-driver-others-parameter.c-in-DYNAMIC_BUILD.patch
- Install lapack and blas libraries to an openblas-flavor
specific subdirectory of %%_libdir and set up the alternatives
to point to this directory. Set the system-wide BLAS/LAPACK
default directory to %%_libdir/openblas-default.
This way, the blas/lapack libraries will remain consistent
and from the same source. The user is able to override this
easily by setting the LD_LIBRARY_PATH to include the preferred
BLAS/LAPACK implementation (boo#1177260).
- Consolidate packages 'openblas-devel' and 'openblas-devel-headers'
into 'openblas-common-devel' (these are built for the serial
flavor only).
'openblas-common-devel' will provide the removed 'openblas-devel-headers'
while the arch specific 'preferred' flavor will provide the removed
'openblas-devel'.
- Fix the openblas default flavor selection:
[#] /usr/sbin/update-alternatives --config libopenblas.so.0
- Add cmake and pkgconfig files.
* Sun Feb 13 2022 Egbert Eich <eich@suse.com>
- Fixed bsc#1195232 for good: found and removed offending entry.
This reintroduces part of:
Thu Jul 8 12:35:35 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not create dummy symlinks on $self in /etc/alternatives: those
files are packages as %ghost and any real file existance only
confuses brp-checks, as it detects circular symlinks.
* Sun Jan 30 2022 Egbert Eich <eich@suse.com>
- Partly revert:
Thu Jul 8 12:35:35 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not create dummy symlinks on $self in /etc/alternatives: those
files are packages as %ghost and any real file existance only
confuses brp-checks, as it detects circular symlinks.
for all suse_versions < current Factory in an attempt to fix bsc#1195232.
/etc/alternatives/libblas.so.3_aarch64 /etc/alternatives/libcblas.so.3_aarch64 /etc/alternatives/liblapack.so.3_aarch64 /etc/alternatives/liblapacke.so.3_aarch64 /etc/alternatives/openblas-default_aarch64 /usr/lib64/libblas.so.3 /usr/lib64/libcblas.so.3 /usr/lib64/liblapack.so.3 /usr/lib64/liblapacke.so.3 /usr/lib64/libopenblas.so.0 /usr/lib64/openblas-default /usr/lib64/openblas-pthreads /usr/lib64/openblas-pthreads/libopenblas.so.0
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Oct 23 23:06:42 2025