2012年1月5日木曜日

SDPA関係問い合わせが3件

冬休み中に SDPA 関係で3件の問い合わせが来ていた。
ここでは、Q&Aっぽく2件をまとめてみる。

[Q1] SDPA-M を実行すると Matlab ごとクラッシュする。特に Schur が SPARSE になったときにクラッシュするようである。

[A1] この場合、原因は MUMPS の可能性が高い。
MUMPS は一部がスレッドセーフになっていないようで、マルチスレッド計算をするとクラッシュすることがある。
この場合は、
>>> maxNumCompThreads(1);
としておけば、シングルスレッドになるため、(計算時間はかかるが)計算は続行できる。

[Q2] SDPA の callable library を呼んだときと SDPA のバイナリファイルを読んだときだと、数値結果が若干異なることがある。

[A2] リンクしているライブラリ (BLASや LAPACK, GLIBC など)が異なると、数値誤差の影響が出やすい(入力行列が一次従属など)場合では数値結果にも影響が出くることがある。
たとえば、OpenBLAS でも、最新版を git で取ってきて、それまでの版と比較すると、入力行列が一次従属な問題では数値誤差の影響が表面化しやすい。

今日の作業内容:SDPA 対応 3h
今日のランチ:シッダルータ チキンカレー
明日の予測作業時間:4h

0 件のコメント:

コメントを投稿