Commit a39171d
SupernodalLU: route panel triangular solves through TriangularSolve (#1113)
The supernodal factorization applies two BLAS-3 trsms per supernode
against its just-factored diagonal block: the L21 panel on the right by
U11, and the U12 panel on the left by unit-L11. They now go through
overridable hooks whose default is the stdlib triangular solve, with
LinearSolveRecursiveFactorizationExt overriding them with
TriangularSolve.
TriangularSolve is a hard dependency of RecursiveFactorization and is
what RecursiveFactorization uses for its own trsms, so this adds nothing
to anyone's dependency graph: it is declared as a weakdep purely to
trigger the extension, and since RecursiveFactorization pulls it in,
loading RecursiveFactorization alone still activates everything. That is
also exactly the condition under which RFLUFactorization becomes the
dense default, so the sparse solver's panel work and the dense default
run on the same kernels.
Measured refactorization, BLAS pinned to 1 thread:
poisson2d_512 0.4781 -> 0.3921 s (-18%)
poisson3d_32 0.3466 -> 0.3027 s (-13%)
Residuals unchanged (1.5e-14 / 8.8e-16).
GROUP=Core passes.
Co-authored-by: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent e7742ab commit a39171d
2 files changed
Lines changed: 46 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
227 | 254 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
274 | 274 | | |
275 | 275 | | |
276 | 276 | | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
277 | 294 | | |
278 | 295 | | |
279 | 296 | | |
| |||
497 | 514 | | |
498 | 515 | | |
499 | 516 | | |
500 | | - | |
501 | | - | |
| 517 | + | |
| 518 | + | |
502 | 519 | | |
503 | 520 | | |
504 | 521 | | |
| |||
0 commit comments