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

WIP: Bump OpenBLAS to 0.2.9 and LAPACK to 3.5.0 #7213

Merged
merged 2 commits into from
Jun 12, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 11 additions & 16 deletions base/linalg/matmul.jl
Original file line number Diff line number Diff line change
Expand Up @@ -203,23 +203,18 @@ function copytri!(A::StridedMatrix, uplo::Char, conjugate::Bool=false)
A
end

if Base.blas_vendor() == :openblas
## Avoid calling BLAS.gemv! when OpenBLAS is being used until #6941 is fixed.
gemv!{T<:BlasFloat}(y::StridedVector{T}, tA::Char, A::StridedMatrix{T}, x::StridedVector{T}) = generic_matvecmul!(y, tA, A, x)
else
function gemv!{T<:BlasFloat}(y::StridedVector{T}, tA::Char, A::StridedMatrix{T}, x::StridedVector{T})
stride(A, 1)==1 || return generic_matvecmul!(y, tA, A, x)
if tA != 'N'
(nA, mA) = size(A)
else
(mA, nA) = size(A)
end
nA==length(x) || throw(DimensionMismatch(""))
mA==length(y) || throw(DimensionMismatch(""))
mA == 0 && return zeros(T, 0)
nA == 0 && return zeros(T, mA)
return BLAS.gemv!(tA, one(T), A, x, zero(T), y)
function gemv!{T<:BlasFloat}(y::StridedVector{T}, tA::Char, A::StridedMatrix{T}, x::StridedVector{T})
stride(A, 1)==1 || return generic_matvecmul!(y, tA, A, x)
if tA != 'N'
(nA, mA) = size(A)
else
(mA, nA) = size(A)
end
nA==length(x) || throw(DimensionMismatch(""))
mA==length(y) || throw(DimensionMismatch(""))
mA == 0 && return zeros(T, 0)
nA == 0 && return zeros(T, mA)
return BLAS.gemv!(tA, one(T), A, x, zero(T), y)
end

function syrk_wrapper!{T<:BlasFloat}(C::StridedMatrix{T}, tA::Char, A::StridedMatrix{T})
Expand Down
8 changes: 0 additions & 8 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -799,13 +799,6 @@ openblas-$(OPENBLAS_VER)/config.status: openblas-$(OPENBLAS_VER).tar.gz
mkdir -p openblas-$(OPENBLAS_VER) && \
$(TAR) -C openblas-$(OPENBLAS_VER) --strip-components 1 -xf $<
perl -i -ple 's/^\s*(EXTRALIB\s*\+=\s*-lSystemStubs)\s*$$/# $$1/g' openblas-$(OPENBLAS_VER)/Makefile.system
ifeq ($(OPENBLAS_VER),v0.2.8)
cd openblas-$(OPENBLAS_VER)/lapack-netlib/SRC && \
patch < ../../../dlasd4-lapack-3.4.2.patch && \
patch < ../../../slasd4-lapack-3.4.2.patch
cd openblas-$(OPENBLAS_VER)/exports && \
patch < ../../openblas-link-osx109.patch
endif
echo 1 > $@
$(OPENBLAS_OBJ_SOURCE): openblas-$(OPENBLAS_VER)/config.status
$(MAKE) -C openblas-$(OPENBLAS_VER) $(OPENBLAS_BUILD_OPTS) || (echo "*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. ***" && false)
Expand Down Expand Up @@ -930,7 +923,6 @@ lapack-$(LAPACK_VER).tgz:
lapack-$(LAPACK_VER)/Makefile: lapack-$(LAPACK_VER).tgz
$(JLCHECKSUM) $<
$(TAR) zxf $<
cd lapack-$(LAPACK_VER)/SRC && patch < ../../dlasd4-lapack-3.4.2.patch && patch < ../../slasd4-lapack-3.4.2.patch
touch -c $@
ifeq ($(USE_SYSTEM_BLAS), 0)
lapack-$(LAPACK_VER)/liblapack.a: | $(OPENBLAS_OBJ_TARGET)
Expand Down
8 changes: 2 additions & 6 deletions deps/Versions.make
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ LLVM_LIB_SUFFIX =
PCRE_VER = 8.31
GRISU_VER = 1.1.1
DSFMT_VER = 2.2
ifeq ($(OS),WINNT)
OPENBLAS_VER = v0.2.9.rc1
else
OPENBLAS_VER = v0.2.8
endif
LAPACK_VER = 3.4.2
OPENBLAS_VER = v0.2.9
LAPACK_VER = 3.5.0
ARPACK_VER = 3.1.5
FFTW_VER = 3.3.3
SUITESPARSE_VER = 4.2.1
Expand Down
1 change: 1 addition & 0 deletions deps/checksums/lapack-3.5.0.tgz/md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b1d3e3e425b2e44a06760ff173104bdf
1 change: 1 addition & 0 deletions deps/checksums/lapack-3.5.0.tgz/sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b948a0a0db032bda455ec4f519d4e89e4c29e29cecb5b6258ca61f68faaeeac9fdf4ece5c39ffcd0154c5505facbc392c7d09c8348b1d60bdd2685153ab2543f
1 change: 0 additions & 1 deletion deps/checksums/openblas-v0.2.9.rc1.tar.gz/md5

This file was deleted.

1 change: 0 additions & 1 deletion deps/checksums/openblas-v0.2.9.rc1.tar.gz/sha512

This file was deleted.

1 change: 1 addition & 0 deletions deps/checksums/openblas-v0.2.9.tar.gz/md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b3af3bed5f353d1fc024cab1b836ac3e
1 change: 1 addition & 0 deletions deps/checksums/openblas-v0.2.9.tar.gz/sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
26675d3f66121e1be1b1ab149883afb392fa40f313380416d2e56093cf88c64e5d36dab366c734b9d5e9a4bd49085235cb73d819e9b559e924039cd2b42aa2f9
36 changes: 0 additions & 36 deletions deps/dlasd4-lapack-3.4.2.patch

This file was deleted.

11 changes: 0 additions & 11 deletions deps/openblas-link-osx109.patch

This file was deleted.

36 changes: 0 additions & 36 deletions deps/slasd4-lapack-3.4.2.patch

This file was deleted.

4 changes: 4 additions & 0 deletions test/linalg1.jl
Original file line number Diff line number Diff line change
Expand Up @@ -266,3 +266,7 @@ debug && println("Matrix square root")
end
end
end

#6941
#@test (ones(10^7,4)*ones(4))[3] == 4.0