-
Notifications
You must be signed in to change notification settings - Fork 1.6k
add ReLaPACK to OpenBLAS? #788
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
Comments
|
I think ReLAPACK would be a great and easy way to speed up LAPACK performance in OpenBLAS: As seen in our paper on arXiv, with OpenBLAS ReLAPACK is faster than LAPACK for most of its routines. In case one wants to select whether to call ReLAPACK or another LAPACK implementation depending on the architecture (or other factors), I see two alternatives:
Either way, I'm more than happy to help with any ReLAPACK-related questions or issues and suggestions and feedback are very welcome! |
@elmar-peise , thank you for your comment. I read your paper. Great work. |
i think the performance will vary wildly depending upon the hardware and precision needed. i can't see using it with mulitprecision libs as the overhead would probably at least be O^2 but it's another tool in the toolbox if someone wants to use. recursion also has its own limitations of numerical stability. |
I will add ReLAPACK later on with a PR. As the responses are positive I will close this issue. |
@carlkl , thank you for your PR advanced 👍 |
Has there been any followup on this, or was it put on hold for lack of time ? |
The 2nd. There are even some much more important developments (not OpenBLAS specific) on hold for that reason. |
Thanks for the feedback. Depending on how things pan out I may have time to spare in the near future. |
Please let me know if you need any help from the ReLAPACK side! |
@elmar-peise seems to me you have a series of typos in lapack_wrapper.c where wrappers for the xTGSYL functions are made conditional on INCLUDE_xRGSYL |
Thanks for spotting the typos! I fixed them in HPAC/ReLAPACK@c8dbbd4 |
There is a similar problem for CHEGST and ZHEGST which appear to be represented by interfaces to nonexistent routines "CSYGST" and "ZSYGST" in lapack_wrapper.c (i.e. not only the INCLUDE_ label in the ifdef is wrong, but also all subsequent occurences of the function name in that file) ? |
I want to draw the attention to a new linear algebra library called Recursive LAPACK sitting on the top of BLAS and Lapack, see:
http://hpac.rwth-aachen.de/~peise/relapack
https://github.com/HPAC/ReLAPACK (MIT license)
According to the authors this library even beats optimized Blas/LAPACK implementations in several cases (see the paper from their website). The API seems to be very simple: just use the augumented functions names instead of the original Lapack functions: relapack.h
I propose to add this library to OpenBLAS and to switch between Lapack and ReLAPCK functions steered with an environment variable and/or an function. Any hints how to implement this in an easy way?
The text was updated successfully, but these errors were encountered: