|
| 1 | +commit 578ce85c8c23843dce59fbf47a5e16f98e8c7b5e |
| 2 | +Author: Devin Matthews <damatthews@smu.edu> |
| 3 | +Date: Thu Jun 25 15:52:47 2026 -0500 |
| 4 | + |
| 5 | + Version file update (2.1) |
| 6 | + |
| 7 | +commit b258cb8d9da6072e796f77f81e0d840fc8d2181d |
| 8 | +Author: Devin Matthews <damatthews@smu.edu> |
| 9 | +Date: Thu Jun 25 15:52:21 2026 -0500 |
| 10 | + |
| 11 | + Update ReleaseNotes.md. |
| 12 | + |
| 13 | +commit fdb56b1ac72ecd99d339a158d1565c9cdc5608f1 |
| 14 | +Author: Devin Matthews <damatthews@smu.edu> |
| 15 | +Date: Thu Jun 25 15:52:12 2026 -0500 |
| 16 | + |
| 17 | + Update CREDITS. |
| 18 | + |
| 19 | +commit e0e0127814eb4100703b601d99173445a5d91794 |
| 20 | +Author: Devin Matthews <damatthews@smu.edu> |
| 21 | +Date: Tue Nov 11 10:18:12 2025 -0600 |
| 22 | + |
| 23 | + Update config.yml (#910) |
| 24 | + |
| 25 | + Details: |
| 26 | + - Bump xcode version in CircleCI. |
| 27 | + |
| 28 | + (cherry picked from commit b5d57831a9cecd6e7e83b039be66fbf31a005062) |
| 29 | + |
| 30 | +commit 6a161f21e68e46cbcae33e8d71b7c4b49428c172 |
| 31 | +Author: Devin Matthews <damatthews@smu.edu> |
| 32 | +Date: Thu Jun 25 15:01:34 2026 -0500 |
| 33 | + |
| 34 | + Fix firestorm gemmsup (#933) |
| 35 | + |
| 36 | + Details: |
| 37 | + - Add comprehensive testing for gemmsup kernels. |
| 38 | + - Add "repeat" flag to test experiment callback so that gemmsup kernel |
| 39 | + tests can repeat over all microkernel shapes. This is a very hacky |
| 40 | + solution but something more proper would require a much more |
| 41 | + substantial change for a very narrow use-case. |
| 42 | + - Add new interface type so that we can force all mixtures of row- and |
| 43 | + column-storage for gemmsup. This is necessary to test all kernels. |
| 44 | + - Some arcane trickery with the storage type (`stor3_t stor_id`), the |
| 45 | + storage (row/column) of parameters, and transposition in order to a) |
| 46 | + actually test all kernels, and b) ensure that kernels receive operands |
| 47 | + which meet the expected constraints. For example, the RCC kernel is |
| 48 | + "non-primary" for a row-major kernel, and so need to be adjusted so |
| 49 | + that storage is actually like CRR. |
| 50 | + - It seems highly likely that a mixture of row- and column-preferential |
| 51 | + gemmsup kernels will *NEVER* work. There probably shouldn't be |
| 52 | + separate preferences for each kernel. |
| 53 | + - Test gemm ukrs for all microtile sizes. |
| 54 | + - Add Makefile option to echo testsuite output. |
| 55 | + - Use `make T=1 ...` to echo testsuite output as it is run. |
| 56 | + - Output is still written to `output.testsuite` regardless. |
| 57 | + - Have CI tests use this option to prevent timeouts due to inactivity. |
| 58 | + - Initialize all reference sup blocksizes. |
| 59 | + - Add flags (gcc+llvm) to make `void*` arith. an error |
| 60 | + - Fix bug with firestorm (Apple M-series) gemmsup. |
| 61 | + - One of the armv8a gemmsup kernels was performing arithmetic on `void*`. |
| 62 | + - Only firestorm is affected as of now, but potentially other arm64 |
| 63 | + architectures if gemmsup were to be enabled. |
| 64 | + - Manifested as UB (typically incorrect numerical result). |
| 65 | + - Thx to Oliver Grisel (@ogrisel) for reporting and sending MRE. |
| 66 | + |
| 67 | + (cherry picked from commit 5e22e1c63ccbda6e4320a4d694806edd564c7c85) |
| 68 | + |
| 69 | +commit 75ecc45a2fda18f97c65f610a473dbe9bd93ef92 |
| 70 | +Author: Eylon Eliyahu Krause <64223519+EylonKrause@users.noreply.github.com> |
| 71 | +Date: Thu Jun 25 00:31:37 2026 +0300 |
| 72 | + |
| 73 | + Fix use-after-free of root thrinfo_t in sup thread decorator (#931) |
| 74 | + |
| 75 | + Details: |
| 76 | + - `bli_l3_sup_thrinfo_update()` freed the root `thrinfo_t` node and returned a |
| 77 | + replacement through its `thrinfo_t**` out-parameter, but only the local |
| 78 | + 'thread' pointer inside `bli_gemmsup_int()`/`bli_gemmtsup_int()` was updated. |
| 79 | + The caller, `bli_l3_sup_thread_decorator_entry()`, still held the original |
| 80 | + pointer and used it for the closing `bli_thrinfo_barrier()` and |
| 81 | + `bli_thrinfo_free()`, reading and freeing already-freed memory |
| 82 | + (heap-use-after-free followed by a double-free of the root node). |
| 83 | + - This is normally masked because BLIS's sba/pba pools recycle the freed |
| 84 | + block, so it only manifests when the pools are disabled (e.g. |
| 85 | + `./configure --disable-sba-pools`, the configuration in #780) or under |
| 86 | + AddressSanitizer (`./configure --enable-asan`). |
| 87 | + - Re-factorize the thread control tree in place instead: keep the root |
| 88 | + node, which the decorator still owns, and free + regrow only the subtree |
| 89 | + beneath it. The shared subtree construction is factored into a new |
| 90 | + `bli_l3_sup_thrinfo_grow()` helper, mirroring the existing |
| 91 | + `bli_l3_thrinfo_create()`/`bli_l3_thrinfo_grow()` split, so the create and |
| 92 | + update paths no longer duplicate it. `bli_l3_sup_thrinfo_update()` now |
| 93 | + takes `thrinfo_t*` rather than `thrinfo_t**`. |
| 94 | + - Verified on a Zen4 (Ryzen 9 8940HX, Ubuntu 24.04): |
| 95 | + - `./configure --enable-asan --disable-sba-pools --disable-pba-pools auto`: |
| 96 | + AddressSanitizer reports heap-use-after-free in |
| 97 | + `bli_l3_sup_thread_decorator_entry` before this change; clean after. |
| 98 | + - Shipping config (`./configure auto`, pools enabled, `BLIS_NUM_THREADS=4`): |
| 99 | + the fast testsuite passes 2772/2772 and the BLAS test drivers all |
| 100 | + pass, with no numerical regression. |
| 101 | + - Fixes #919. |
| 102 | + - Fixes #780. |
| 103 | + - The diagnosis and the root-preserving fix strategy are due to @chillenb |
| 104 | + (#919, #920); this change implements the same strategy while removing the |
| 105 | + code duplication. |
| 106 | + - Thanks to @EylonKrause for the updated PR (#931). |
| 107 | + |
| 108 | + Signed-off-by: EylonKrause <eylon1909@gmail.com> |
| 109 | + Co-authored-by: Devin Matthews <damatthews@smu.edu> |
| 110 | + Co-authored-by: Christopher Hillenbrand <christopher.hillenbrand@yale.edu> |
| 111 | + (cherry picked from commit f650c3117c1476f2db7a6b11347af54a1bca9717) |
| 112 | + |
| 113 | +commit 087d92524f3c002c52a55aa8719bf41700d69581 |
| 114 | +Author: Michał Górny <mgorny@quansight.com> |
| 115 | +Date: Tue Nov 11 17:15:11 2025 +0100 |
| 116 | + |
| 117 | + Fix typo in `--help`: `--show-config-list` (#909) |
| 118 | + |
| 119 | + Details: |
| 120 | + - `--show-config-lists` should be `--show-config-list` in the `--help` output. |
| 121 | + |
| 122 | + Signed-off-by: Michał Górny <mgorny@quansight.com> |
| 123 | + (cherry picked from commit 34fa24be9ef0dfac04c89023a4981201cb33bac1) |
| 124 | + |
| 125 | +commit 29da50b9e25b01e410057ffb0c9c328a272e0982 |
| 126 | +Author: Spring Vaught <64140045+xvyv99@users.noreply.github.com> |
| 127 | +Date: Wed Nov 12 00:14:23 2025 +0800 |
| 128 | + |
| 129 | + fix(bli_gks): correct variable name in debug print statement (#906) |
| 130 | + |
| 131 | + Details: |
| 132 | + - Incorrect variable `ind` used in memory tracing print statement changed to `id`. |
| 133 | + |
| 134 | + (cherry picked from commit 295a600e586a1581bc1b20b00a6ed774c8e7cbcd) |
| 135 | + |
| 136 | +commit 3722d070191e5a3a2e7feffafbdb7580d12deb12 |
| 137 | +Author: Michał Górny <mgorny@gentoo.org> |
| 138 | +Date: Tue Nov 11 05:37:20 2025 +0100 |
| 139 | + |
| 140 | + Blacklist knl for clang 19+ (#908) |
| 141 | + |
| 142 | + Details: |
| 143 | + - KNL-specific `-mavx512er` and `-mavx512pf` flags have been removed |
| 144 | + from Clang in llvm/llvm-project#92883, which was included in Clang 19. |
| 145 | + - Fixes #907. |
| 146 | + |
| 147 | + Signed-off-by: Michał Górny <mgorny@quansight.com> |
| 148 | + (cherry picked from commit 071dfce5f7b1100bedbe2e1704b0f7c65639cce4) |
| 149 | + |
| 150 | +commit 20ebcf1a318e6930c94deeadcddb88122cd808c1 |
| 151 | +Author: harsdave <harsdave@amd.com> |
| 152 | +Date: Mon Oct 20 21:10:38 2025 +0530 |
| 153 | + |
| 154 | + fix(dgemm-sup-haswell kernels): correct offset calculation on void pointers (#900) |
| 155 | + |
| 156 | + Details: |
| 157 | + - The DGEMM sup haswell kernel was failing because the pointer offset was computed |
| 158 | + on a `void *`. |
| 159 | + - The offset must be calculated in units of `double`, so we now cast to `double *` |
| 160 | + before applying the offset. This ensures correct indexing in the matrix and resolves |
| 161 | + the kernel failure. |
| 162 | + - Fixes #899 |
| 163 | + |
| 164 | + (cherry picked from commit 5d9332ee4b5ba20b45d8d1e8baf6083cd5f952d7) |
| 165 | + |
| 166 | +commit 8f013052fdfcea4370947511564f843a7d5aa4e8 |
| 167 | +Author: Minh Quan Ho <1337056+hominhquan@users.noreply.github.com> |
| 168 | +Date: Thu Sep 25 18:27:57 2025 +0200 |
| 169 | + |
| 170 | + common.mk: fix flags concatenation order (#876) |
| 171 | + |
| 172 | + Details: |
| 173 | + - noopt-flags were added after some CROPTFLAGS or CKOPTFLAGS, which |
| 174 | + may alter expected behavior from user, since compiler only keeps |
| 175 | + the last occurrence of a flag. Flags should be appended from |
| 176 | + the most naive one (noopt) to the most advanced (opt) ones. |
| 177 | + - This commit moves noopt-flags to the first place of all sets. |
| 178 | + |
| 179 | + (cherry picked from commit e23d9366885e40dad627dc957bdb5773d9c028dc) |
| 180 | + |
| 181 | +commit b4734cbc5c6433495c552dcd807ba88d1c901170 |
| 182 | +Author: Devin Matthews <damatthews@smu.edu> |
| 183 | +Date: Thu Sep 11 19:00:41 2025 -0500 |
| 184 | + |
| 185 | + Update Haswell gemmsup fix for gcc 16 and later. (#891) |
| 186 | + |
| 187 | + Details: |
| 188 | + - The problem persists with gcc16 so enable the fix for gcc15 *and later* (thanks @negril). |
| 189 | + - Disable all vectorization, not just SLP vectorization (thanks @thesamesam). |
| 190 | + |
| 191 | + (cherry picked from commit 5c2b22da811b41a03905a8612e44579ad7fac48a) |
| 192 | + |
| 193 | +commit e84282f09c9267857cb687858e9f64e1a00f44fe |
| 194 | +Author: Devin Matthews <damatthews@smu.edu> |
| 195 | +Date: Fri Jul 25 15:37:39 2025 -0500 |
| 196 | + |
| 197 | + Fix installation of blis.h. |
| 198 | + |
| 199 | + (cherry picked from commit 358e689cadd6757f564a2992cf46a2f7d6fa6bb0) |
| 200 | + |
| 201 | +commit 6d5b8bfc523f5d603c87a86a1918f87dff8f5b93 |
| 202 | +Author: Devin Matthews <damatthews@smu.edu> |
| 203 | +Date: Wed Jul 23 14:44:45 2025 -0500 |
| 204 | + |
| 205 | + Improve NVHPC support and add CI test. (#880) |
| 206 | + |
| 207 | + (cherry picked from commit 54a01412126688a5325f4ce27b1b67fbed457aca) |
| 208 | + |
| 209 | +commit 1ed15a5e352ff97c6e584e5db5572afe4f2aeb7b |
| 210 | +Author: Devin Matthews <damatthews@smu.edu> |
| 211 | +Date: Wed Jul 23 14:05:13 2025 -0500 |
| 212 | + |
| 213 | + Additional symbols needed to be made public. |
| 214 | + |
| 215 | + (cherry picked from commit 3a2058a59a32055f800aa222645315b684bead2a) |
| 216 | + |
| 217 | +commit 89cabc386afd12b50f56b478d1e9bad01fddbec1 |
| 218 | +Author: Devin Matthews <damatthews@smu.edu> |
| 219 | +Date: Thu Jul 3 01:40:55 2025 +0300 |
| 220 | + |
| 221 | + Add struct/enum names for all typedefs. |
| 222 | + |
| 223 | + Details: |
| 224 | + - Structs and enums are typedef'd to save on typing, and many struct typedefs also have a related struct name (e.g. `typedef struct foo_s {...} foo_t;`). However, not all structs have this and none of the enums do. |
| 225 | + - When using BLIS from C++, an attempt to forward declare any unnamed but typedef'd fails (since it is an unnameable type). Structs with names work fine though. |
| 226 | + - Adding struct/enum names *everywhere* (even where it likely doesn't make sense) sets a universal precedent, and guarantees that all structs have names where they actually might be forward declared. |
| 227 | + - (p.s. it is sometimes advisable to forward declare a struct from `blis.h` rather than including the entire header at that point to avoid polluting other headers with the entire namespace [or the `#include` dependency]) |
| 228 | + |
| 229 | + (cherry picked from commit ef98321a7c5d927fbcc7474ff2084d09bd764cc4) |
| 230 | + |
| 231 | +commit e8566eb3e773fb54d11b33e371d13f22d2941e50 |
| 232 | +Author: Devin Matthews <damatthews@smu.edu> |
| 233 | +Date: Tue Jun 24 23:49:44 2025 -0500 |
| 234 | + |
| 235 | + CHANGELOG update (2.0) |
| 236 | + |
1 | 237 | commit 894b0955a250682da0d2d3f074f910aaaf88c168 |
2 | 238 | Author: Devin Matthews <damatthews@smu.edu> |
3 | 239 | Date: Tue Jun 24 23:39:05 2025 -0500 |
|
0 commit comments