您的位置:首页 > 其它

GPU上大规模稀疏矩阵特征值计算高效算法之三——SLEPc测试

2014-08-19 11:23 309 查看
Slepc计算矩阵特征值时间测试
注:
(1)GPU集群介绍:
该集群有一个登录节点(ustcgpu)和100个计算节点(node1~node100)。各计算节点配置2
颗4核的IntelE5520 CPU,16GB内存,通过20GbsInfiniBand互联。
      (2)测试采用Krylov-Schur算法

计算速度

这里采用Slepc计算稀疏度约为1%矩阵的一半特征值。
下面的表格表示的是计算1000×1000、2000×2000、5000×5000、10000×10000矩阵各自一半的特征值,所需要的时间。

时间(s)
1000
2000
5000
10000
Write_time
0
1
30
449
Compute_time
24
91
650
3184
Total_time
24
92
680
3633
Write_time/Compute_time
0
0.01
0.04
0.14


根据上图进行二次曲线拟合(蓝线表示),预测10W规模稀疏矩阵的特征值求解时间,4.6109e+005s,约为128小时。

结论:

Slepc计算少量特征值的时间很快,与矩阵规模的关系不大。如果计算大量的特征值(至少一半),则计算时间呈指数增加。而TB程序需要的特征值对至少是一半,因此,Slepc中的算法针对大规模矩阵的多特征值对的求解,需要进行改进。

如果在GPU集群上,若Slepc能够让求解速度加快,则效果会比较理想。现在Slepc已经有单GPU版本,需要更多的测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gpu 特征值 矩阵 算法