Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions Changelog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,99 @@
OpenBLAS ChangeLog
====================================================================
Version 0.3.34
9-Jul-2026

general:
- Fixed potential race conditions between concurrent calls to level3 BLAS
functions (inadvertent use of non-unified locks)
- Fixed potential race condition in GETRF
- Added or improved multithreading thresholds in SPR,SPR2,SYR,SYR2,TBMV,TPMV
- Added multithreading thresholds to GETRS, LAED3, LASWP, LAUUM, TRTRS, ZTRTRI
- Guarded against spurious NaN values in the reimplemented ?LAED3
- Fixed spurious and conflicting setting of job numbers in gmake builds
- Fixed a potential linking issue with the fortran runtime in the BLAS tests
- Fixed potential access to unrelated memory in the C fallback versions of LAPACK
functions ILAENV and IPARMQ
- Fixed the generated pkgfile to support spaces in path names
- Added support for compilation with the experimental, LLVM-based memory-safe C toolchain
known as Fil-C
- Imported recent updates from Reference-LAPACK to realign with its upcoming 3.13.0 release:
- Added non-trivial terminating case to ?LARFT calculation (Reference-LAPACK PR 1163)
- Fixed workspace calculation for CUNMLQ with K=0 (Reference-LAPACK PR 1225)
- Fixed wrong Y increment used in ?ORDB3/?UNBDB3 (Reference-LAPACK PR 1265)
- Fixed wrong name reported in XERBLA call of ZLA_SYRFSX_EXTENDED (PR 1268)
- Fixed wrong JOBA type in SGESVJ call of SGEJSV (Reference-LAPACK PR 1269)
- Fixed wrong workspace in DGEJSV corrupting memory in DGESVJ (PR 1270)
- Fixed wrong or missing EXTERNAL declarations (Reference-LAPACK PR 1271)
- Fixed wrong operand number in errors of GGSVD3,UN/ORBDB4,UN/ORCSD (PR 1272)
- Fixed sign of error flag in LWORK check of LAQZ0 (Reference-LAPACK PR 1273)
- Fixed too small workspace query result from SGGEV3 (Reference-LAPACK PR 1274)
- Fixed DLASWLQ not rejecting NB=0 (Reference-LAPACK PR 1275)
- Avoid immediate overflows in GEJSV,GESVJ,GESVDX,GEDMD (Reference-LAPACK PR 1283)
- Ignore LDU value when U unused in LAPACKE_?GESVD_WORK (Reference-LAPACK PR 1284)
- Fixed premature return before fallback code in BDSQR (Reference-LAPACK PR 1285)
- Increased tolerance in LASD2 to improve BDSDC stability (Reference-LAPACK PR 1286)
- Fixed row-major A dimension for SIDE=R in LAPACKE_?TPRFB_WORK (PR 1287)
- Avoid immediate overflows in ?LARFGP (Reference-LAPACK PR 1290)
- Added handling of degenerate cases in OR/UNCSD2BY1 (Reference-LAPACK PR 1291)
- Fixed workspace for tiny inputs in ORM/UNM-L/R-Q and -Q-L/R (PR 1292)
- Scaled convergence thresholds in ?BBCSD to improve accuracy (PR 1293)
- Fixed integer overflow in the LAPACKE nancheck helpers (Reference-LAPACK PR 1294)
- Relaxed eigenvalue consistency checks in testsuite (Reference-LAPACK PR 1297)
- Switched to QR algorithm in ?BDSDC for bidiagonal SVD with vectors (PR 1300)
- Corrected description of QMAX parameter in ?LASQ3 (Reference-LAPACK PR 1307)
- Fixed bad scaling in ?LARFF that slowed down DSYEVR/ZHEEVR (PR 1309)
- Fixed handling of negative increments in ?LARF/?LARF1F/?LARF1L (PR 1315)
- Increased tolerances in ?LAED to match changes in ?LASD (PR 1317)
- Fixed LAPACKE_?lacpy_work destroying data in row-major mode (PR 1318)

arm:
- Added a significantly faster SGEMM kernel

arm64:
- Added optimized kernels for OMATCOPY_CT and OMATCOPY_RT on all targets
- Fixed miscompilation of CGETF2/ZGETF2 by LLVM on Apple M
- Fixed SSYRK miscalculation on Apple M systems bigger than the Mac mini
- Fixed remaining cases of CMake build failure due to long argument lists on OSX
- On OSX, reduced the list of DYNAMIC_ARCH targets to those relevant for this os
- Fixed platform detection and cross-builds to iOS on OSX with AppleClang
- Fixed gmake builds for SME targets on OSX with AppleClang
- Improved the compiler test for SME compatibility in the CMake build files
- Fixed runtime detection of SME in DYNAMIC_ARCH builds made with CMake
- Restored a fix for building DYNAMIC_ARCH under Windows on Arm that was inadvertently
dropped in 0.3.33)
- Corrected the selection criteria for the SME-based SGEMM kernel on Apple M
- Fixed DYNAMIC_ARCH builds on hosts without SVE capability
- Fixed building a shared library with NAG Fortran on OSX
- Fixed misdetection of C11 capability (and resulting race conditions during concurrent
calls) in Clang builds under OSX
- Fixed miscalculation of Apple M cpu time leading to benchmarks 40 times too slow

loongarch64:
- Corrected generation of the LSX/LASX status flags in the configuration files
- Added optimized SDOT, ICAMIN/IZAMIN and ZGEMM kernels for 2K3000

power:
- Fixed an incompatibility in the assembly kernels for SCAL on FreeBSD
- Fixed a potentially spurious check for gfortran in gmake builds with LLVM
that could make POWER9/10 builds fall back to POWER8 kernels
- Improved build flags and cpu register constraints for POWER10
- Fixed linking issues on BSD

riscv64:
- Fixed compilation for DYNAMIC_ARCH with BUILD_BFLOAT16 defined
- Fixed SGEMM and DGEMM errors on ZVL256 introduced in 0.3.33
- Sped up GEMV on C910V and ZVL256B targets
- Improved the x280 S/DROTM kernel and enabled it on ZVL128B/ZVL256B
- Added optimized STRSM kernels for ZVL128B/ZVL256B
- Added optimized D/C/ZTRSM kernels (RN and RT cases) for ZVL128B/ZVL256B

x86_64:
- Fixed remaining cases of CMake build failure due to long argument lists on OSX
- Improved cpu capability check for recent Zhaoxin cpus
- Fixed wrong TRSM results on AMD Barcelona (and Ryzen systems in 32bit builds)
- Added autodetection support for the fake Opteron-like CPUID used by QEMU on AMD hardware
====================================================================
Version 0.3.33
23-Apr-2026

Expand Down
Loading