大規模最適化問題、グラフ探索、機械学習やデジタルツインなど

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

SDPARA と ATLAS と GotoBLAS

SDPARA 1.0.1 は SDPA 6.x をベースに一部を MPI 化したものなので、BLAS には SDPA 6.2.1 と同じく ATLAS を用いている。正確に言うと以下のように ATLAS を使用している。
1: SDPARA - - > ScaLAPACK - - > ATLAS
2: SDPARA - - > ATLAS (MPI 化されていない部分)

1 については SDPARA 本体のコードを変えずに ATLAS から GotoBLAS や MKL に変更できる。2 についても SDPARA コードを一部書き換えて ATLAS に依存しないようにすれば良いのだが、やはり SDPA 7.x のように LAPACK/BLAS, ATLAS, MKL, GotoBLAS どれでもリンクできるように直すのが好ましい。
実際 1 の変更だけでも SDPARA + ATLAS に対して SDPARA + GotoBLAS は 1 割程度の性能向上が見られる。マルチスレッド化を工夫すれば、もう 1 割ぐらいの改善が出来そうだ。適当にスレッド数を変えてもそんな効果が見られる。