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

"Missing" symbols relative to OpenBLAS #776

Closed
jd-foster opened this issue Sep 22, 2023 · 16 comments
Closed

"Missing" symbols relative to OpenBLAS #776

jd-foster opened this issue Sep 22, 2023 · 16 comments

Comments

@jd-foster
Copy link

A comparison of BLIS symbols compared to a BLAS API I'm looking into that uses OpenBLAS by default turned up three 'types' of functions that seem to have no correspondent in BLIS AFAIK. I would like to understand if there indeed are like-for-like equivalents?

The functions in question are:
crot, csymv, csyr
zrot, zsymv, zsyr

@devinamatthews
Copy link
Member

These aren't included in BLIS because they aren't included in Netlib BLAS, which is unfortunately one of a number of oversights in how the original BLAS interface was defined. Interfaces for the latter two could easily be added since they can be accomplished natively using the BLIS interface. The first one would be slightly more work in [sd]rot use a f2c'ed implementation from Netlib which would have to be adapted by hand or rewritten.

@devinamatthews
Copy link
Member

FYI I think these ARE included in Netlib LAPACK though...

@devinamatthews
Copy link
Member

@fgvanzee any interest in doing a PR for [cz]symv and [cz]syr? Should be very straightforward.

@fgvanzee
Copy link
Member

@fgvanzee any interest in doing a PR for [cz]symv and [cz]syr? Should be very straightforward.

Sure, I'll take a look at it.

@fgvanzee
Copy link
Member

I'm looking at crot.f and zrot.f too. It looks doable.

@fgvanzee
Copy link
Member

@jd-foster Take a look at #778. I'm pretty confident that [cz]syr_() and [cz]symv_() will work as expected. I'm somewhat less confident about [cz]rot_(), but if those rotation functions are broken they shouldn't be more than one or two revisions from working.

@jd-foster
Copy link
Author

Thank you, this is great!

@fgvanzee
Copy link
Member

@jd-foster If you have a way to test [cz]rot_(), I'd sincerely appreciate the feedback! 😄

@jd-foster
Copy link
Author

I wouldn't be sure how to do it within BLIS, but my goal is to ultimately test it from Julia's BLAS interface:

https://github.com/JuliaLang/julia/blob/6bca048d6b0781ab821c7eb656fcc68400dfbf6e/stdlib/LinearAlgebra/test/blas.jl#L97

@fgvanzee
Copy link
Member

fgvanzee commented Sep 26, 2023

I wouldn't be sure how to do it within BLIS, but my goal is to ultimately test it from Julia's BLAS interface:

https://github.com/JuliaLang/julia/blob/6bca048d6b0781ab821c7eb656fcc68400dfbf6e/stdlib/LinearAlgebra/test/blas.jl#L97

Testing it for us via Julia's BLAS API would be super-helpful to us!

I looked into hacking it into the existing BLAS test drivers that are distributed as part of BLIS. It's ugly enough that I'm not going to touch it. 😂

@jd-foster
Copy link
Author

Excited to report that the PR version passes all the Julia BLAS tests now, especially the variants of XXrot.

@fgvanzee
Copy link
Member

That's wonderful news, @jd-foster! Thank you for your testing efforts and your inquiry/suggestion! ❤️

Unless you have any more concerns or comments, I'll merge #778 shortly.

@jd-foster
Copy link
Author

Thank you, happy to see it merged! Would you consider tagging a new minor/patch release soon so we can bump the build tree version on the Julia side?

@fgvanzee
Copy link
Member

Certainly, I'll start the discussion in our Discord server.

@jd-foster
Copy link
Author

@fgvanzee I saw your comment on #792 and I'm looking forward to the new release. I've just compiled and tested the current master branch on the Julia tooling and BLAS test-suite (gemmt and geru have been added as Julia BLAS library functions in the last 6 months), and everything passed smoothly. Cheers.

@fgvanzee
Copy link
Member

fgvanzee commented May 6, 2024

@jd-foster Thanks James! I appreciate you taking the time to test locally.

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

No branches or pull requests

3 participants