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
Copy file name to clipboardExpand all lines: src/host/linalg.jl
+40-40Lines changed: 40 additions & 40 deletions
Original file line number
Diff line number
Diff line change
@@ -206,9 +206,9 @@ if VERSION < v"1.8-"
206
206
return B
207
207
end
208
208
else
209
-
function LinearAlgebra.mul!(B::AnyGPUVecOrMat,
210
-
D::Diagonal{<:Any, <:AnyGPUArray},
211
-
A::AnyGPUVecOrMat)
209
+
function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
210
+
D::Diagonal{<:Any, <:AbstractGPUArray},
211
+
A::AbstractGPUVecOrMat)
212
212
dd = D.diag
213
213
d =length(dd)
214
214
m, n =size(A, 1), size(A, 2)
@@ -220,9 +220,9 @@ else
220
220
B
221
221
end
222
222
223
-
function LinearAlgebra.mul!(B::AnyGPUVecOrMat,
224
-
D::Diagonal{<:Any, <:AnyGPUArray},
225
-
A::AnyGPUVecOrMat,
223
+
function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
224
+
D::Diagonal{<:Any, <:AbstractGPUArray},
225
+
A::AbstractGPUVecOrMat,
226
226
α::Number,
227
227
β::Number)
228
228
dd = D.diag
@@ -236,9 +236,9 @@ else
236
236
B
237
237
end
238
238
239
-
function LinearAlgebra.mul!(B::AnyGPUVecOrMat,
240
-
A::AnyGPUVecOrMat,
241
-
D::Diagonal{<:Any, <:AnyGPUArray})
239
+
function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
240
+
A::AbstractGPUVecOrMat,
241
+
D::Diagonal{<:Any, <:AbstractGPUArray})
242
242
dd = D.diag
243
243
d =length(dd)
244
244
m, n =size(A, 1), size(A, 2)
@@ -250,9 +250,9 @@ else
250
250
B
251
251
end
252
252
253
-
function LinearAlgebra.mul!(B::AnyGPUVecOrMat,
254
-
A::AnyGPUVecOrMat,
255
-
D::Diagonal{<:Any, <:AnyGPUArray},
253
+
function LinearAlgebra.mul!(B::AbstractGPUVecOrMat,
254
+
A::AbstractGPUVecOrMat,
255
+
D::Diagonal{<:Any, <:AbstractGPUArray},
256
256
α::Number,
257
257
β::Number)
258
258
dd = D.diag
@@ -266,9 +266,9 @@ else
266
266
B
267
267
end
268
268
269
-
function LinearAlgebra.ldiv!(B::AnyGPUVecOrMat,
270
-
D::Diagonal{<:Any, <:AnyGPUArray},
271
-
A::AnyGPUVecOrMat)
269
+
function LinearAlgebra.ldiv!(B::AbstractGPUVecOrMat,
270
+
D::Diagonal{<:Any, <:AbstractGPUArray},
271
+
A::AbstractGPUVecOrMat)
272
272
dd = D.diag
273
273
d =length(dd)
274
274
m, n =size(A, 1), size(A, 2)
@@ -289,7 +289,7 @@ end
289
289
290
290
## matrix multiplication
291
291
292
-
functiongeneric_matmatmul!(C::AnyArray{R}, A::AnyArray{T}, B::AnyArray{S}, a::Number, b::Number) where {T,S,R}
292
+
functiongeneric_matmatmul!(C::AbstractArray{R}, A::AbstractArray{T}, B::AbstractArray{S}, a::Number, b::Number) where {T,S,R}
293
293
ifsize(A,2) !=size(B,1)
294
294
throw(DimensionMismatch("matrix A has dimensions $(size(A)), matrix B has dimensions $(size(B))"))
295
295
end
@@ -319,29 +319,29 @@ function generic_matmatmul!(C::AnyArray{R}, A::AnyArray{T}, B::AnyArray{S}, a::N
319
319
C
320
320
end
321
321
322
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::AnyGPUVecOrMat, B::AnyGPUVecOrMat, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
323
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::AnyGPUVecOrMat, B::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
324
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::AnyGPUVecOrMat, B::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
325
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, B::AnyGPUVecOrMat, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
326
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, B::AnyGPUVecOrMat, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
327
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
328
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
329
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
330
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
322
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::AbstractGPUVecOrMat, B::AbstractGPUVecOrMat, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
323
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::AbstractGPUVecOrMat, B::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
324
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::AbstractGPUVecOrMat, B::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
325
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, B::AbstractGPUVecOrMat, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
326
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, B::AbstractGPUVecOrMat, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
327
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
328
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
329
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
330
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, a::Number, b::Number) =generic_matmatmul!(C, A, B, a, b)
331
331
332
332
# specificity hacks
333
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::AnyGPUVecOrMat, B::AnyGPUVecOrMat, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
334
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::AnyGPUVecOrMat, B::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
335
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::AnyGPUVecOrMat, B::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
336
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, B::AnyGPUVecOrMat, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
337
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, B::AnyGPUVecOrMat, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
338
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
339
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
340
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AnyGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
341
-
LinearAlgebra.mul!(C::AnyGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AnyGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
342
-
343
-
344
-
functiongeneric_rmul!(X::AnyArray, s::Number)
333
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::AbstractGPUVecOrMat, B::AbstractGPUVecOrMat, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
334
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::AbstractGPUVecOrMat, B::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
335
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::AbstractGPUVecOrMat, B::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
336
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, B::AbstractGPUVecOrMat, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
337
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, B::AbstractGPUVecOrMat, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
338
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
339
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
340
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Adjoint{<:Any, <:AbstractGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
341
+
LinearAlgebra.mul!(C::AbstractGPUVecOrMat, A::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, B::LinearAlgebra.Transpose{<:Any, <:AbstractGPUVecOrMat}, a::Real, b::Real) =generic_matmatmul!(C, A, B, a, b)
0 commit comments