Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backports for Julia 1.3-RC3 #33221

Merged
merged 19 commits into from
Oct 3, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
dc642ad
Fix 5-arg mul! for tiled generic case (#33218)
tkf Sep 11, 2019
cd2d247
Define / method for adjoint LU rhs. (#33209)
andreasnoack Sep 11, 2019
5452037
Remove out-of-date docs on printing `nothing` (#33216)
nickrobinson251 Sep 11, 2019
c780b9c
Dispatch more cases to BLAS.gemm! (#33229)
tkf Sep 13, 2019
adfae3c
macOS codesigning: only attempt if `$MACOS_CODESIGN_IDENTITY` is set …
staticfloat Sep 16, 2019
782715b
malloc wrappers: ensure thread-safe (#33284)
vtjnash Sep 18, 2019
7861a35
fix #33270; stack overflow in named tuple ctor with `Type{T}` (#33303)
JeffBezanson Sep 18, 2019
c494d50
fix #33227, lowering of empty goto loop at top level (#33230)
JeffBezanson Sep 12, 2019
3dd7002
Take a step toward complete BB domination (#33125)
staticfloat Sep 18, 2019
2c757e7
add a subtyping fast path for tuple of Unions <: Vararg
JeffBezanson Sep 21, 2019
84866a6
Bump Pkg version for 1.3.0-rc3.
fredrikekre Sep 23, 2019
f0cb955
JULIA_COPY_STACKS: validate values (#33318)
StefanKarpinski Sep 19, 2019
631989c
fix bug related to block renaming for DCE
yhls Sep 23, 2019
67d0a51
Fix source build of p7zip on FreeBSD (#33431)
ararslan Oct 1, 2019
b62bb3a
Revert "Disable BB `GMP` and `MPFR`, to fix performance regressions"
KristofferC Oct 3, 2019
3bc74e0
fix not messing up `current_taks().storage[:SOURCE_PATH]` by allowing…
KristofferC Oct 2, 2019
68222cc
better fix for #33337; revert #33353 (#33440)
JeffBezanson Oct 2, 2019
889d7e7
Update GMP and MPFR builds to use better compiler flags (#33096)
staticfloat Oct 3, 2019
1b4b7ef
fix #33370, avoid collisions between gensyms and anon function names …
JeffBezanson Oct 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Dispatch more cases to BLAS.gemm! (#33229)
* Dispatch more cases to BLAS.gemm!

* Use α and β instead of alpha′ and beta′

(cherry picked from commit 51b3227)
  • Loading branch information
tkf authored and KristofferC committed Sep 19, 2019
commit c780b9c199ca9dd53bc8f8f0419c581705e315e2
16 changes: 12 additions & 4 deletions stdlib/LinearAlgebra/src/matmul.jl
Original file line number Diff line number Diff line change
Expand Up @@ -152,15 +152,23 @@ function (*)(A::AbstractMatrix, B::AbstractMatrix)
TS = promote_op(matprod, eltype(A), eltype(B))
mul!(similar(B, TS, (size(A,1), size(B,2))), A, B)
end
@inline mul!(C::StridedMatrix{T}, A::StridedVecOrMat{T}, B::StridedVecOrMat{T},
alpha::Union{T, Bool}, beta::Union{T, Bool}) where {T<:BlasFloat} =
gemm_wrapper!(C, 'N', 'N', A, B, MulAddMul(alpha, beta))

@inline function mul!(C::StridedMatrix{T}, A::StridedVecOrMat{T}, B::StridedVecOrMat{T},
α::Number, β::Number) where {T<:BlasFloat}
alpha, beta = promote(α, β, zero(T))
if alpha isa T && beta isa T
return gemm_wrapper!(C, 'N', 'N', A, B, MulAddMul(alpha, beta))
else
return generic_matmatmul!(C, 'N', 'N', A, B, MulAddMul(α, β))
end
end

# Complex Matrix times real matrix: We use that it is generally faster to reinterpret the
# first matrix as a real matrix and carry out real matrix matrix multiply
for elty in (Float32,Float64)
@eval begin
@inline function mul!(C::StridedMatrix{Complex{$elty}}, A::StridedVecOrMat{Complex{$elty}}, B::StridedVecOrMat{$elty},
alpha::Union{$elty, Bool}, beta::Union{$elty, Bool})
alpha::Real, beta::Real)
Afl = reinterpret($elty, A)
Cfl = reinterpret($elty, C)
mul!(Cfl, Afl, B, alpha, beta)
Expand Down
2 changes: 1 addition & 1 deletion stdlib/LinearAlgebra/test/matmul.jl
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ end
A = rand(n, n)
B = rand(n, n)
C = zeros(n, n)
mul!(C, A, B, -1, 0)
mul!(C, A, B, -1 + 0im, 0)
D = -A * B
@test D ≈ C

Expand Down