SDPA 7 の本体はほぼ開発を終えたが、公開までの残りの作業は以下の通り。
1: マニュアルの整備(既存の SDPA 6 のマニュアルの改訂)
2: Callable Library の整備
3: LP block の問題(LP block を一つにして最後に持ってくる)
4: SOCP に対する内点法との統合
ただし、順次対応していけば良いので全部終わる前に公開を始める予定。
SDPA 7 の大きな特徴としては、
1: Shur Complement 行列に対する Sparse Cholesky 分解の適用
2: BLAS, ATLAS, GotoBLAS への対応
などがある。上記に 2 に関しては以下の三つの組み合わせがある。
1: SDPA 7.0.2 + BLAS(LAPACK 3.1.1)
2: SDPA 7.0.2 + ATLAS 3.7.35
3: SDPA 7.0.2 + GotoBLAS 1.16
実行時間を見ると、多くの場合において 1 > 2 > 3 になる(つまり 3 が一番速い)。GotoBLAS はマルチスレッド対応なので問題によっては速い順に並べると以下のようになる。
1: GotoBLAS (8CPU)
2: GotoBLAS (4PCU)
3: GotoBLAS (2CPU)
4: GotoBLAS (1CPU)
5: ATLAS 3.7.35
6: BLAS 3.1.1
少なくとも現時点では GotoBLAS 以外を選ぶメリットはあまりない。
ということなので、近日中に上記の SDPA の組み合わせから複数のソルバーが SDPA Online Solver から利用できるようになる予定。
1: マニュアルの整備(既存の SDPA 6 のマニュアルの改訂)
2: Callable Library の整備
3: LP block の問題(LP block を一つにして最後に持ってくる)
4: SOCP に対する内点法との統合
ただし、順次対応していけば良いので全部終わる前に公開を始める予定。
SDPA 7 の大きな特徴としては、
1: Shur Complement 行列に対する Sparse Cholesky 分解の適用
2: BLAS, ATLAS, GotoBLAS への対応
などがある。上記に 2 に関しては以下の三つの組み合わせがある。
1: SDPA 7.0.2 + BLAS(LAPACK 3.1.1)
2: SDPA 7.0.2 + ATLAS 3.7.35
3: SDPA 7.0.2 + GotoBLAS 1.16
実行時間を見ると、多くの場合において 1 > 2 > 3 になる(つまり 3 が一番速い)。GotoBLAS はマルチスレッド対応なので問題によっては速い順に並べると以下のようになる。
1: GotoBLAS (8CPU)
2: GotoBLAS (4PCU)
3: GotoBLAS (2CPU)
4: GotoBLAS (1CPU)
5: ATLAS 3.7.35
6: BLAS 3.1.1
少なくとも現時点では GotoBLAS 以外を選ぶメリットはあまりない。
ということなので、近日中に上記の SDPA の組み合わせから複数のソルバーが SDPA Online Solver から利用できるようになる予定。