-
-
Notifications
You must be signed in to change notification settings - Fork 9
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
Fall-throughs for complex BLAS/LAPACK routines #177
Comments
If we make |
@simonster While I would be all for a simplified interface, this issue should still apply to more general routines (e.g., Hermitian eigensolvers). |
I think the intent right now is for anything using the blas/lapack names to be direct, thin wrappers corresponding very closely to the low-level API's. I don't see anything wrong with defining |
Actually, I don't think there is an issue with the Hermitian eigensolvers as we have also named the complex versions However, as @simonster said, the idea has been that the BLAS/LAPACK wrapper are only thin wrappers with a minimum of checking of the arguments and allocation such that you can use the original documentation for them. Then on top of that, to have a layer for generic programming where the types can change without the need for changing the function. I'm working on implementing the |
I think we should close with a won't fix here. The templating shouldn't be handled at the level of the BLAS/LAPACK wrappers. |
It seems a bit strange to me that, while functions such as
gemm!
andherk!
are templated over the datatype, it does not seem to currently be possible to use them in a way which is agnostic to whether or not the datatype is complex.For example, a gemm invocation meant to take the adjoint of an argument would require a transposition flag of
'T'
in the real case and'C'
in the complex case, whereas I would suggest having'C'
route to'T'
when the datatype is real (this is what I have done in Elemental, http://github.com/elemental/Elemental). Likewise, it would be useful forherk
to fall through tosyrk
for real datatypes, etc.The text was updated successfully, but these errors were encountered: