最適化問題に対する超高速&安定計算

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

SDPA 7.3.1 と GotoBLAS 1 と 2 : その1

2009年10月20日 11時50分29秒 | Weblog
SDPA 7.3.1 と GotoBLAS 1.34, GotoBLAS2 1.06 の組合せについて少し実験を行った。

計算機
CPU : Intel Xeon 5550 (2.66GHz / 8MB L3) x 2
Memory : 72GB
OS : Fedora 11 for x86_64

問題1: mcp2000-10.dat-s
○GotoBLAS 1.34 : 46.21s

Time(sec) Ratio(% : MainLoop)
Make bMat time = 3.372745, 7.298230
Make bF3 time = 1.377120, 2.979929
Cholesky bMat = 2.300575, 4.978178
makedX = 14.032249, 30.364165
symmetriseDx = 1.323849, 2.864656
makedXdZ = 15.919398, 34.447737
xMatTime = 2.953929, 6.391961
zMatTime = 4.833561, 10.459267
Main Loop = 46.213189, 100.000000

○GotoBLAS2 1.06 : 43.83s

Time(sec) Ratio(% : MainLoop)
Make bMat time = 6.758184, 15.465595
Make bF3 time = 4.523686, 10.352115
Cholesky bMat = 0.763858, 1.748031
makedX = 13.860057, 31.717696
symmetriseDx = 1.312581, 3.003743
makedXdZ = 15.674731, 35.870441
xMatTime = 2.872068, 6.572511
zMatTime = 4.725387, 10.813692
Main Loop = 43.698183, 100.000000

GotoBLAS2 1.06 の方が、makedX, Cholesky bMat などが減少していることから、BLAS 自体は高速化しているようだが、bF3 式のマルチスレッド部分の時間は反対に増加している。SDPA 7.3.1 の pthread を用いた独自の Schur complement 行列計算のマルチスレッド化の部分と GotoBLAS2 との相性があまり良くない。SDPA 7.3.2 以降ではこの部分も改善できる見込みになっている。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする