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
- Added a BLAS extension for overriding the default error handler (XERBLA) routine
- Reimplemented the BLAS extension GEADD to support independent transposition of
both matrices (not available with the previous, ATLAS-like implementation) - Guarded against spurious NaN values in the reimplemented ?LAED3
- Fixed compilation of the BLAS extension tests with CMake
- 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)
- Rearranged computations in C/ZLARTG to avoid large intermediates (PR 1245)
- 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)
- Fixed seed advancement in SLARUV/DLARUV (Reference-LAPACK PR 1288)
- Fixed workspace queries for TZRZF/UNMRZ in GELSY (Reference-LAPACK PRs 1289/1325)
- 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)
- Fixed test failures in ?CHKLQ with NB=1 and M=N (Reference-LAPACK PR 1298)
- Switched to QR algorithm in ?BDSDC for bidiagonal SVD with vectors (PR 1300)
- Replaced HUGE intrinsic in ?TGSJA with parameter for consistency (PR 1305)
- 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 SDOT/DDOT on non-SVE-capable cpus not initializing the result correctly
- 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
- Fixed potential reads of memory beyond the array bounds in the LA464 SGEMM kernel
- 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
- Added a dedicated target for the SiFive U74 with optimized SGEMM and DGEMM kernels
- Made L2 cache size available at runtime for scaling GEMM block sizes
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
- Fixed automatic setting of the BINARY=32 option when building with 32bit toolchains
- Fixed miscompilations with gcc15/gcc16 on 32bit FreeBSD
md5sums:
ae9a0c2945f91b6f91747fd89a301d36 OpenBLAS-0.3.34.tar.gz
ba82478e775039d265241bcf87fbbc93 OpenBLAS-0.3.34.zip