| 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.33 | Vendor: openSUSE |
| Release: 2.2 | Build date: Fri Jul 10 17:31:15 2026 |
| Group: System/Libraries | Build host: reproducible |
| Size: 27682350 | Source RPM: openblas_pthreads-0.3.33-2.2.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
* Fri Jul 10 2026 Christian Goll <cgoll@suse.com>
- fixed wrong ownership of /usr/include for SLE16.1 builds and moved
tests to non conflicting locations
* Tue Jun 30 2026 Christian Goll <cgoll@suse.com>
- disable tests for i586 as sblat tests fail
* Fri Jun 12 2026 Christian Goll <cgoll@suse.com>
- Added compatlib packages (compatlibopenblas_serial0, compatlibopenblas_openmp0,
compatlibopenblas_pthreads0) that provide update-alternatives support for
backward compatibility (bsc#1268086) (bsc#1268086)
- Compatlib packages are automatically installed via Supplements when upgrading
from OpenBLAS >= 0.3.30 to maintain existing update-alternatives configurations
- The main library packages no longer require update-alternatives, making them
suitable for transactional systems. Users who need update-alternatives support
can explicitly install the compatlib packages
- Fixed pkgconfig and cmake symlinks to point directly to flavor-specific
directories (e.g., /usr/lib64/openblas-openmp/) instead of through
update-alternatives, ensuring consistent library resolution
- Updated README.SUSE to document the new packaging structure and compatlib usage
- Update to version 0.3.33
general:
* fixed incorrect cast in SBGEMM test case causing spurious failures
* fixed invalid memory access in converted C CBLAS tests
* made BIGNUMA setting automatic when cores exceed 256
* imported recent Reference-LAPACK 3.13.0 updates including:
- implemented LARF1F and ORM2R functions
- changed loop order in GETC2 for better performance
- added NaN checks for input matrix A in GEEV
- fixed support for jobu/v in LAPACKE_GESVDQ_WORK
- fixed workspace size calculation in TGSEN
- optimized looping in LACPY/LASCL/LANTR with fat matrix and UPLO=L
arm64:
* worked around serious GCC15 miscompilation of DDOT kernel affecting most non-SVE targets
* fixed accuracy issue in GEMV kernel for Neoverse V1 and SVE targets
* fixed broken STRMM and SSYMM in DYNAMIC_ARCH builds on non-SME hardware
* added optimized SHGEMM kernel for Neoverse N2
* added autodetection of Cortex A75/A76 and Neoverse V3
loongarch64:
* fixed build failure from missing half-precision float type support
* fixed long-standing bug in asserting 64bit capability in c_check helper
x86_64:
* added workaround for LLVM miscompilation of AVX512 GEMM kernels
* fixed CMake compilation with NVIDIA HPC compiler
- Update to version 0.3.32
general:
* fixed LAPACK GESV reimplementation to compute LU factorization even when NRHS is zero
* improved error message when compile-time buffer allocation exceeded
* fixed non-serialized access problem in parallelized SYRK by concurrent callers
* fixed ABI mismatch in internal CDOT/ZDOT version used by C fallback LAPACK
* improved f_check script for detecting Fortran compiler with embedded dashes in paths
* fixed memory access issues in utests detected by Address Sanitizer
* fixed Makefile errors when only subset of precision types selected
* fixed OpenMP compiler option for Intel Ifx compiler
arm64:
* fixed potential miscompilation of SDOT/DDOT/DSDOT kernels
* improved BGEMM and SBGEMM kernel performance for Neoverse V2
* added optimized SSUM and DSUM kernels for Neoverse N1
* added preliminary Neoverse V3 support as NEOVERSEV2
* added cpu autodetection for Cortex A725 and X925
* fixed compilation of GEMM kernels for VORTEXM4/ARMV9SME without multithreading
loongarch64:
* fixed POTRF returning wrong results on LA464 from incorrect parameter setting
power:
* fixed compilation problems from missing half-precision float support
* fixed potential POWER10 DGEMV kernel miscompilation by limiting optimization level
* fixed SCAL issue on PPCG4/PPC970 running Linux
riscv64:
* optimized CROT/ZROT kernel for vector length 128 in non-unit stride path
* improved SBGEMM/SHGEMM and related type conversion helper functions
* fixed probing for BFLOAT16 support in DYNAMIC_ARCH cpu detection
x86_64:
* fixed potential gcc 15.x miscompilation of AVX512 SGEMM kernel for small sizes
* fixed SROT and DROT kernels for Haswell to have consistent FMA rounding
* added automatic detection of Intel Arrow Lake H/U, Panther Lake, and Jasper Lake
* added detection of Intel Emerald Rapids and upcoming models
* updated cache size translation table in cpu model autodetection
* improved cpu detection fallback to include Nehalem as non-AVX option
* fixed Makefile build issue with clang and SkylakeX SGEMM kernel
- Update to version 0.3.31
general:
* reverted matrix partitioning optimization from 0.3.30 that could cause race conditions in GEMM
* added bfloat16 extensions BGEMM and BGEMV
* added BLAS interface for GEMM_BATCH extensions
* added GEMM_BATCH_STRIDED extensions and CBLAS interface
* added basic infrastructure for half-precision float (FP16) format using SH prefix
* reimplemented LAPACK SLAED3/DLAED3 using multithreading, improving SSYEVD/DSYEVD performance
* limited memory allocation retries to avoid infinite hanging on low-memory systems
* fixed thread lockup with python 3.9 or older and numpy
* introduced problem size thresholds for multithreading in STRMV/DTRMV, CHER/ZHER functions, and SGER/DGER
* improved autodetection of Fortran compiler
* fixed INTERFACE64=1 option passing to flang-new compiler
* fixed potential deadlock after fork() in multithreaded code
* fixed CMake builds on FreeBSD and from Cygwin
* fixed cross-compilation to RISCV targets via CMake
* fixed installation of cblas.h when NO_CBLAS=0
* fixed missing user-defined pre/postfixes on functions in lapack.h and lapacke.h
arm64:
* building BFLOAT16 kernels now enabled by default
* improved overall GEMM, SYMM and HEMM performance on A64FX
* improved SDOT/DDOT performance on A64FX
* improved multithreading performance of SDOT/DDOT on A64FX via throttling table
* improved SGER/DGER performance on A64FX and NEOVERSEV1
* improved multithreading GEMM performance on A64FX and NEOVERSEV1
* improved GEMV kernel for SVE-capable targets
* improved multithreading SGEMM on NEOVERSEV1 and V2
* added optimized SAXPY/DAXPY SVE kernels for A64FX and NEOVERSEV1
* added optimized BGEMM and BGEMV kernels for NEOVERSEV1
* added optimized BGEMM kernel for NEOVERSEN2
* added support for NEOVERSEV2 cpu
* added dedicated Apple M4 support as VORTEXM4
* added optimized SGEMM/SSYMM/STRMM/SSYRK/SSYR2K for SME-capable targets
* improved SNRM2 kernel precision
* added cpu autodetection and compiler settings for Ampere One processors
loongarch64:
* fixed warnings and inaccuracies from incorrect register saving
* fixed logical core enumeration on big NUMA servers
* fixed building with LLVM and INTERFACE64=1 option
power:
* added initial POWER11 architecture support
* improved DGEMM and DGEMV performance on POWER10
* fixed default compiler flags to use "-O3" instead of unsafe "-Ofast"
* fixed potential gcc15.1 miscompilation of DGEMV and assembly kernels
* fixed compilation with recent flang versions
riscv64:
* added optimized SBGEMM kernels for ZVL128B and ZVL256B targets
* added optimized SHGEMM kernels for ZVL128B and ZVL256B
* added optimized SBGEMV and SHGEMV kernels
* improved GEMV kernel performance for ZVL256B
* improved CROT and ZROT kernel performance for ZVL128B and x280
* improved RVV1.0 capability detection
* improved matrix packing helper functions for ZVL128B and ZVL256B
* improved OMATCOPY performance
x86_64:
* added cpu autodetection for Intel Lunar Lake (Core Ultra 200V)
* changed all MIN and MAX assembly kernels to use unaligned operations
zarch:
* added support for building with CMake
* Mon May 11 2026 Andreas Schwab <schwab@suse.de>
- Run test_sbgemm only if it was built
* Wed Jan 14 2026 Christian Goll <cgoll@suse.com>
- moved the testing to the build itself
* Wed Jan 14 2026 Christian Goll <cgoll@suse.com>
- Update to version 0.3.30:
general:
* fixed an installation problem with the thread safety test in gmake builds
* fixed spurious overwriting of an input array in complex GEMMT/GEMMTR
* fixed naming of GEMMTR in error messages from XERBLA
* fixed compilation of SBGEMMT/SBGEMMTR in CMake builds
* fixed the implementation of ?NRM2 to handle INCX=0 correctly
* removed tests for CSROT and ZDROT that relied on unspecified behavior
* fixed a performance regression in multithreaded GEMM that was particularly
serious on POWER targets
* fixed linking issues when using LLVM's flang-new with gmake
* fixed a potential thread safety problem with C11 atomic operations
* further improved the workload partitioning in parallel GEMM
* fixed omission of LAPACKE interfaces for CGESVDQ,CTRSYL3 and ?GEQPF in
CMake builds
* fixed mishandling of setting NO_LAPACK to FALSE, and incorrect dependencies
for LAPACK function SPMV in CMake builds
* added explicit CMake options for building LAPACKE and shared libraries
* simplified and improved handling of OpenMP options in CMake builds
* renaming (pre/postfixing) and optional generation of PDB files for debugging
* Fixed building with (Mingw) gmake on Windows to ensure completeness of the
LAPACK included in the static library (potential race condition due to the
Windows version of the "ln" utility creating snapshot copies rather than links)
* fixed unwanted deletion of the lapacke_mangling.h file by "make clean"
* fixed potential duplication of a _64 suffix on library names in CMake builds
* fixed compilation of the C fallback copies of the LAPACK code with GCC 15
* included fixed from the Reference-LAPACK project:
fixed a truncated error message in the EIG part of the testsuite
(Reference-LAPACK PR 1119)
fixed too strict check in LAPACKE_?gesdd_work (PR #1126)
fixed memory corruption when calling ?GEEV with non-finite data (PR #1128)
fixed missing initialization of a variable in C/GEQP3RK (PR #1131)
fixed 2nd dimension chosen in C/ZUNMLQ transposition operation (PR #1135)
x86_64:
* fixed an error in the SBGEMV kernel for Cooper Lake/Sapphire Rapids
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
* improved the compiler identification code for flang-new
* fixed a potential build issue in the ZSUM kernel
* fixed "argument list too long" errors when building on MacOS
* added cpu autodetection support for several new Arrow Lake models
* fixed conditional inclusion of the fast path SGEMM kernel in DYNAMIC_ARCH
* fixed compilation with the MinGW build of GCC 15
x86:
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
* worked around potential miscompilation of CDOT with very old binutils
arm64:
* fixed cpu type detection of A64FX and some ThunderX models (broken in 0.3.29)
* added support for the AmpereOne/1A cpus in DYNAMIC_ ARCH builds
* added an optimized SBGEMM kernel for NEOVERSEV1
* improved 1xN SBGEMM performance by forwarding to SBGEMV
* introduced a stepwise increase of the thread count used for
SGEMM and SGEMV on NEOVERSEV1/V2 in relation to problem size
* introduced a stepwise increase of the thread count used for
DGEMV on NEOVERSEV1 in relation to problem size
* introduced a stepwise increase of the thread count used for
SDOT and DDOT on NEOVERSEV1 in relation to problem size
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
* added a fast path SGEMM kernel for small workloads on SME capable targets
* improved performance of SGEMM and DGEMM kernels for small workloads
* improved performance of SGEMV and DGEMV on SVE-capable targets
* improved performance of SGEMV on NEOVERSEN1 and Apple M
added optimized SSYMV and DSYMV kernels for NEOVERSEN1, Apple M and all
SVE capable targets
* added optimized SBGEMV kernels for NEOVERSEV1/V2/N2
* improved performance of SGEMM through faster NCOPY kernels
* added compiler options for the NVIDIA HPC Compiler Suite
* fixed cpu core type and cache size detection on Apple M4
* updated GEMM parameter settings for Neoverse cpus in cross-builds with CMake
* fixed default compiler options for NEOVERSEN1 and CORTEXX2 in CMake builds
* fixed conditional inclusion of the fast path SGEMM kernel in DYNAMIC_ARCH
* fixed potential miscompilation of the non-SVE SDOT kernel
arm:
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
* fixed unwanted generation of object files with a writable stack
riscv64:
* added optimized SROTM and DROTM kernels for x280
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
* improved performance of GEMM_TCOPY on RVV1.0 targets with
VLEN of 128 or 256
* improved performance of OMATCOPY on targets with VLEN 256
* greatly improved performance of SGEMV/DGEMV
* improved performance of CGEMV and ZGEMV on C910V and all RVV targets
with VLEN 256
* improved performance of SAXPBY and DAXPBY on C910V and all RVV targets
with VLEN 256
* improved performance of AXPY and DOT on C910V and ZVL256B targets by
* falling back to non-vectorized code for very small N. (Thereby fixing
poor performance of CHBMV/ZHBMV for very small K)
* fixed CMake build failures of the TRMM kernels
power:
* fixed building for PPCG4 with CMake
* fixed SSCAL/DSCAL on PPC970 running FreeBSD
* fixed a potential alignment issue in the POWER8 SGEMV kernel
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
zarch:
* fixed corner cases of NAN and INF input handling in CSCAL and ZSCAL
* fixed unwanted generation of object files with a writable stack
- Removed Restore-the-non-vectorized-code-from-before-PR4880-for-POWER8.patch
as incorporated upstream
- Added testrun package which runs the tests separately, the package
itself is empty, but build fails if any test fails
* 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).
/usr/lib/libopenblasp.so.0 /usr/lib/openblas-pthreads /usr/lib/openblas-pthreads/libopenblas.so.0
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 02:32:54 2026