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

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

SDPA 内部のマルチスレッド化 その2

2009年12月18日 02時42分15秒 | Weblog
SDPA 7.3.2βと以下のソフトウェアの比較実験を行う。速度的には以下の通りであるが、SDPA はまだまだ高速化が可能である。MATLAB での実行というのは結構速いので、C/C++ でソフトウェアを作るときには、かなり力を入れて作らないと MATLAB で作ったものよりも遅くなることが多いだろう。反対に言えば MATLAB では最高速を狙うのは難しいとも言える。

○: SDPA 7.3.2β : GotoBLAS2 1.09 + MUMPS 4.9.2
○: CSDP 6.0.1 : GotoBLAS2 1.09
○: SDPT3-4.0β : MATLAB : 7.8.0.347 (R2009a) + Intel MKL + CHOLMOD
○: SeDuMi 1.21 : MATLAB : 7.8.0.347 (R2009a) + Intel MKL + CHOLMOD

○実験環境
CPU : Intel Xeon 5550 (2.66GHz / 8MB L3) x 2
Memory : 72GB (18 x 4GB / 800MHz)
gcc : 4.4.2
OS : Fedora 12 for x86_64
環境変数 : OMP_NUM_THREADS = 8

●問題1 : FH2+.1A1.STO6G.pqgt1t2p.dat-s
SDPA 7.3.2β : 96s(30回)
CSDP 6.0.1 : 143s(31回)
SDPT3-4.0β : 1,089s(36回)
SeDuMi 1.21 : 384s(25回)

●問題2 : theta6.dat-s
SDPA 7.3.2β : 12s(18回)
CSDP 6.0.1 : 20s(17回)
SDPT3-4.0β : 24s(14回)
SeDuMi 1.21 : 327s(16回)

●問題3 : control11.dat-s
SDPA 7.3.2β : 27s(47回)
CSDP 6.0.1 : 27s(26回) : セグメンテーションフォルトの発生が起きることがある
SDPT3-4.0β : 53s(26回)
SeDuMi 1.21 : 87s(45回)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする