【发布时间】:2014-02-05 11:27:55
【问题描述】:
所以我想在 C++ 中对大型矩阵 (1000-25000 x 4096) 进行 SVD 分解。我尝试过 LAPACKE dgesdd、Armadillo svd/svd_econ 和 Eigen,但它们似乎都是单线程的,而且速度很慢。我目前也在尝试实现基于redsvd的解决方案。
您对如何最好使用多线程实现快速 SVD 分解有任何建议吗?我注意到 Matlab 正在使用多线程 SVD,所以它应该是可能的。
另外,如果这很重要的话,我正在一台 64 位 Linux 机器上运行 g++。
提前谢谢你。
【问题讨论】:
-
我建议使用 CUDA 并在 GPU 上进行。
标签: c++ multithreading parallel-processing svd factorization