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 以降ではこの部分も改善できる見込みになっている。
計算機
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 以降ではこの部分も改善できる見込みになっている。