So I've would like to do an SVD factorization of a large matrix (1000-25000 x 4096) in C++. I have tried LAPACKE dgesdd, Armadillo svd/svd_econ and Eigen but all of them seem to be single threaded and quite slow. I'm also currently trying to implement a solution based on redsvd.
Do you have any suggestions on how to implement a fast SVD factorization preferably using multi-threading. I've noticed that Matlab is using multi-threaded SVD so it should be possible.
Also, I'm running g++ on a 64-bit Linux machine if that would be of any importance.
Thank you in advance.
Intel's Math Kernel Libraries offer parallel implementations of LAPACKE. They are available for Linux as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With