疎な SDP だと性能限界というのがわかりにくいので、どこまで速くなればいいのかというのは判断が難しい。例えば量子化学の SDP を解いてみる。各ソフトウェアで実行すると以下のようになる。
1: SDPA 7.2.1 ; 115.8s
2: SDPA 7.3.0 ; 22.7s
3: CSDP 6.0.1 ; 29.4s
4: SDPT3-4.0β ; 145.9s
5: SeDuMi 1.2 ; 61.2s
さらに細かく調べると F3 式の計算時間が大幅に減っていることがわかる。確証はないのだが、これ以上大きく計算時間を減らすのは難しいかもしれない(多少の改善は可能だろう)。
○F3 式の計算時間
SDPA 7.2.1 ; 108.0s
SDPA 7.3.0 ; 21.0s
○: SDPA 7.3.0 : GotoBLAS 1.30b9 + MUMPS 4.8.3
○: CSDP 6.0.1 : GotoBLAS 1.30b9
○: SDPT3-4.0β : MATLAB : 7.7.0.471 (R2008b) + Intel MKL + CHOLMOD
○: SeDuMi 1.2 : MATLAB : 7.7.0.471 (R2008b) + Intel MKL + CHOLMOD
○実行マシン:Intel Xeon 5460 (3.16GHz) : メモリ 48GB : CentOS 5.2 for x86_64 (8コア使用 : OMP_NUM_THREADS=8)
1: SDPA 7.2.1 ; 115.8s
2: SDPA 7.3.0 ; 22.7s
3: CSDP 6.0.1 ; 29.4s
4: SDPT3-4.0β ; 145.9s
5: SeDuMi 1.2 ; 61.2s
さらに細かく調べると F3 式の計算時間が大幅に減っていることがわかる。確証はないのだが、これ以上大きく計算時間を減らすのは難しいかもしれない(多少の改善は可能だろう)。
○F3 式の計算時間
SDPA 7.2.1 ; 108.0s
SDPA 7.3.0 ; 21.0s
○: SDPA 7.3.0 : GotoBLAS 1.30b9 + MUMPS 4.8.3
○: CSDP 6.0.1 : GotoBLAS 1.30b9
○: SDPT3-4.0β : MATLAB : 7.7.0.471 (R2008b) + Intel MKL + CHOLMOD
○: SeDuMi 1.2 : MATLAB : 7.7.0.471 (R2008b) + Intel MKL + CHOLMOD
○実行マシン:Intel Xeon 5460 (3.16GHz) : メモリ 48GB : CentOS 5.2 for x86_64 (8コア使用 : OMP_NUM_THREADS=8)