You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -494,7 +494,7 @@ function matmul2x2or3x3_nonzeroalpha!(C, tA, tB, A, B, α::Bool, β)
494
494
returnfalse
495
495
end
496
496
497
-
# THE one big BLAS dispatch. This is split into two methods to improve latency
497
+
# THE one big BLAS dispatch. This is split into syrk/herk/gemm and symm/hemm/none methods to improve latency
498
498
Base.@constprop:aggressivefunctiongeneric_matmatmul_wrapper!(C::StridedMatrix{T}, tA, tB, A::StridedVecOrMat{T}, B::StridedVecOrMat{T},
499
499
α::Number, β::Number, val::BlasFlag.SyrkHerkGemm) where {T<:BlasFloat}
500
500
mA, nA =lapack_size(tA, A)
@@ -507,6 +507,12 @@ Base.@constprop :aggressive function generic_matmatmul_wrapper!(C::StridedMatrix
507
507
_syrk_herk_gemm_wrapper!(C, tA, tB, A, B, α, β, val)
508
508
return C
509
509
end
510
+
511
+
functiongeneric_matmatmul_wrapper!(C::StridedVecOrMat{Complex{T}}, tA, tB, A::StridedVecOrMat{Complex{T}}, B::StridedVecOrMat{T},
512
+
α::Number, β::Number, ::Val{BlasFlag.GEMM}) where {T<:BlasReal}
513
+
gemm_wrapper!(C, tA, tB, A, B, α, β)
514
+
end
515
+
510
516
Base.@constprop:aggressivefunction_syrk_herk_gemm_wrapper!(C, tA, tB, A, B, α, β, ::Val{BlasFlag.SYRK})
511
517
if A === B
512
518
tA_uc =uppercase(tA) # potentially strip a WrapperChar
@@ -583,14 +589,6 @@ Base.@constprop :aggressive generic_matmatmul!(C::StridedMatrix{T}, tA, tB, A::S
583
589
_add::MulAddMul=MulAddMul()) where {T<:BlasFloat} =
584
590
generic_matmatmul!(C, tA, tB, A, B, _add.alpha, _add.beta)
585
591
586
-
functiongeneric_matmatmul_wrapper!(C::StridedVecOrMat{Complex{T}}, tA, tB, A::StridedVecOrMat{Complex{T}}, B::StridedVecOrMat{T},
587
-
α::Number, β::Number, ::Val{true}) where {T<:BlasReal}
588
-
gemm_wrapper!(C, tA, tB, A, B, α, β)
589
-
end
590
-
Base.@constprop:aggressivefunctiongeneric_matmatmul_wrapper!(C::StridedVecOrMat{Complex{T}}, tA, tB, A::StridedVecOrMat{Complex{T}}, B::StridedVecOrMat{T},
591
-
alpha::Number, beta::Number, ::Val{false}) where {T<:BlasReal}
0 commit comments