我在3.5GHz / 3,9GHz(6核/ 12线程)服务器上运行大(120k x 600k)和稀疏(0.1非零值)矩阵的部分SVD,使用128GB RAM SVDLIBC。
是否可以使用多线程加速进程,以便充分利用我的服务器配置?
我没有多线程的经验;因此,我要求提供友好的建议和/或指向手册/教程的指针。
[编辑]我也对替代品持开放态度(matlab / octave,r等)
答案 0 :(得分:0)
在Matlab中,对于稀疏矩阵,您有svds
。此实现受益于多线程计算(1)
答案 1 :(得分:0)
请参阅R中的irlba: Fast partial SVD by implicitly-restarted Lanczos bidiagonalization。它只计算第一个用户指定的编号。尺寸。过去有过很好的经验。但是,我使用的是商业版的R,它被用来利用多线程,因此无法保证由于多线程而提高速度。