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
function MatrixAlgebraKit.default_qr_algorithm(::Type{T}; kwargs...) where {T <:StridedCuMatrix}
20
+
function MatrixAlgebraKit.default_qr_algorithm(::Type{T}; kwargs...) where {TT <:BlasFloat, T <:StridedCuMatrix{TT}}
19
21
returnCUSOLVER_HouseholderQR(; kwargs...)
20
22
end
21
-
function MatrixAlgebraKit.default_lq_algorithm(::Type{T}; kwargs...) where {T <:StridedCuMatrix}
23
+
function MatrixAlgebraKit.default_lq_algorithm(::Type{T}; kwargs...) where {TT <:BlasFloat, T <:StridedCuMatrix{TT}}
22
24
qr_alg =CUSOLVER_HouseholderQR(; kwargs...)
23
25
returnLQViaTransposedQR(qr_alg)
24
26
end
25
-
function MatrixAlgebraKit.default_svd_algorithm(::Type{T}; kwargs...) where {T <:StridedCuMatrix}
27
+
function MatrixAlgebraKit.default_svd_algorithm(::Type{T}; kwargs...) where {TT <:BlasFloat, T <:StridedCuMatrix{TT}}
26
28
returnCUSOLVER_QRIteration(; kwargs...)
27
29
end
28
-
function MatrixAlgebraKit.default_eig_algorithm(::Type{T}; kwargs...) where {T <:StridedCuMatrix}
30
+
function MatrixAlgebraKit.default_eig_algorithm(::Type{T}; kwargs...) where {TT <:BlasFloat, T <:StridedCuMatrix{TT}}
29
31
returnCUSOLVER_Simple(; kwargs...)
30
32
end
31
-
function MatrixAlgebraKit.default_eigh_algorithm(::Type{T}; kwargs...) where {T <:StridedCuMatrix}
33
+
function MatrixAlgebraKit.default_eigh_algorithm(::Type{T}; kwargs...) where {TT <:BlasFloat, T <:StridedCuMatrix{TT}}
32
34
returnCUSOLVER_DivideAndConquer(; kwargs...)
33
35
end
34
36
37
+
# include for block sector support
38
+
function MatrixAlgebraKit.default_qr_algorithm(::Type{Base.ReshapedArray{T, 2, SubArray{T, 1, A, Tuple{UnitRange{Int}}, true}, Tuple{}}}; kwargs...) where {T <:BlasFloat, A <:CuVecOrMat{T}}
39
+
returnCUSOLVER_HouseholderQR(; kwargs...)
40
+
end
41
+
function MatrixAlgebraKit.default_lq_algorithm(::Type{Base.ReshapedArray{T, 2, SubArray{T, 1, A, Tuple{UnitRange{Int}}, true}, Tuple{}}}; kwargs...) where {T <:BlasFloat, A <:CuVecOrMat{T}}
42
+
qr_alg =CUSOLVER_HouseholderQR(; kwargs...)
43
+
returnLQViaTransposedQR(qr_alg)
44
+
end
45
+
function MatrixAlgebraKit.default_svd_algorithm(::Type{Base.ReshapedArray{T, 2, SubArray{T, 1, A, Tuple{UnitRange{Int}}, true}, Tuple{}}}; kwargs...) where {T <:BlasFloat, A <:CuVecOrMat{T}}
46
+
returnCUSOLVER_Jacobi(; kwargs...)
47
+
end
48
+
function MatrixAlgebraKit.default_eig_algorithm(::Type{Base.ReshapedArray{T, 2, SubArray{T, 1, A, Tuple{UnitRange{Int}}, true}, Tuple{}}}; kwargs...) where {T <:BlasFloat, A <:CuVecOrMat{T}}
49
+
returnCUSOLVER_Simple(; kwargs...)
50
+
end
51
+
function MatrixAlgebraKit.default_eigh_algorithm(::Type{Base.ReshapedArray{T, 2, SubArray{T, 1, A, Tuple{UnitRange{Int}}, true}, Tuple{}}}; kwargs...) where {T <:BlasFloat, A <:CuVecOrMat{T}}
0 commit comments