Skip to content

Conversation

@kshyatt
Copy link
Member

@kshyatt kshyatt commented Dec 2, 2025

These dispatch to bad places in LinearAlgebra.jl otherwise

@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

Your PR requires formatting changes to meet the project's style guidelines.
Please consider running Runic (git runic master) to apply these changes.

Click here to view the suggested changes.
diff --git a/src/host/linalg.jl b/src/host/linalg.jl
index bc59996..e17d08d 100644
--- a/src/host/linalg.jl
+++ b/src/host/linalg.jl
@@ -309,11 +309,13 @@ function LinearAlgebra.mul!(C::Diagonal{<:Any, <:AbstractGPUArray},
     return C
 end
 
-function LinearAlgebra.mul!(C::Diagonal{<:Any, <:AbstractGPUArray},
-                            A::Diagonal{<:Any, <:AbstractGPUArray},
-                            B::Diagonal{<:Any, <:AbstractGPUArray},
-                            α::Number,
-                            β::Number)
+function LinearAlgebra.mul!(
+        C::Diagonal{<:Any, <:AbstractGPUArray},
+        A::Diagonal{<:Any, <:AbstractGPUArray},
+        B::Diagonal{<:Any, <:AbstractGPUArray},
+        α::Number,
+        β::Number
+    )
     dc = C.diag
     da = A.diag
     db = B.diag
@@ -339,14 +341,16 @@ function LinearAlgebra.mul!(C::Diagonal{<:Any, <:AbstractGPUArray},
     return C
 end
 
-function LinearAlgebra.mul!(C::Diagonal{<:Any, <:AbstractGPUArray},
-                            A::Union{AbstractGPUArray, Adjoint{T,<:AbstractGPUArray{T}}, Transpose{T,<:AbstractGPUArray{T}}},
-                            B::Union{AbstractGPUArray, Adjoint{T,<:AbstractGPUArray{T}}, Transpose{T,<:AbstractGPUArray{T}}},
-                            α::Number,
-                            β::Number) where {T}
+function LinearAlgebra.mul!(
+        C::Diagonal{<:Any, <:AbstractGPUArray},
+        A::Union{AbstractGPUArray, Adjoint{T, <:AbstractGPUArray{T}}, Transpose{T, <:AbstractGPUArray{T}}},
+        B::Union{AbstractGPUArray, Adjoint{T, <:AbstractGPUArray{T}}, Transpose{T, <:AbstractGPUArray{T}}},
+        α::Number,
+        β::Number
+    ) where {T}
     dc = C.diag
-    d  = length(dc)
-    m, n   = size(A, 1), size(A, 2)
+    d = length(dc)
+    m, n = size(A, 1), size(A, 2)
     m′, n′ = size(B, 1), size(B, 2)
     m == d  || throw(DimensionMismatch("left hand side has $m rows but output is $d by $d"))
     n′ == d || throw(DimensionMismatch("right hand side has $n′ cols but output is $d by $d"))
@@ -386,8 +390,9 @@ function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
 end
 
 function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
-                            A::Union{AbstractGPUArray, Adjoint{T,<:AbstractGPUArray{T}}, Transpose{T,<:AbstractGPUArray{T}}},
-                            D::Diagonal{<:Any, <:AbstractGPUArray}) where {T}
+        A::Union{AbstractGPUArray, Adjoint{T, <:AbstractGPUArray{T}}, Transpose{T, <:AbstractGPUArray{T}}},
+        D::Diagonal{<:Any, <:AbstractGPUArray}
+    ) where {T}
     dd = D.diag
     d = length(dd)
     m, n = size(A, 1), size(A, 2)
@@ -401,10 +406,11 @@ function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
 end
 
 function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
-                            A::Union{AbstractGPUArray, Adjoint{T,<:AbstractGPUArray{T}}, Transpose{T,<:AbstractGPUArray{T}}},
+        A::Union{AbstractGPUArray, Adjoint{T, <:AbstractGPUArray{T}}, Transpose{T, <:AbstractGPUArray{T}}},
                             D::Diagonal{<:Any, <:AbstractGPUArray},
                             α::Number,
-                            β::Number) where {T}
+        β::Number
+    ) where {T}
     dd = D.diag
     d = length(dd)
     m, n = size(A, 1), size(A, 2)

@christiangnrd
Copy link
Member

@kshyatt Can I push test fixes?

@kshyatt
Copy link
Member Author

kshyatt commented Dec 4, 2025 via email

@kshyatt
Copy link
Member Author

kshyatt commented Dec 4, 2025

Good to merge? Huge shoutout to @christiangnrd for getting this in shape

@kshyatt kshyatt requested a review from maleadt December 5, 2025 09:49
@kshyatt kshyatt merged commit d0548b4 into master Dec 5, 2025
19 checks passed
@kshyatt kshyatt deleted the ksh/diag branch December 5, 2025 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants