2010年4月13日火曜日

ATLAS 64bit 化、難しい

SDPA が 64bit で動くかどうかを調べるのに、ATLAS を 64bit でコンパイルしようとしたが、あまりうまくいかなかった。
-Dint=long
で一発変換かと思ったら、Cのヘッダーファイルの short int, long long int などが引っかかってコンパイルエラー続出だった。

ちなみに、lapack の 64bit 化は簡単だった。

SDPARA の場合、一番問題になるのは、Schur complement matrix だが、ここを回避するだけなら 'sdpa_newton.cpp' と 'sdpa_tool.h の sdpa_dset' を 10 行程度変更してコンパイルしなおせば、問題ないはずである。
(手元に手頃な大きさの問題が無いので試していないが)


あと、今日は本読みも進めた。
この本は、とても勉強になって面白い。

今日の作業内容: 本読み 3h + SDPA 3h
今日のBGM: Saga OST [1-2], MADLAX OST [1-2], everywhere [1-2]
今日のランチ: 信華園 肉野菜炒め
明日の予測作業時間: 5h

2010年4月12日月曜日

本を探し中

いま、図書室から借りてきている本を読んでいるが、この本が結構面白いので、自分でも1冊買おうかと思っているのだが、どうやら重版などがないようで、どこの本屋さんも売切れらしい。
できれば、自宅用と仕事場用の2冊ほしいのだが、1冊も手に入らないかもしれない。

あと、今日は原稿チェックと SDPARA の数値実験の途中結果の確認。
SDPARA のは3日ぐらいに量子化学が終わりそうなので、そうしたら生成しておいた別の問題に取り組むことになりそうだ。

今日の作業内容: 原稿チェック 1h + SDPARA チェック 1h + 本探し 1h
今日のBGM: everywhere [1-2]
今日のランチ: しなの カレー南蛮
明日の予測作業時間: 5h

2010年4月9日金曜日

筒、消える と GAMESS

今日は、

応用に役立つ50の最適化問題

に目を通した。
さまざまなトピックについて紹介されているので、「数理最適化」にどのような研究があるのかを把握したいときなどには有益そうだ。
定式化なども標準的なものが多いようで、解りやすい。
あと、最後の章で SDPARA についても書いてもらっている(というのをさっき知った)。

ところで、この本は「筒」が有名、と聞いていたが、第2刷になるときに誤植としてきちんと削除されたらしく、確認することができなかった。
ちなみに、この本の後ろにある参考文献で、45,46 がまったく同じタイトルで別の雑誌だったので、一瞬「二重投稿か?」と思ってしまったが、単純に 45 のタイトルが誤植なようだ。
あと、SDPA のホームページの URL が古いままになっているが、現在の URL は
http://sdpa.indsys.chuo-u.ac.jp/sdpa/
である。(Mac のページは、Mac がサービスを止めてしまったのでアクセスするとおかしなところが表示される。)



あと、今日は GAMESS のインストールをした。
ベースとして読んでいるのは、
すぐできる量子化学計算ビギナーズマニュアル
だが、GAMESS のインストールはバージョンアップからか微妙に違っているので(TARGET がlinux-pc から linux32 または linux64 になっているなど)、インターネットでも検索しながらインストールをしてみた。
とりあえず、64ページの H2O の SCF 計算までは実行できたので、インストールは正しくできたようだ。(途中、並列計算がうまくいかなかったので、そこは1台に設定した。 )
ただ、どうやら HDD のアクセスが大きいため /home と別パーティションに一時ファイルをおいたほうがいい、とのことなので、そういうようになっている別の計算機にインストールしなおそうと考えている。

SDPARA の問題生成はだいたいのメドが立ったところ。
今回の POP の問題は小さいconeが大量にあるタイプのため、SDPA のマルチスレッドでは遅くなるのだが、SDPARA ではこの部分の実装が一部異なるため、並列計算の効果が出る。
ただ、今まで作っていた問題は、思っていたよりも高速に解けてしまうため(1分以内)、並列計算用に大きい問題を生成している。

今日の作業内容: 本チェック 1h + GAMESS 2h + SDPARA 問題生成 1h + 事務処理 1h
今日のBGM: everywhere [1-2] を2回
今日のランチ: 味庵 豚の角煮と里芋煮
明日の予測作業時間: 3h

2010年4月8日木曜日

問題生成

今日は、SDPARA の問題生成。
SFSDP から発生する問題はノイズがある問題にしているので、通常のパラメータよりも実行可能性を緩和して解くように設定するが、このパラメータ調整も行った。
あとで、POP の問題についても小規模の問題を解いてみて、その特徴をあらかじめ抑えて置く。
なお、SDPARA の数値実験は量子化学のものを実行中。

また、今日はこれと並行して書類作成を行った。

今日の作業内容: SDPARA 問題生成 3h
今日のBGM: everywhere [1-2], FF7 Reunion
今日のランチ: シッダルータ チキンとマッシュルームのカレー
明日の予測作業時間: 6h

2010年4月7日水曜日

事務処理な一日

今日は、事務処理がメインになってしまったため、SDPARA の数値実験の途中結果を確認しただけに終わった。

ただ、スレッド数と8から4に減らしたほうが量子化学の問題を速く解けるときがある。
8だと5万秒かかるのが4だと3万5千秒になる。
一部に複数スレッドの競合が起きているのかもしれない。

明日は、POP の問題生成を進めよう。

今日の作業内容: SDPARA 確認 0.5h
今日のBGM: かぜよみ
今日のランチ: つかさ 大根と魚のあらに
明日の予測作業時間: 4h

2010年4月6日火曜日

バグ取れた

昨日あった SparseCoLO のバグは、今日無事に取れた。
SparseCoLO では、複数のクリークのどちらに入力行列の値を置くか、に自由度があるため、SDPA の F3 式が効果的に動くように配置するヒューリスティクスが入っている。
この部分で配置するときに (i,j) 要素と (j,i) 要素が別のクリークになってしまい不具合を起こしていた。
比較的簡単に取れるバグで良かった。
(この mex ファイルは、メモリ周りが最小限ギリギリで高速に動くように設計してあるので、複雑なコードになっている)

あと、SDPARA の数値実験用に POP の問題を生成して試しに解いてみた。(これと並行して、別の問題を SDPARA で解いている。)
ただ、やはりうまく解けないことが多いようだ。
もともと POP を SDP relaxation するのは、数学的な定式化にかなり無理をしているので、主双対内点法ではまず解けない、と心得ておいたほうが気が楽である。
SDPA の場合には、ある程度パラメータをコントロールする必要がある。
今日生成したのは、パラメータコントロールでは限界があったので、別の問題を生成することにする。
明日も、書類作成と並行して POP でいろいろと生成してみよう。

今日の作業内容: SparseCoLO デバッグ 3h + POP 2h
今日の BGM: FF10-2 OST [1-2], FF5 Dear Friends
今日のランチ: らく 海鮮丼
明日の予測作業時間: 5h

2010年4月5日月曜日

バグ取り開始

だいたいの入力はうまくいくが、SparseCoLO は、たまに変な挙動を示すことがあり、これのバグ取りを開始した。
どうやらある程度の規模の問題を解かないと発生しないバグのようで、バグがあるところまで実行するだけでも数分かかってしまう。
とりあえず、どこにバグがあるのかを確認するために mex ファイルを読み直しているが、プログラムを作ってからだいぶ経ってしまっているため、細かいところを思い出すのに時間がかかっている。
やはり、デバッグ用の出力をプログラムに残しておく、ということはとても大事だとわかる。

今日の作業内容: バグ取りスタート
今日のBGM: SKY OST [1-2], FF6 Grand Finale, Xenosaga III OST [1-2]
今日のランチ: 角笛 ボンゴレビアンコ
明日の予測作業時間: 4h