Open GiggleLiu opened 5 years ago
I will develop the batched version ASAP.
Cool, many thanks. Another welcoming feature is randomized SVD. This algorithm has better performance on GPU. Do you have any plan about this?
A reference: https://epubs.siam.org/doi/10.1137/090771806
I don't think it would be a good idea to mix other implementation with a binding package. It makes it hard to maintain, this package is going to be a dependency of CuArrays
for SVD/QR and other implementation, and it is just a binding of MAGMA. We could implement these specific algorithm directly there (or even just in a separate package like what they do in pytorch)
And @JerryChen97 let's focus on your proposal first (there are a bunch of bindings need to be done first), and if you want to work on this, we could do it as an extension of your SoC project.
Sure, let it be an extension would be better.
I am not an expert. Wondering how difficult it is to batch an operation for MAGMA? Trivial, or must rewrite everything.
It just requires cuda 9.0+ I believe. But I need to try them out after magma is ready.
I think batched routines should be generic enough to implement with a similar approach here:
https://gist.github.com/Roger-luo/a7cddd8cf5902c5b43e09ea16acc74da
Or just use Hydra in principal. There's no need to write them one by one.
Especially batched svd. Batched routines will increase the performance significantly on GPU.
Want this feature desperately :smile:
Cool project, wondering is there a milestone for v0.1? We'd like to use MAGMA as our SVD backend in our project about tensor network algorithms.