@@ -9,12 +9,13 @@ function blasbuffer(A)
9
9
error (" $(typeof (A)) doesn't support BLAS operations" )
10
10
end
11
11
12
- for T in (Float32, Float64, ComplexF32, ComplexF64)
12
+ for elty in (Float32, Float64, ComplexF32, ComplexF64)
13
+ T = VERSION >= v " 1.3.0-alpha.115" ? :(Union{($ elty), Bool}) : elty
13
14
@eval begin
14
15
function BLAS. gemm! (
15
- transA:: Char , transB:: Char , alpha:: $T ,
16
- A:: GPUVecOrMat{$T } , B:: GPUVecOrMat{$T } ,
17
- beta:: $T , C:: GPUVecOrMat{$T }
16
+ transA:: AbstractChar , transB:: AbstractChar , alpha:: $T ,
17
+ A:: GPUVecOrMat{$elty } , B:: GPUVecOrMat{$elty } ,
18
+ beta:: $T , C:: GPUVecOrMat{$elty }
18
19
)
19
20
blasmod = blas_module (A)
20
21
result = blasmod. gemm! (
54
55
55
56
56
57
for elty in (Float32, Float64, ComplexF32, ComplexF64)
58
+ T = VERSION >= v " 1.3.0-alpha.115" ? :(Union{($ elty), Bool}) : elty
57
59
@eval begin
58
- function BLAS. gemv! (trans:: Char , alpha:: ($elty) , A:: GPUVecOrMat{$elty} , X:: GPUVector{$elty} , beta:: ($elty) , Y:: GPUVector{$elty} )
60
+ function BLAS. gemv! (trans:: AbstractChar , alpha:: $T , A:: GPUVecOrMat{$elty} , X:: GPUVector{$elty} , beta:: $T , Y:: GPUVector{$elty} )
59
61
m, n = size (A, 1 ), size (A, 2 )
60
62
if trans == ' N' && (length (X) != n || length (Y) != m)
61
63
throw (DimensionMismatch (" A has dimensions $(size (A)) , X has length $(length (X)) and Y has length $(length (Y)) " ))
93
95
94
96
for elty in (Float32, Float64, ComplexF32, ComplexF64)
95
97
@eval begin
96
- function BLAS. gbmv! (trans:: Char , m:: Int , kl:: Int , ku:: Int , alpha:: ($elty) , A:: GPUMatrix{$elty} , X:: GPUVector{$elty} , beta:: ($elty) , Y:: GPUVector{$elty} )
98
+ function BLAS. gbmv! (trans:: AbstractChar , m:: Integer , kl:: Integer , ku:: Integer , alpha:: ($elty) , A:: GPUMatrix{$elty} , X:: GPUVector{$elty} , beta:: ($elty) , Y:: GPUVector{$elty} )
97
99
n = size (A, 2 )
98
100
if trans == ' N' && (length (X) != n || length (Y) != m)
99
101
throw (DimensionMismatch (" A has dimensions $n , $m , X has length $(length (X)) and Y has length $(length (Y)) " ))
0 commit comments