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

Support rook-pivoting in bkfact #14389

Merged
merged 1 commit into from
Jan 3, 2016
Merged

Support rook-pivoting in bkfact #14389

merged 1 commit into from
Jan 3, 2016

Conversation

timholy
Copy link
Sponsor Member

@timholy timholy commented Dec 13, 2015

LAPACK 3.5 supports alternative rook-pivoting algorithms for Bunch-Kaufman. This PR wraps this functionality.

Best reviewed with ?w=1 appended to the URL.

@kshyatt kshyatt added the domain:linear algebra Linear algebra label Dec 14, 2015
(:csysv_,:csytrf_,:csytri_,:csytrs_,:Complex64, :Float32))
@eval begin
for suffix in (symbol(""), :_rook)
for (sysv, sytrf, sytri, sytrs, elty, relty) in
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be simpler to have a loop for each function given the convoluted code just below.

@andreasnoack
Copy link
Member

Looks good to me except for the small style comment, maybe we should wait until #14309 has been merged.

@timholy timholy force-pushed the teh/rookpivoting branch 2 times, most recently from 92dfc92 to e0d68aa Compare January 2, 2016 11:27
@timholy
Copy link
Sponsor Member Author

timholy commented Jan 2, 2016

Rebased and updated, including the style change. Curiously, Travis never ran this as a PR (it did run the push), but AppVeyor did, so hopefully we're OK.

andreasnoack added a commit that referenced this pull request Jan 3, 2016
@andreasnoack andreasnoack merged commit c7b1854 into master Jan 3, 2016
@tkelman tkelman deleted the teh/rookpivoting branch January 3, 2016 20:23
nalimilan added a commit that referenced this pull request Jan 7, 2016
@nalimilan
Copy link
Member

It would be nice to make a bit more advertisement in the future when raising dependency requirements like that. It took me some time to realize why my EPEL RPM builds where failing.

@timholy
Copy link
Sponsor Member Author

timholy commented Jan 7, 2016

Since I always build openblas from source, I didn't think about this as a potential problem. Sorry about that, and thanks for fixing!

@nalimilan
Copy link
Member

You're welcome @timholy.

nalimilan added a commit that referenced this pull request Jan 7, 2016
LAPACK 3.5 is required since #14389. utf8proc 1.3 since #11493.

[av skip]
@ViralBShah
Copy link
Member

Could this have been wrapped in a test for laver()? That would allow us to avoid making the minimum LAPACK at 3.5. The main reason is that users of MKL may not have new versions of LAPACK.

@ViralBShah
Copy link
Member

Seems like LAPACK.VERSION[] is the new way to do this.

@ViralBShah
Copy link
Member

I seem to recollect that even dgesdd was introduced in 3.5 or perhaps 3.4, and used to be protected with a version check once upon a time.

BTW, I am ok with 3.5 being the minimum, but just wanted to point out the issues.

@eschnett
Copy link
Contributor

eschnett commented Jan 8, 2016

One can probably work around missing LAPACK functions in MKL with some linker magic. One needs to link against MKL explicitly (i.e. using an -l flag, not the -mkl flag), then link against a new LAPACK. This will preferably resolve symbols against MKL, and then take any missing symbols from LAPACK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants