-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Construct MulAddMul at gemm_wrapper! call sites #34601
Conversation
This is suggested by chethega in: JuliaLang#29634 (comment)
Co-Authored-By: Kristoffer Carlsson <[email protected]>
Let's go with this one? |
Yeah, I think this is better. The latest commits in #34384 started breaking the tests. |
Win32 CI hang happens on the other PRs as well. |
The part of #34384 that moves the calls to matmul2x2! and matmul3x3! before all the heavywight checking that they don't require seems like an independently good change, however, since it should reduce overhead in those cases. Separating higher overhead call to BLAS into its own subroutine also seems like a good thing. Not sure why this was suddenly decided to be much better. |
Because it didn't require inlining or constant propagation, it seemed less brittle to compiler changes. |
Sure, that's good. The other parts of that change are good anyway though, without the parts that force inlining and constant propagation—i.e. that version of |
* Construct MulAddMul at gemm_wrapper! call sites * Add branches manually in MulAddMul constructor This is suggested by chethega in: #29634 (comment) * Update stdlib/LinearAlgebra/src/generic.jl Co-Authored-By: Kristoffer Carlsson <[email protected]> Co-authored-by: Kristoffer Carlsson <[email protected]> (cherry picked from commit 2da42e0)
* Construct MulAddMul at gemm_wrapper! call sites * Add branches manually in MulAddMul constructor This is suggested by chethega in: #29634 (comment) * Update stdlib/LinearAlgebra/src/generic.jl Co-Authored-By: Kristoffer Carlsson <[email protected]> Co-authored-by: Kristoffer Carlsson <[email protected]>
This is yet another PR to fix JuliaLang/LinearAlgebra.jl#684. The idea is to move alpha and beta to the type domain as early as possible. Maybe this is better than #34384 as it relies less on inlining and constant propagation?