2010年6月28日月曜日

mingw と ATLAS

今日は、ATLAS を Ubuntu 上のmingw でコンパイルできるか、再挑戦。
結果、かなり難しいことが分かった。

ATLAS の場合、ATLAS/configure の時点で -C ic i586-mingw32msvc-gcc -C if i586-mingwmsvc-gfortran で、それぞれコンパイラを指定できるが、実は xconfig などがこれでは通常の gcc でコンパイルされるため、xconfig と他のオブジェクトが混じったときにトラブルとなる。
これを回避するには、ATLAS/confiugre に -cc=i586-mingw32msvc-gcc をつければいいのであるが、そうすると、今度は Windows バイナリの make.exe が必要となる。
これを wine 経由で実行できるように修正すると、さらに rm.exe も必要となることがわかる。

つまり、rm.exe や cp.exe などのコマンド類が一斉に必要となることが予想できる。
これだったら、cygwin をインストールしたほうが速いし、cygwin をインストールするのであれば、Windows 上で行ったほうがよい。

ここまででとりあえず止めている。

あと、最近読んだ論文のメモ。

Mathematical Programiming 38 (1987) 47-67
Dual Gauge Programs, with Applications to Quadratic Programming and the Minimum-Norm Problem

ゲージ関数を線形制約上で最小化するっていう問題である。
非線型最適化の場合、Slater の制約想定を課すことが一般的であるが、これは別の想定が入っている。
ただ、ざっと眺めた感じでは、内点法並みの計算速度しか出ないような印象だった。
内点法が Slater でこけるようだったら、これを使う、と言う手もあるのかもしれない。

今日の作業内容:ATLAS 4h + 論文読み 2h
今日のBGM: everywher [1-2], 聖剣伝説4 OST [1,2,3]
今日のランチ:シッダルータ キーマカレー
明日の予測作業時間: 5h

0 件のコメント:

コメントを投稿