|
1 | 1 | OpenBLAS ChangeLog |
| 2 | +==================================================================== |
| 3 | +Version 0.3.34 |
| 4 | +16-Jul-2026 |
| 5 | + |
| 6 | +general: |
| 7 | + - Fixed potential race conditions between concurrent calls to level3 BLAS |
| 8 | + functions (inadvertent use of non-unified locks) |
| 9 | + - Fixed potential race condition in GETRF |
| 10 | + - Added or improved multithreading thresholds in SPR,SPR2,SYR,SYR2,TBMV,TPMV |
| 11 | + - Added multithreading thresholds to GETRS, LAED3, LASWP, LAUUM, TRTRS, ZTRTRI |
| 12 | + - Added a BLAS extension for overriding the default error handler (XERBLA) function |
| 13 | + - Reimplemented the BLAS extension GEADD to support independent transposition of |
| 14 | + both matrices (unlike the previous, ATLAS-like implementation) |
| 15 | + - Guarded against spurious NaN values in the reimplemented ?LAED3 |
| 16 | + - Fixed compilation of the BLAS extension tests with CMake |
| 17 | + - Fixed spurious and conflicting setting of job numbers in gmake builds |
| 18 | + - Fixed a potential linking issue with the fortran runtime in the BLAS tests |
| 19 | + - Fixed potential access to unrelated memory in the C fallback versions of LAPACK |
| 20 | + functions ILAENV and IPARMQ |
| 21 | + - Fixed the generated pkgfile to support spaces in path names |
| 22 | + - Added support for compilation with the experimental, LLVM-based memory-safe C toolchain |
| 23 | + known as Fil-C |
| 24 | + - Imported recent updates from Reference-LAPACK to realign with its upcoming 3.13.0 release: |
| 25 | + - Added non-trivial terminating case to ?LARFT calculation (Reference-LAPACK PR 1163) |
| 26 | + - Fixed workspace calculation for CUNMLQ with K=0 (Reference-LAPACK PR 1225) |
| 27 | + - Rearranged computations in C/ZLARTG to avoid large intermediates (PR 1245) |
| 28 | + - Fixed wrong Y increment used in ?ORDB3/?UNBDB3 (Reference-LAPACK PR 1265) |
| 29 | + - Fixed wrong name reported in XERBLA call of ZLA_SYRFSX_EXTENDED (PR 1268) |
| 30 | + - Fixed wrong JOBA type in SGESVJ call of SGEJSV (Reference-LAPACK PR 1269) |
| 31 | + - Fixed wrong workspace in DGEJSV corrupting memory in DGESVJ (PR 1270) |
| 32 | + - Fixed wrong or missing EXTERNAL declarations (Reference-LAPACK PR 1271) |
| 33 | + - Fixed wrong operand number in errors of GGSVD3,UN/ORBDB4,UN/ORCSD (PR 1272) |
| 34 | + - Fixed sign of error flag in LWORK check of LAQZ0 (Reference-LAPACK PR 1273) |
| 35 | + - Fixed too small workspace query result from SGGEV3 (Reference-LAPACK PR 1274) |
| 36 | + - Fixed DLASWLQ not rejecting NB=0 (Reference-LAPACK PR 1275) |
| 37 | + - Avoid immediate overflows in GEJSV,GESVJ,GESVDX,GEDMD (Reference-LAPACK PR 1283) |
| 38 | + - Ignore LDU value when U unused in LAPACKE_?GESVD_WORK (Reference-LAPACK PR 1284) |
| 39 | + - Fixed premature return before fallback code in BDSQR (Reference-LAPACK PR 1285) |
| 40 | + - Increased tolerance in LASD2 to improve BDSDC stability (Reference-LAPACK PR 1286) |
| 41 | + - Fixed row-major A dimension for SIDE=R in LAPACKE_?TPRFB_WORK (PR 1287) |
| 42 | + - Fixed seed advancement in SLARUV/DLARUV (Reference-LAPACK PR 1288) |
| 43 | + - Fixed workspace queries for TZRZF/UNMRZ in GELSY (Reference-LAPACK PRs 1289/1325) |
| 44 | + - Avoid immediate overflows in ?LARFGP (Reference-LAPACK PR 1290) |
| 45 | + - Added handling of degenerate cases in OR/UNCSD2BY1 (Reference-LAPACK PR 1291) |
| 46 | + - Fixed workspace for tiny inputs in ORM/UNM-L/R-Q and -Q-L/R (PR 1292) |
| 47 | + - Scaled convergence thresholds in ?BBCSD to improve accuracy (PR 1293) |
| 48 | + - Fixed integer overflow in the LAPACKE nancheck helpers (Reference-LAPACK PR 1294) |
| 49 | + - Relaxed eigenvalue consistency checks in testsuite (Reference-LAPACK PR 1297) |
| 50 | + - Fixed test failures in ?CHKLQ with NB=1 and M=N (Reference-LAPACK PR 1298) |
| 51 | + - Switched to QR algorithm in ?BDSDC for bidiagonal SVD with vectors (PR 1300) |
| 52 | + - Replaced HUGE intrinsic in ?TGSJA with parameter for consistency (PR 1305) |
| 53 | + - Corrected description of QMAX parameter in ?LASQ3 (Reference-LAPACK PR 1307) |
| 54 | + - Fixed bad scaling in ?LARFF that slowed down DSYEVR/ZHEEVR (PR 1309) |
| 55 | + - Fixed handling of negative increments in ?LARF/?LARF1F/?LARF1L (PR 1315) |
| 56 | + - Increased tolerances in ?LAED to match changes in ?LASD (PR 1317) |
| 57 | + - Fixed LAPACKE_?lacpy_work destroying data in row-major mode (PR 1318) |
| 58 | + |
| 59 | +arm: |
| 60 | + - Added a significantly faster SGEMM kernel |
| 61 | + |
| 62 | +arm64: |
| 63 | + - Added optimized kernels for OMATCOPY_CT and OMATCOPY_RT on all targets |
| 64 | + - Fixed SDOT/DDOT on non-SVE-capable cpus not initializing the result correctly |
| 65 | + - Fixed miscompilation of CGETF2/ZGETF2 by LLVM on Apple M |
| 66 | + - Fixed SSYRK miscalculation on Apple M systems bigger than the Mac mini |
| 67 | + - Fixed remaining cases of CMake build failure due to long argument lists on OSX |
| 68 | + - On OSX, reduced the list of DYNAMIC_ARCH targets to those relevant for this os |
| 69 | + - Fixed platform detection and cross-builds to iOS on OSX with AppleClang |
| 70 | + - Fixed gmake builds for SME targets on OSX with AppleClang |
| 71 | + - Improved the compiler test for SME compatibility in the CMake build files |
| 72 | + - Fixed runtime detection of SME in DYNAMIC_ARCH builds made with CMake |
| 73 | + - Restored a fix for building DYNAMIC_ARCH under Windows on Arm that was inadvertently |
| 74 | + dropped in 0.3.33) |
| 75 | + - Corrected the selection criteria for the SME-based SGEMM kernel on Apple M |
| 76 | + - Fixed DYNAMIC_ARCH builds on hosts without SVE capability |
| 77 | + - Fixed building a shared library with NAG Fortran on OSX |
| 78 | + - Fixed misdetection of C11 capability (and resulting race conditions during concurrent |
| 79 | + calls) in Clang builds under OSX |
| 80 | + - Fixed miscalculation of Apple M cpu time leading to benchmarks 40 times too slow |
| 81 | + |
| 82 | +loongarch64: |
| 83 | + - Corrected generation of the LSX/LASX status flags in the configuration files |
| 84 | + - Fixed potential reads of memory beyond the array bounds in the LA464 SGEMM kernel |
| 85 | + - Added optimized SDOT, ICAMIN/IZAMIN and ZGEMM kernels for 2K3000 |
| 86 | + |
| 87 | +power: |
| 88 | + - Fixed an incompatibility in the assembly kernels for SCAL on FreeBSD |
| 89 | + - Fixed a potentially spurious check for gfortran in gmake builds with LLVM |
| 90 | + that could make POWER9/10 builds fall back to POWER8 kernels |
| 91 | + - Improved build flags and cpu register constraints for POWER10 |
| 92 | + - Fixed linking issues on BSD |
| 93 | + |
| 94 | +riscv64: |
| 95 | + - Fixed compilation for DYNAMIC_ARCH with BUILD_BFLOAT16 defined |
| 96 | + - Fixed SGEMM and DGEMM errors on ZVL256 introduced in 0.3.33 |
| 97 | + - Sped up GEMV on C910V and ZVL256B targets |
| 98 | + - Improved the x280 S/DROTM kernel and enabled it on ZVL128B/ZVL256B |
| 99 | + - Added optimized STRSM kernels for ZVL128B/ZVL256B |
| 100 | + - Added optimized D/C/ZTRSM kernels (RN and RT cases) for ZVL128B/ZVL256B |
| 101 | + - Added a dedicated target for the SiFive U74 with optimized SGEMM and DGEMM kernels |
| 102 | + - Made L2 cache size available at runtime for scaling GEMM block sizes |
| 103 | + |
| 104 | +x86_64: |
| 105 | + - Fixed remaining cases of CMake build failure due to long argument lists on OSX |
| 106 | + - Improved cpu capability check for recent Zhaoxin cpus |
| 107 | + - Fixed wrong TRSM results on AMD Barcelona (and Ryzen systems in 32bit builds) |
| 108 | + - Added autodetection support for the fake Opteron-like CPUID used by QEMU on AMD hardware |
| 109 | + - Fixed automatic setting of the BINARY=32 option when building with 32bit toolchains |
| 110 | + - Fixed miscompilation of GEMM,SYR2K and TPMV kernels with gcc15/gcc16 on 32bit FreeBSD |
| 111 | + |
2 | 112 | ==================================================================== |
3 | 113 | Version 0.3.33 |
4 | 114 | 23-Apr-2026 |
|
0 commit comments