GPU上大規模稀疏矩陣特徵值計算高效算法之三——SLEPc測試

Slepc計算矩陣特徵值時間測試

注:

(1)GPU集羣介紹:

該集羣有一個登錄節點(ustcgpu)100個計算節點(node1~node100)。各計算節點配置2 4IntelE5520 CPU16GB內存,通過20GbsInfiniBand互聯。

      (2)測試採用Krylov-Schur算法


  1. 計算速度

這裏採用Slepc計算稀疏度約爲1%矩陣的一半特徵值。

下面的表格表示的是計算1000×10002000×20005000×500010000×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小時。


  1. 結論:

  1. Slepc計算少量特徵值的時間很快,與矩陣規模的關係不大。如果計算大量的特徵值(至少一半),則計算時間呈指數增加。而TB程序需要的特徵值對至少是一半,因此,Slepc中的算法針對大規模矩陣的多特徵值對的求解,需要進行改進。

  1. 如果在GPU集羣上,若Slepc能夠讓求解速度加快,則效果會比較理想。現在Slepc已經有單GPU版本,需要更多的測試。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章