Git は、どの段階からか push したりするのは bare で作ることが標準になっている。
(初期段階からかもしれないが。)
SDPA のリポジトリは bare でない状態で維持してきてしまったので、この際なので bare に変換しようと考えている。
bare に変換するには、
http://git-scm.com/book/ja/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%94%A8%E3%81%AE-Git-%E3%81%AE%E5%8F%96%E5%BE%97
にあるように
$ git clone --bare sdpa7 sdpa7.git
というように --bare を付けることになる。
これを年明けに行うことにする。
今日の作業内容:SDPA-C 3h + git 調整 1h
今日のランチ:つかさ かんぱちから揚げ
明日の予測作業時間:3h
2012年12月28日金曜日
2012年12月27日木曜日
原稿についての打ち合わせ
今日は、SDPA-C の原稿について打ち合わせをした。
だいたいの方向性を確認できたので、これでとりあえずは下書きに進んでいくことになると思う。
いずれにしても、どんどんと文章を書いていくのが仕事になりそうである。
今日の作業内容:SDPA-C 打ち合わせ 2h
今日のランチ:味庵 回鍋肉
今日のディナー:餃子の王将 餃子定食
明日の予測作業時間:3h
だいたいの方向性を確認できたので、これでとりあえずは下書きに進んでいくことになると思う。
いずれにしても、どんどんと文章を書いていくのが仕事になりそうである。
今日の作業内容:SDPA-C 打ち合わせ 2h
今日のランチ:味庵 回鍋肉
今日のディナー:餃子の王将 餃子定食
明日の予測作業時間:3h
2012年12月26日水曜日
2012年12月25日火曜日
2012年12月21日金曜日
パラメータ捜査の続き
昨日に続いてパラメータ捜査をしているが、SDPA-C の場合、極端に悪いパラメータを利用すると反復回数ばかりかかって、計算が進まないことも分かる。
普段は、「だいたいの問題によいデフォルトパラメータ」や、これまでの実験でそれなりの結果を残しているパラメータで実験を行うが、今回は0.1刻みでいろんなパラメータを実行している。
このようにしてみると、普段の実験では分からなかった点などを知ることができて面白い。
今日の作業内容:SDPA-C 0.5h
今日のランチ:サンドラッグ マルチビタミン+チョコ+カロリーメイト
明日の予測作業時間:4h
普段は、「だいたいの問題によいデフォルトパラメータ」や、これまでの実験でそれなりの結果を残しているパラメータで実験を行うが、今回は0.1刻みでいろんなパラメータを実行している。
このようにしてみると、普段の実験では分からなかった点などを知ることができて面白い。
今日の作業内容:SDPA-C 0.5h
今日のランチ:サンドラッグ マルチビタミン+チョコ+カロリーメイト
明日の予測作業時間:4h
2012年12月20日木曜日
2012年12月19日水曜日
Debian USB Live の LXDE でキーボードレイアウト変更
Debian USB Live で LXDE を実行しているが、日本語キーボードを英語キーボードと認識していて使い勝手がいまひとつであった。
$ dpkg-reconfigure console-data
では、コンソールは効果があるが LXDE では反映されていなかった。
LXDE で反映させるには、
$ setxkbmap -layout jp -option ctrl:swapcase
のようにすれば良かった。
これによって、キーボードが日本語レイアウトになり、また emacs キーバインドのときに便利なように caps と ctrl が入れ替わる。
ついでに、大きく時間がずれていたので
# ntpdate time.nist.gov
をしておいた。
また、LXDE のメニューが日本語になっていなかったので、
# dpkg-reconfigure locales
で "jp_JP.UTF-8 UTF-8" を選択して、日本語の部分を生成した後にログアウトして
ユーザ名 user パスワード live
で再ログインするとメニューも日本語化された。
今日の作業内容:Debian USB LIVE 0.5h + SDPA-C 1h
今日のランチ:ローソン スープデリとカロリーメイト
明日の予測作業時間:5h
$ dpkg-reconfigure console-data
では、コンソールは効果があるが LXDE では反映されていなかった。
LXDE で反映させるには、
$ setxkbmap -layout jp -option ctrl:swapcase
のようにすれば良かった。
これによって、キーボードが日本語レイアウトになり、また emacs キーバインドのときに便利なように caps と ctrl が入れ替わる。
ついでに、大きく時間がずれていたので
# ntpdate time.nist.gov
をしておいた。
また、LXDE のメニューが日本語になっていなかったので、
# dpkg-reconfigure locales
で "jp_JP.UTF-8 UTF-8" を選択して、日本語の部分を生成した後にログアウトして
ユーザ名 user パスワード live
で再ログインするとメニューも日本語化された。
今日の作業内容:Debian USB LIVE 0.5h + SDPA-C 1h
今日のランチ:ローソン スープデリとカロリーメイト
明日の予測作業時間:5h
2012年12月18日火曜日
git reflog
git には reflog というコマンドがあって、それぞれのコミットが HEAD からいくつ前なのか、また、それが commit されたものなのか、pull されたものなのか、checkout されたものなのか、がわかるようになっている。
この情報は、細かい情報まで出してくれるのだが、今一つ読み方が自分ではわかっていない。
たとえば gitk は時系列順に並んでいるので、どのコミットがどの順番なのか分かりやすいのだが、git reflog の場合には、そもそもすべてのcommit がリストアップされているようではない様子だ。
このあたりは、もうちょっと勉強しておきたい。
今日の作業内容:SDPA-C 0.5h
今日のランチ:らく 焼き魚定食
明日の予測作業時間:1h
この情報は、細かい情報まで出してくれるのだが、今一つ読み方が自分ではわかっていない。
たとえば gitk は時系列順に並んでいるので、どのコミットがどの順番なのか分かりやすいのだが、git reflog の場合には、そもそもすべてのcommit がリストアップされているようではない様子だ。
このあたりは、もうちょっと勉強しておきたい。
今日の作業内容:SDPA-C 0.5h
今日のランチ:らく 焼き魚定食
明日の予測作業時間:1h
2012年12月17日月曜日
SNL の問題生成をチェック中
どうにも SDPA-C だと、SNL の問題がうまく解けていないので、そのあたりを調べていると、目的関数がけた違いに大きくなる点に気がついた。
どうやら、問題を生成している時点で若干の不具合が含まれているようである。
このあたりをもう少し詳しく見ていく必要がありそうだ。
今日の作業内容:SDPA-C 1h
今日のランチ:角笛 白身魚のエスカベッシュ
明日の予測作業時間:3h
どうやら、問題を生成している時点で若干の不具合が含まれているようである。
このあたりをもう少し詳しく見ていく必要がありそうだ。
今日の作業内容:SDPA-C 1h
今日のランチ:角笛 白身魚のエスカベッシュ
明日の予測作業時間:3h
2012年12月14日金曜日
2012年12月13日木曜日
2012年12月12日水曜日
2012年12月11日火曜日
dmidecode と lshw
Linux を実行しているときにチップセットやメモリなどの情報を取り出したいときに、dmidecode と lshw を実行すると、かなり詳細までわかる。
例えばメモリなら周波数だけでなく、どの型番かといった情報までを表示してくれる。
これらの情報を使うと、かなり便利ではある。
今日の作業内容:発表準備の調整 1h
今日のランチ:つかさ 大根と魚のあらに
明日の予測作業時間:3h
例えばメモリなら周波数だけでなく、どの型番かといった情報までを表示してくれる。
これらの情報を使うと、かなり便利ではある。
今日の作業内容:発表準備の調整 1h
今日のランチ:つかさ 大根と魚のあらに
明日の予測作業時間:3h
2012年12月10日月曜日
autotools の勉強になるサイト
SDPA のコンパイルなどは autotools を用いているが、autotools の勉強としては
新しめの Autotools (Autoconf&Automake) を使ってみよう
というサイトが勉強になる。
これを読んだ後に SDPA の configure.in, Makefile.am などを読むと、修正などが必要な場合にどのように修正すべきか、などがわかりやすくなる。
今日の作業内容:発表準備 3h
今日のランチ:味庵 マーボー春雨
明日の予測作業時間:4h
新しめの Autotools (Autoconf&Automake) を使ってみよう
というサイトが勉強になる。
これを読んだ後に SDPA の configure.in, Makefile.am などを読むと、修正などが必要な場合にどのように修正すべきか、などがわかりやすくなる。
今日の作業内容:発表準備 3h
今日のランチ:味庵 マーボー春雨
明日の予測作業時間:4h
2012年12月7日金曜日
どうでもいいバグに時間を取られる
今日は、Matlab のプログラムを少し書いていたが、どうでもいいバグにはまって、案外時間を取られてしまった。
関数の引数に
function [matrix1] = generateMatrix(size)
と size を指定してしまったがために、プログラムのずっと後半で行列のサイズ確認に
size(matrix1)
をしようとして不可解なエラーとなってしまった。
このあたりは、初歩的なミスでありながらも、一度はまると簡単には抜け出せないので、案外苦労する。
今日の作業内容:プログラム 2h
今日のランチ:らく まぐろのづけ丼
明日の予測作業時間:5h
関数の引数に
function [matrix1] = generateMatrix(size)
と size を指定してしまったがために、プログラムのずっと後半で行列のサイズ確認に
size(matrix1)
をしようとして不可解なエラーとなってしまった。
このあたりは、初歩的なミスでありながらも、一度はまると簡単には抜け出せないので、案外苦労する。
今日の作業内容:プログラム 2h
今日のランチ:らく まぐろのづけ丼
明日の予測作業時間:5h
2012年12月6日木曜日
発表スライド1枚追加
今日は、あまり時間が取れず、発表スライドを1枚追加しただけで終わり。
もう少し時間を確保したいところだ。
今日の作業内容:スライド作成 0.5h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:3h
もう少し時間を確保したいところだ。
今日の作業内容:スライド作成 0.5h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:3h
2012年12月5日水曜日
2012年12月4日火曜日
dpkg -S
dpkg -S を使うと、どのファイルがどのパッケージからインストールされているかを調べることができて便利である。
たとえば、libf2c.a をリンクしているソフトを別のサーバでコンパイルしようとしたときに、libf2c.a が入っているパッケージをインストールしなければならないが、このときにはlibf2c.a がすでに入っているところで
$ dpkg -S libf2c.a
libf2c2-dev: /usr/lib/libf2c.a
たとえば、libf2c.a をリンクしているソフトを別のサーバでコンパイルしようとしたときに、libf2c.a が入っているパッケージをインストールしなければならないが、このときにはlibf2c.a がすでに入っているところで
$ dpkg -S libf2c.a
libf2c2-dev: /usr/lib/libf2c.a
により
$ sudo apt-get install libf2c2-dev
でパッケージをインストールすることができる。
ちなみに、この情報は Web で検索なら
http://www.debian.org/distrib/packages
にアクセスすればよい。
下のほうの[パッケージの内容を検索]のところでキーワードに libf2c.a を入力して、[キーワードを含む名前のファイルを含むパッケージ]をチェックして、検索する。
今日の作業内容:発表資料作成 4h
今日のお昼:サイゼリヤ ハンバーグオニオンソース&牛挽肉コロッケ&ソーセージ
明日の予測作業時間:3h
2012年12月3日月曜日
Linux でCPU負荷テスト
CPU が何度ぐらいまで上昇するかを知るために、Linux で負荷テストをしてみた。
まずは、Debian の Live USB を作成した。これには
debian-wheezy-live-a2-amd64-lxde-desktop.iso
をダウンロードしてきて、
unetbootin-windows-581.exe
で 1GB の USB メモリにインストールした。ひとつ前の squeeze では LAN を認識できなかったので、alpha 版ではあるが wheezy にした。これで LAN を自動的に認識できた。
ちなみに、Live USB は起動すると自動ログインされるが、一度ログアウトすると再度ログインするのにパスワードが必要で、そのときには
ユーザ名:user パスワード:live
を利用する。
LXDE でログインできているが、日本語キーボードになっていないので、
$ sudo -s
# apt-get install console-data
としてみて、再度ログインしてみたが日本語キーボードには変わらず。英語配列のままで、とりあえず入力をする。
CPU 温度測定のために sensors コマンドを入力できるようにする。途中の sensors-detect では、基本的にデフォルトのまま答えるので、すべてエンターキーで回答。
# apt-get install lm-sensors
# sensors-detect
# sensors
負荷をかけるコマンドとして stress をインストール
# apt-get install stress
使用方法は、こちらが詳しい。
http://blog.livedoor.jp/hakin/archives/51027033.html
今回は、とりあえず
$ stress --cpu 2 --vm-bytes 16G --timeout 5m
で軽く負荷をかけて、
$ stress --cpu 8 --vm-bytes 32G --timeout 1h
$ stress --cpu 8 --vm-bytes 32G --timeout 1h
で本格的に負荷をかけている。
sensors は 10秒置きに表示をさせている。
# while [ 1 = 1 ]; do sensors; sleep 10; done
今の部屋の気温は20度以下であるが、完全に負荷をかけると 80 度まで到達する。
これはかなりの温度までなっているといえそうである。
今日の作業内容:CPU負荷テスト 2h
今日のランチ:味庵 豚の角煮と厚揚げの煮込み
明日の予測作業時間:5h
2012年11月29日木曜日
2012年11月28日水曜日
2012年11月27日火曜日
YaTeX のコンパイルコマンドの小技
YaTeX を使っている場合、通常の C-c C-t j でコンパイルされるコマンドは
(setq tex-command "platex -src-specials")
で設定されるが、それぞれのファイルで細かく指定したいときには、たとえば test.tex などでは最初の行を
%#! platex test.tex
などと %#! とすると、このコマンドが実行される。
ここで、platex test.tex && dvipdfmx test.dvi
%#! platex test.tex \&\& dvipdfmx test.dvi
とすればいいのであるが、このままではコンパイルすべき tex ファイルを自動的に判別できずに C-c C-t j のときにtest.tex を明治的に示す必要がある。
この場合は、Linux の場合に # 以降が コメント扱いされるのを利用して、
(setq tex-command "platex -src-specials")
で設定されるが、それぞれのファイルで細かく指定したいときには、たとえば test.tex などでは最初の行を
%#! platex test.tex
などと %#! とすると、このコマンドが実行される。
ここで、platex test.tex && dvipdfmx test.dvi
%#! platex test.tex \&\& dvipdfmx test.dvi
とすればいいのであるが、このままではコンパイルすべき tex ファイルを自動的に判別できずに C-c C-t j のときにtest.tex を明治的に示す必要がある。
この場合は、Linux の場合に # 以降が コメント扱いされるのを利用して、
%#! platex test.tex \&\& dvipdfmx test.dvi # test.tex
と最後に # ファイル名とすればよい。
どうやら、コンパイルのときの tex ファイル名は、最初の行の最後にある ???.tex の部分を解析しているようであり、これで自動的に判別される。
今日の作業内容:資料作り 4h
今日のランチ:つかさ かんぱち唐揚げ
明日の予測作業時間:4h
と最後に # ファイル名とすればよい。
どうやら、コンパイルのときの tex ファイル名は、最初の行の最後にある ???.tex の部分を解析しているようであり、これで自動的に判別される。
今日の作業内容:資料作り 4h
今日のランチ:つかさ かんぱち唐揚げ
明日の予測作業時間:4h
2012年11月26日月曜日
2012年11月22日木曜日
xdvi -editor を調べてみた
emacs と xdvi の間を相互にジャンプできる方法があるが、これについて調べてみると Vine についてのものが多い。
Debian testing の場合には、
http://forest.edu.u-toyama.ac.jp/blog/2009/03/ubuntutex.html
を参考にしたところ、実行できるようになった。
ただ、emacs を複数起動すると、xdvi から どの emacs に移動したらいいか分からなくなるようで、そのあたりがうまくいかなかった。普段 xdvi は emacs の yatex 経由で起動しているので、その yatex のあたりで管理されるかと思ったが、そうではないみたいである。
emacsclient のまわりは、まだまだ理解できていないところが自分にはあるので、このあたりも勉強しておきたい。
今日の作業:部屋の整理 2h
今日のランチ:四川弁当 青椒肉絲
明日の予測作業時間:5h
Debian testing の場合には、
http://forest.edu.u-toyama.ac.jp/blog/2009/03/ubuntutex.html
を参考にしたところ、実行できるようになった。
ただ、emacs を複数起動すると、xdvi から どの emacs に移動したらいいか分からなくなるようで、そのあたりがうまくいかなかった。普段 xdvi は emacs の yatex 経由で起動しているので、その yatex のあたりで管理されるかと思ったが、そうではないみたいである。
emacsclient のまわりは、まだまだ理解できていないところが自分にはあるので、このあたりも勉強しておきたい。
今日の作業:部屋の整理 2h
今日のランチ:四川弁当 青椒肉絲
明日の予測作業時間:5h
2012年11月21日水曜日
xdvik と g
TeX で dvi ファイルを表示するxdvik はemacs-binding に似た操作ができるので、n で次のページ、p で前のページなどに移動できるのだが、さっき vi と同じように 「数字のあとにg」としたら、直接そのページ番号に移動できた。
いままで、vi と同じ感覚で g ではなく G で試していて気がつかなかったが、やはりこういったこともできるようになっていたようである。
ところで、マニュアルを読んでいると -editor というオプションもあるらしい。
このあたりは、あとでチェックしてみる。
今日の作業内容:論文書き足し 0.5h
今日のランチ:双葉屋 コロッケB定食
明日の予測作業時間:2h
いままで、vi と同じ感覚で g ではなく G で試していて気がつかなかったが、やはりこういったこともできるようになっていたようである。
ところで、マニュアルを読んでいると -editor というオプションもあるらしい。
このあたりは、あとでチェックしてみる。
今日の作業内容:論文書き足し 0.5h
今日のランチ:双葉屋 コロッケB定食
明日の予測作業時間:2h
2012年11月20日火曜日
2012年11月19日月曜日
2012年11月16日金曜日
ORIG_HEAD を勉強中
まとまった時間を取れないので、細切れの時間に Git についての勉強を続けている。
いまは、 git reset のところまで来ているが、reset には --soft, --hard, --mixed の3つがあり、これらの違いが分かりにくい。
さらに HEAD だけでなく ORIG_HEAD というものも登場している。
このあたりは、もう少し時間を見つけて勉強したい。
今日の作業内容:部屋の整理 1h + Git 0.5h
今日のランチ:信華園 かたやきそば
明日の予測作業時間:4h
いまは、 git reset のところまで来ているが、reset には --soft, --hard, --mixed の3つがあり、これらの違いが分かりにくい。
さらに HEAD だけでなく ORIG_HEAD というものも登場している。
このあたりは、もう少し時間を見つけて勉強したい。
今日の作業内容:部屋の整理 1h + Git 0.5h
今日のランチ:信華園 かたやきそば
明日の予測作業時間:4h
2012年11月15日木曜日
PCパーツ
次に使う PC を組み立てるためにパーツの選定を進めている。
基本的には SDPA の実験を十分に行えるような環境にする方向で選定している。
まず、CPU としては、Xeon と Core i7 が候補として挙がるが、今回は Core i7 を軸に据えることにした。
Xeon のほうがキャッシュなどの面で有利ではあるのだが、SDPA の性能はクロック数に依存しやすいので、コストパフォーマンスを考えて Core i7 とした。
これにあわせて、マザーボードのチップも選定をしておいた。
メモリについては、ここ数年で大幅に値段が崩れているので、32GB でも 2万円以内で購入できる範囲である。
もちろん、ECC 付きなど高いメモリもあるのだが、最近のメモリは non-ECC でもほとんど不具合に合わないので、non-ECC としている。ただし、non-ECC でも、クロックは高めにしている。
あと、CPU にグラフィックス機能がついているが、これを使うと CPU の機能をフルに使えないと推測できるので、グラフィックスボードは別途導入することとした。
ただし、グラフィックス機能は SDPA の計算に直結しないので、ミドルクラス以下にしている。
今日の作業内容:部屋の整理 1h
今日のランチ:味庵 豚肉細切りとニンニクの芽炒め
明日の予測作業時間:3h
基本的には SDPA の実験を十分に行えるような環境にする方向で選定している。
まず、CPU としては、Xeon と Core i7 が候補として挙がるが、今回は Core i7 を軸に据えることにした。
Xeon のほうがキャッシュなどの面で有利ではあるのだが、SDPA の性能はクロック数に依存しやすいので、コストパフォーマンスを考えて Core i7 とした。
これにあわせて、マザーボードのチップも選定をしておいた。
メモリについては、ここ数年で大幅に値段が崩れているので、32GB でも 2万円以内で購入できる範囲である。
もちろん、ECC 付きなど高いメモリもあるのだが、最近のメモリは non-ECC でもほとんど不具合に合わないので、non-ECC としている。ただし、non-ECC でも、クロックは高めにしている。
あと、CPU にグラフィックス機能がついているが、これを使うと CPU の機能をフルに使えないと推測できるので、グラフィックスボードは別途導入することとした。
ただし、グラフィックス機能は SDPA の計算に直結しないので、ミドルクラス以下にしている。
今日の作業内容:部屋の整理 1h
今日のランチ:味庵 豚肉細切りとニンニクの芽炒め
明日の予測作業時間:3h
2012年11月14日水曜日
latexdraw 3.0 alpha
Debian パッケージだとまだ 2.0.8 なので気がついていなかったが、latexdraw の 3.0 が alpha で登場していた。
3.0 の目玉は、TeX で数式を入れられることのようである。
たとえば、beamer などに latexdraw の絵を入れようとすると、これまでlatexdraw では $x$ のように $ で囲まれた文字列として扱わねばならず、数式に変換したときにどの大きさになるかが pdf になるまで確認が難しかった。
今回は、latexdraw のうちに数式として表示できるので、便利になりそうである。
ちなみに、latexdraw だと \pause も解釈できるので、Powerpoint のアニメーション機能のように新しい図形を加えてくのがbeamer の場合でも楽にできるようになる。
今日の作業内容:部屋の整理など 1h
今日のランチ:食堂 鶏そば
明日の予測作業時間:3h
3.0 の目玉は、TeX で数式を入れられることのようである。
たとえば、beamer などに latexdraw の絵を入れようとすると、これまでlatexdraw では $x$ のように $ で囲まれた文字列として扱わねばならず、数式に変換したときにどの大きさになるかが pdf になるまで確認が難しかった。
今回は、latexdraw のうちに数式として表示できるので、便利になりそうである。
ちなみに、latexdraw だと \pause も解釈できるので、Powerpoint のアニメーション機能のように新しい図形を加えてくのがbeamer の場合でも楽にできるようになる。
今日の作業内容:部屋の整理など 1h
今日のランチ:食堂 鶏そば
明日の予測作業時間:3h
2012年11月13日火曜日
2012年11月12日月曜日
DDwinのスクロール
論文の校正で辞書を使う際に、DDwin で串刺し検索をしているが、単語の説明をスクロールしようとすると、これまで調べた単語に移ってしまう、というのが困っていた。
少し調べてみたところ、これは以下のようにすると、単語の説明のほうがスクロールされるようになる。
ツール
->オプション
-> 検索語入力ボックスにフォーカスがあっても方向キーで項目内容をスクロールする
細かいところではあるが、かなり快適である。
今日の作業内容:論文校正 3h
今日のランチ:つかさ かんぱちまかない丼
明日の予測作業時間:4h
少し調べてみたところ、これは以下のようにすると、単語の説明のほうがスクロールされるようになる。
ツール
->オプション
-> 検索語入力ボックスにフォーカスがあっても方向キーで項目内容をスクロールする
細かいところではあるが、かなり快適である。
今日の作業内容:論文校正 3h
今日のランチ:つかさ かんぱちまかない丼
明日の予測作業時間:4h
2012年11月9日金曜日
ISMP のときに知った本
ISMP の発表を聞いていた時に知った本の1冊が
Handbook of Test Problems in Local and Global Optimization
Amazon へのリンク
である。
少しずつ隙間時間でチェックしているが、様々なテスト問題が載っている。
たとえば、制約付き連続最適化問題などのある程度のボリュームでテスト問題が載っている。
数値実験などをするときに、どこから数値実験用の問題を持ってくるか、は難しいことのひとつであるが、この本を参考にする、というのは一つの手である。
今日の作業内容:部屋の整理 3h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:4h
Handbook of Test Problems in Local and Global Optimization
Amazon へのリンク
である。
少しずつ隙間時間でチェックしているが、様々なテスト問題が載っている。
たとえば、制約付き連続最適化問題などのある程度のボリュームでテスト問題が載っている。
数値実験などをするときに、どこから数値実験用の問題を持ってくるか、は難しいことのひとつであるが、この本を参考にする、というのは一つの手である。
今日の作業内容:部屋の整理 3h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:4h
2012年11月8日木曜日
Gitによるバージョン管理
SDPA では、ソースの管理に Git を用いているが、今は Git をより勉強するために
Gitによるバージョン管理
を時間を縫って読んでいる。
Git の本は複数あるが、その中でもこの本がわかりやすい、と思って、この本を読んでいる。あとで気が付いたところでは、SDPA の Debian パッケージでお世話になっている方が著者に入っていた。
Git で管理しているメリットしてはいくつかあるが、その中でも
(1) 複数のところに clone してあるので、バックアップ代わりが簡単にできる
(2) 履歴が残るので、いつの時点でも復元可能
という点がとても便利である。
たとえば、(2) などは、ずっと以前に書いたコードにバグがあった時に、そのころに一緒に書いたコードを探すことができるので、バグを削除しやすい。
今日の作業内容:git 0.5h
今日のランチ:味庵 マーボー春雨
明日の予測作業時間:4h
Gitによるバージョン管理
を時間を縫って読んでいる。
Git の本は複数あるが、その中でもこの本がわかりやすい、と思って、この本を読んでいる。あとで気が付いたところでは、SDPA の Debian パッケージでお世話になっている方が著者に入っていた。
Git で管理しているメリットしてはいくつかあるが、その中でも
(1) 複数のところに clone してあるので、バックアップ代わりが簡単にできる
(2) 履歴が残るので、いつの時点でも復元可能
という点がとても便利である。
たとえば、(2) などは、ずっと以前に書いたコードにバグがあった時に、そのころに一緒に書いたコードを探すことができるので、バグを削除しやすい。
今日の作業内容:git 0.5h
今日のランチ:味庵 マーボー春雨
明日の予測作業時間:4h
2012年11月7日水曜日
ibus の点滅を停止させる
Virtualbox のゲスト Linux 上で ibus の切り替えを「半角/全角」で行うと、タスクバーのibus が点滅状態になって日本語入力がうまくいかないが、以下のところに解決法があった。
http://akira.matrix.jp/?p=472
基本的には、
/etc/X11/Xsession.d/98vboxadd-xclient
のところに
/usr/bin/xset -r 49
を追加することになる。
これにしておくと、emacs 内部から ibus を呼んだりするときにも、「半角/全角」で Windows と同じキー操作でできるので、便利である。
今日の作業内容:部屋の整備 3h
今日のランチ:つかさ しめさば
明日の予測作業時間:1h
http://akira.matrix.jp/?p=472
基本的には、
/etc/X11/Xsession.d/98vboxadd-xclient
のところに
/usr/bin/xset -r 49
を追加することになる。
これにしておくと、emacs 内部から ibus を呼んだりするときにも、「半角/全角」で Windows と同じキー操作でできるので、便利である。
今日の作業内容:部屋の整備 3h
今日のランチ:つかさ しめさば
明日の予測作業時間:1h
2012年11月6日火曜日
2012年11月5日月曜日
2012年11月2日金曜日
Matlab は行よりも列のほうが高速
Matlab で計算をするときには、一般に行よりも列のほうが高速である。
たとえば、100x100の行列でも
A = [];
for i=1:1000
A = [A; rand(1,1000)];
end
と行ごとに追加するよりも
A = [];
for j=1:1000
A = [A rand(1000,1)];
end
と追加したほうがベターである。
行ごとなら 2.73 秒かかるが列ごとなら 1.86秒になる。
このあたりは、C言語やFortranのインターフェースである mex を勉強するとわかりやすいが、mex についてはチュートリアルが2006年のものしかなく、2009年以降の Matlab ではコンパイルに失敗することが多い。
http://www.mathworks.com/tagteam/56811_TT024_MEX_File_Tutorial.pdf
Matlab では、サポート体制が不十分らしくマニュアルなどにないチップがたくさんあり、そのあたりをどのように共有していくか、が大事なのかもしれない。
今日の作業内容:論文校正 2h
今日のランチ:信華園 肉野菜炒め
明日の予測作業時間:4h
たとえば、100x100の行列でも
A = [];
for i=1:1000
A = [A; rand(1,1000)];
end
と行ごとに追加するよりも
A = [];
for j=1:1000
A = [A rand(1000,1)];
end
と追加したほうがベターである。
行ごとなら 2.73 秒かかるが列ごとなら 1.86秒になる。
このあたりは、C言語やFortranのインターフェースである mex を勉強するとわかりやすいが、mex についてはチュートリアルが2006年のものしかなく、2009年以降の Matlab ではコンパイルに失敗することが多い。
http://www.mathworks.com/tagteam/56811_TT024_MEX_File_Tutorial.pdf
Matlab では、サポート体制が不十分らしくマニュアルなどにないチップがたくさんあり、そのあたりをどのように共有していくか、が大事なのかもしれない。
今日の作業内容:論文校正 2h
今日のランチ:信華園 肉野菜炒め
明日の予測作業時間:4h
2012年11月1日木曜日
Mehrotra 難しい
SDPA-C で Mehrotra を利用しようかと思って計算式を立ててみた。
ただ、計算式を見ていると、計算時間が相当かかることも分かるし、数値誤差にも弱くなりそうなので、実装するのは見送りに。
やはり、X などをそのまま行列積に使えない、という制約がきつい制約である。
今日の作業内容:Mehrotra 検討 3h
今日のランチ:つかさ かんぱち唐揚げ
明日の予測作業時間:3h
ただ、計算式を見ていると、計算時間が相当かかることも分かるし、数値誤差にも弱くなりそうなので、実装するのは見送りに。
やはり、X などをそのまま行列積に使えない、という制約がきつい制約である。
今日の作業内容:Mehrotra 検討 3h
今日のランチ:つかさ かんぱち唐揚げ
明日の予測作業時間:3h
2012年10月31日水曜日
2012年10月30日火曜日
SDPA-Cのマルチスレッド化
今までマルチスレッド化をしてなかったところを1か所マルチスレッド化した。これにより、4スレッドまでで
4.62秒(1スレッド)->2.40秒(2スレッド)->1.68秒(4スレッド)
というところまで高速化が進んだ。
今実験している計算機は4コアでサンプルも小さいので、だいたいの高速化が得られたところかと考えている。
今日の作業内容:マルチスレッド化 4h
今日のランチ:味庵 鶏肉団子玉葱人参煮込み
明日の予測作業時間:3h
4.62秒(1スレッド)->2.40秒(2スレッド)->1.68秒(4スレッド)
というところまで高速化が進んだ。
今実験している計算機は4コアでサンプルも小さいので、だいたいの高速化が得られたところかと考えている。
今日の作業内容:マルチスレッド化 4h
今日のランチ:味庵 鶏肉団子玉葱人参煮込み
明日の予測作業時間:3h
2012年10月29日月曜日
マルチスレッド化、難航
今までの実装では並列化をしてなかったところで並列化しようとしたところ、案外簡単ではないことがわかった。
このあたりは、ソースを眺めるのを繰り返しながら考えることになる。
やはり、ある程度大きな単位で並列化したいところだが、そうするとまた別のところが難しくなる、など検討すべき課題も多い。
今日の作業内容:マルチスレッド検討 2h
今日のランチ:食堂 チキンソテーバジルクリームソース
明日の予測作業時間:4h
このあたりは、ソースを眺めるのを繰り返しながら考えることになる。
やはり、ある程度大きな単位で並列化したいところだが、そうするとまた別のところが難しくなる、など検討すべき課題も多い。
今日の作業内容:マルチスレッド検討 2h
今日のランチ:食堂 チキンソテーバジルクリームソース
明日の予測作業時間:4h
2012年10月26日金曜日
Makefile の細かい挙動の違い
Makefile を使っているが、SDPA-C のインストール用のものを書いていて、以下の2つに違いがあることに挙動に気が付いた。
[1]
OBJ = a.o b.o
CC = gcc
main.exe : main.o (OBJ)
$(CC) -o $@ main.o $(OBJ)
[2]
main.exe : main.o $(OBJ)
$(CC) -o $@ main.o $(OBJ)
OBJ = a.o b.o
今日の作業内容:SDPA-C 1h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:4h
[1]
OBJ = a.o b.o
CC = gcc
main.exe : main.o (OBJ)
$(CC) -o $@ main.o $(OBJ)
[2]
main.exe : main.o $(OBJ)
$(CC) -o $@ main.o $(OBJ)
OBJ = a.o b.o
CC = gcc
このとき、[1] では問題ないが [2] はバグとなる。
どうやら、変数の評価は、ファイルが存在するかどうかを確認する、つまり
main.exe : main.o $(OBJ)
の段階では上n行に書かれている $(OBJ) のみを参照するのに対して、
$(CC) -o $@ main.o $(OBJ)
の段階では、Makefile の最後まで読んで最後に指定されたものを利用する。
つまり、[2] では、以下のように展開されるようである。
main.exe : main.o
gcc -o main.exe main.o a.o b.o
ちょっとした違いだが、片方はバグになるので気をつけなければならない。
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:4h
2012年10月25日木曜日
SDPA-C のスレッド確認
数値実験をいくつかしている間に、マルチスレッドが動いていないケースが分かったので、これに対してマルチスレッド化をすることにした。
まずは、ソースの中で問題になっている部分を特定したところまでが、今日の作業。
今日の作業内容:SDPA-C ソース確認 1h
今日のランチ:信華園 タコライス風チャーハン
明日の予測作業時間:3h
まずは、ソースの中で問題になっている部分を特定したところまでが、今日の作業。
今日の作業内容:SDPA-C ソース確認 1h
今日のランチ:信華園 タコライス風チャーハン
明日の予測作業時間:3h
2012年10月24日水曜日
Dell PC をパーツ買ってきて自作するといくらぐらいか
計算サーバの性能などを調べているが、ふと気になったので Dell のPCを自作パーツで買った場合にいくらぐらいになるかを計算してみた。
Dell のPC としては、Precision T5600 N シリーズをベースに Xeon E5-2620, メモリ 16GB, HDD 1TB、保守サポート3年間 などとしてみた。
これで構成例価格は 32万円、割引額を引いて 25 万円となる。
(細かい構成で金額はいくらでも変わるので、今回は目安程度に見ている。)
ここでたとえば Xeon E5-2620 は現状で 35,000円程度、メモリは 8,000円程度、ハードディスクも8,000円程度などを足し合わせてみる。
ただ、ケースとマザーボードと電源については市販されていないと思われるので、だいたいでそれぞれ 30,000円, 30,000円, 10,000円としてみた。
また、RAID コントローラは金額に幅があるので、高めに見積もって 20,000円。
キーボードとマウスはそれぞれ 10,000円, 2,000円としてみた。
DVDスーパーマルチドライブを 6,000円, グラフィックスは NVIDIA Quadro NVS 300(512MB) を 15,000円としてみた。
これでざっと 18 万円程度となる。
ざっと見て7万円程度の差があるので、この7万円の中に組み立て費用や納品輸送費、保守サポートなどが含まれていると考えられる。
また、パーツを自分で買ってきた場合にはパーツの相性で動作できないリスクがあるので、そういった動作確認にかかる費用も、このあたりに含まれていると考えるのが妥当だと思う。
今日の作業内容:SFSDP チェック 4h
今日のランチ:つかさ マグロの竜田揚げ
明日の予測作業時間:4h
Dell のPC としては、Precision T5600 N シリーズをベースに Xeon E5-2620, メモリ 16GB, HDD 1TB、保守サポート3年間 などとしてみた。
これで構成例価格は 32万円、割引額を引いて 25 万円となる。
(細かい構成で金額はいくらでも変わるので、今回は目安程度に見ている。)
ここでたとえば Xeon E5-2620 は現状で 35,000円程度、メモリは 8,000円程度、ハードディスクも8,000円程度などを足し合わせてみる。
ただ、ケースとマザーボードと電源については市販されていないと思われるので、だいたいでそれぞれ 30,000円, 30,000円, 10,000円としてみた。
また、RAID コントローラは金額に幅があるので、高めに見積もって 20,000円。
キーボードとマウスはそれぞれ 10,000円, 2,000円としてみた。
DVDスーパーマルチドライブを 6,000円, グラフィックスは NVIDIA Quadro NVS 300(512MB) を 15,000円としてみた。
これでざっと 18 万円程度となる。
ざっと見て7万円程度の差があるので、この7万円の中に組み立て費用や納品輸送費、保守サポートなどが含まれていると考えられる。
また、パーツを自分で買ってきた場合にはパーツの相性で動作できないリスクがあるので、そういった動作確認にかかる費用も、このあたりに含まれていると考えるのが妥当だと思う。
今日の作業内容:SFSDP チェック 4h
今日のランチ:つかさ マグロの竜田揚げ
明日の予測作業時間:4h
2012年10月23日火曜日
VISTA の再インストール終了
昨日に続いて、VISTA の再インストールの続きをした。
今日は、SP2, Office 2010, Adobe Reader X をインストールしたが、この間にそれぞれ Windows Update が入っていて、今日だけでも再起動を8回ぐらいしたかと思われる。
特に Office 2010 を入れた直後に Windows Update で 97 個の更新があった。
やはり、ある程度最新の状態に持ってくるには、多くの更新が必要なようだ。
そういえば、Debian の場合は、apt-get update; apt-get dist-upgrade を 3回ぐらいかけたところで、最新の状態に追いついた記憶がある。
そのあたりで Windows と Linux は、また違いがあるのかもしれない。
今日の作業内容:VISTA 再インストール 3h + SFSDP 2h
今日のランチ:角笛 ポークエスカロップ
明日の予測作業時間:5h
今日は、SP2, Office 2010, Adobe Reader X をインストールしたが、この間にそれぞれ Windows Update が入っていて、今日だけでも再起動を8回ぐらいしたかと思われる。
特に Office 2010 を入れた直後に Windows Update で 97 個の更新があった。
やはり、ある程度最新の状態に持ってくるには、多くの更新が必要なようだ。
そういえば、Debian の場合は、apt-get update; apt-get dist-upgrade を 3回ぐらいかけたところで、最新の状態に追いついた記憶がある。
そのあたりで Windows と Linux は、また違いがあるのかもしれない。
今日の作業内容:VISTA 再インストール 3h + SFSDP 2h
今日のランチ:角笛 ポークエスカロップ
明日の予測作業時間:5h
2012年10月22日月曜日
VISTA再インストール
以前に Note PC で Windows Update をして起動できなくなっていたので、リカバリーディスクで VISTA を再インストールした。
リカバリーのあとに Windows Update が4回ぐらいあって、そのあとにアンチウィルスを入れて、現状としては Service Pack 1 を当てているところである。
このあとに Service Pack 2 があって、Office まではインストールしようと考えている。
ここまでに再起動をすでに10回程度は繰り返しているが、まだもう少しかかりそうだ。
今日の作業内容:再インストール 3h
今日のランチ:らく 鶏の照り焼き定食
明日の予測作業時間:4h
リカバリーのあとに Windows Update が4回ぐらいあって、そのあとにアンチウィルスを入れて、現状としては Service Pack 1 を当てているところである。
このあとに Service Pack 2 があって、Office まではインストールしようと考えている。
ここまでに再起動をすでに10回程度は繰り返しているが、まだもう少しかかりそうだ。
今日の作業内容:再インストール 3h
今日のランチ:らく 鶏の照り焼き定食
明日の予測作業時間:4h
2012年10月19日金曜日
SDPA-C インストールスクリプトを書く
SDPA-C が簡単にインストールできるようにインストールスクリプトを書いた。
基本的には
$ make
だけでコンパイルができるようになる。
途中で、SuiteSparse, MUMPS, OpenBLAS も wget,git 経由でダウンロードして、自動でコンパイルするようにしてある。
ただ、SDPA-C は必要となるパッケージが多いので、./configure スクリプトは作成せずに、Makefile だけで済むように変更してある。
コンパイル自体は複数パッケージのコンパイルとなるため時間がかかるが、エラーさえなければ
$ make
だけなので、かなり簡単である。
今日の作業内容:SDPA-C インストールスクリプト 3h
今日のランチ:たちばな ひらめ
明日の予測作業時間:4h
基本的には
$ make
だけでコンパイルができるようになる。
途中で、SuiteSparse, MUMPS, OpenBLAS も wget,git 経由でダウンロードして、自動でコンパイルするようにしてある。
ただ、SDPA-C は必要となるパッケージが多いので、./configure スクリプトは作成せずに、Makefile だけで済むように変更してある。
コンパイル自体は複数パッケージのコンパイルとなるため時間がかかるが、エラーさえなければ
$ make
だけなので、かなり簡単である。
今日の作業内容:SDPA-C インストールスクリプト 3h
今日のランチ:たちばな ひらめ
明日の予測作業時間:4h
2012年10月18日木曜日
SDPA-C インストールの整備
いままでのソースは git で管理しているだけで、公開できるようにはなっていなかったので、このあたりでソースなどを整理して、公開できる準備を始めた。
まずは、テスト入力データなど公開用にはいらないファイルを削除した後、Makefile を新規に書き直している。
今回は、BLAS については OpenBLAS だけに絞って、インストールできるようにするつもりである。
今日の作業内容:SDPA-C インストールマニュアル 1h
今日のランチ:味庵 ホイコーロー
明日の予測作業時間:3h
まずは、テスト入力データなど公開用にはいらないファイルを削除した後、Makefile を新規に書き直している。
今回は、BLAS については OpenBLAS だけに絞って、インストールできるようにするつもりである。
今日の作業内容:SDPA-C インストールマニュアル 1h
今日のランチ:味庵 ホイコーロー
明日の予測作業時間:3h
2012年10月17日水曜日
lxpanel を編集する
LXDE は Ubuntu や Debian だと、軽快なデスクトップなので便利であるが、カスタマイズの方法がちょっと分かりにくい。
lxpanel (アプリケーション・ランチャー)に lxterminal をつけるところまでは簡単だが、ここでlxterminal に引数をつけて登録する、となると難易度があがる。
この場合には、~/.local/share/applications に lxterminal-work.desktop というような ???.desktop という名前のファイルを準備する。中身は、
[Desktop Entry]
Exec=lxterminal --working-directory=/home/user/work
Icon=lxterminal
Terminal=false
Type=Application
Name=LxTerminal-work
Comment=LxTerminal-work
Categories=Utility;
lxpanel (アプリケーション・ランチャー)に lxterminal をつけるところまでは簡単だが、ここでlxterminal に引数をつけて登録する、となると難易度があがる。
この場合には、~/.local/share/applications に lxterminal-work.desktop というような ???.desktop という名前のファイルを準備する。中身は、
[Desktop Entry]
Exec=lxterminal --working-directory=/home/user/work
Icon=lxterminal
Terminal=false
Type=Application
Name=LxTerminal-work
Comment=LxTerminal-work
Categories=Utility;
のようにしておく。これで、lxterminal に working-directory を指定して起動できる。
このファイルを準備した後に、アプリケーション・ランチャーを右クリックして「アプリケーションランチャーの設定」を選ぶ。すると、Available Applications のアクセサリの中に LxTerminal-work が出てくるので、これを選択すればよい。
なお、標準で選べる Available Applications は /usr/share/applications に ???.desktop で記述されているので、これを参考にできる。
今日の作業内容:SDPA-C のインストール検討 0.5h
今日のランチ:つかさ かんぱちまかない丼
明日の予測作業時間:2h
2012年10月16日火曜日
Linux でシンボリックリンクがうまく使えず
Linux のシンボリックリンクを使おうと思ったが、うまく使えていない。
たとえば、~/a/a1/, ~/a/a2/, ~/b/b1/ というディレクトリがあるときに、
$ ln -s ~/a/a1/ ~/b/
とすると ~/b/a1/というリンクができて、
$ cd ~/b/a1
で a1 の中に入ることができる。
ここまではいいのだが、問題は
$ cd ~/b/a1
$ ls ..
とすると、~/b/a1 の一つ上だから、a1,b1 が見えるかと思いきや、a1,a2 が見える。
つまり、.. ではシンボリックリンクのときに一つ上に上がれない。
おそらく、.. がハードリンクになっていることに関係していると思うが、今日のところは解決策が見つからなかった。
今日の作業内容:SDPA-C 論文検討 2h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:1h
たとえば、~/a/a1/, ~/a/a2/, ~/b/b1/ というディレクトリがあるときに、
$ ln -s ~/a/a1/ ~/b/
とすると ~/b/a1/というリンクができて、
$ cd ~/b/a1
で a1 の中に入ることができる。
ここまではいいのだが、問題は
$ cd ~/b/a1
$ ls ..
とすると、~/b/a1 の一つ上だから、a1,b1 が見えるかと思いきや、a1,a2 が見える。
つまり、.. ではシンボリックリンクのときに一つ上に上がれない。
おそらく、.. がハードリンクになっていることに関係していると思うが、今日のところは解決策が見つからなかった。
今日の作業内容:SDPA-C 論文検討 2h
今日のランチ:シッダルータ ベジタブルカレー
明日の予測作業時間:1h
2012年10月15日月曜日
似たような論文が多すぎる分野
いろいろな論文がいろいろな分野で毎日のように公開されているが、最近気になっているのが、特定の研究内容で非常に似通った論文が多いこと。
2000年ごろに基本となる論文が出ているようだが、ここ数年でよく似た論文が多く発表されている。
アブストラクトの最後の一文がほぼ同じ意味であったり、証明の手順なども同じだし、Lemma や Theorem の並べ方、証明に使う数式なども、ほぼ同じだったりする。
しかも、ひとつのグループだけでなく、いくつかのグループで似たようなことをしているために、ほぼ同じ成果の論文が異なった雑誌に発表されているように見えることがある。
このあたりは、ちょっと考えておきたいところだ。
今日の作業内容:SDPA-C 構成 2h
今日のランチ:角笛 豚ロース味噌焼き
明日の予測作業時間:3h
2000年ごろに基本となる論文が出ているようだが、ここ数年でよく似た論文が多く発表されている。
アブストラクトの最後の一文がほぼ同じ意味であったり、証明の手順なども同じだし、Lemma や Theorem の並べ方、証明に使う数式なども、ほぼ同じだったりする。
しかも、ひとつのグループだけでなく、いくつかのグループで似たようなことをしているために、ほぼ同じ成果の論文が異なった雑誌に発表されているように見えることがある。
このあたりは、ちょっと考えておきたいところだ。
今日の作業内容:SDPA-C 構成 2h
今日のランチ:角笛 豚ロース味噌焼き
明日の予測作業時間:3h
2012年10月12日金曜日
SDPA-C で OpenBLAS のスレッド数制御
新しいSDPA-C の場合は、CHOLMOD を同時実行するので、CHOLMOD のなかで使われる OpenBLAS が同時実行されると衝突して性能が著しくおちることが分かった。
たとえば、1スレッドで80秒程度で解けていた問題が、4スレッドになると615秒かかる。
(このとき、top で見ると ksoftirqd というデーモンの使用率が大きくなり、スレッド切り替えが頻発していることが分かる)
そこで、CHOLMOD を同時実行する前に OpenBLAS のスレッド数を1に変更する修正をした。CHOLMOD 終了後は、4スレッドなどに戻すことになる。
この変更は、
void openblas_set_num_threads(int num_threads);
関数を使うと簡単にできる。ちなみに、この関数は
void gotoblas_set_num_threads(int num_threads);
を呼び出しているだけである。
これによって、80秒から64秒に短縮された。
あと、ATLAS は実行時にスレッド数を変更する機能がないのだが、debian パッケージの ATLAS だとなぜか衝突が起こらず問題にならない。
ATL_NTHREADS が 2 に設定されていたり、CPU 使用率が 200% 程度になることから、スレッド数が2でコンパイルされたバイナリと思うのだが、なぜ衝突しないのかは謎である。
SDPA-Cで測定すると、 1スレッド147秒, 2スレッド 79秒, 4スレッド 49秒と、衝突が起きていればおかしいほど時間短縮されるので、衝突していない。
いまは、もっと大きな問題を解くように数値実験中である。
今日の作業内容:SDPA-C 数値実験 3h
今日のランチ:シッダルータ キーマカレー
明日の予測作業時間:2h
たとえば、1スレッドで80秒程度で解けていた問題が、4スレッドになると615秒かかる。
(このとき、top で見ると ksoftirqd というデーモンの使用率が大きくなり、スレッド切り替えが頻発していることが分かる)
そこで、CHOLMOD を同時実行する前に OpenBLAS のスレッド数を1に変更する修正をした。CHOLMOD 終了後は、4スレッドなどに戻すことになる。
この変更は、
void openblas_set_num_threads(int num_threads);
関数を使うと簡単にできる。ちなみに、この関数は
void gotoblas_set_num_threads(int num_threads);
を呼び出しているだけである。
これによって、80秒から64秒に短縮された。
あと、ATLAS は実行時にスレッド数を変更する機能がないのだが、debian パッケージの ATLAS だとなぜか衝突が起こらず問題にならない。
ATL_NTHREADS が 2 に設定されていたり、CPU 使用率が 200% 程度になることから、スレッド数が2でコンパイルされたバイナリと思うのだが、なぜ衝突しないのかは謎である。
SDPA-Cで測定すると、 1スレッド147秒, 2スレッド 79秒, 4スレッド 49秒と、衝突が起きていればおかしいほど時間短縮されるので、衝突していない。
いまは、もっと大きな問題を解くように数値実験中である。
今日の作業内容:SDPA-C 数値実験 3h
今日のランチ:シッダルータ キーマカレー
明日の予測作業時間:2h
2012年10月11日木曜日
SDPA-C 数値実験
SDPARA-C の論文を書いた際の数値実験データ生成スクリプトを見つけたので、それをもとにして SDPA-C6, SDPA-C7, SDPA7 の数値実験を試しに行っている。
とりあえずは max cut, max clique, norm minimization を実行しているが、これが思った以上に速い。
SDPARA-C は並列計算を使っているが、4年前のXeonの1スレッドで実行すると、SDPARA-C の8ノードと同じぐらいの計算時間になる。
もちろん、SDPA-C6 よりも SDPA-C7 のほうが速いので、差は大きくなるが、あとで SDPA-C7 のマルチスレッドについても比較実験しておきたい。
現在は norm minimization の SDPA7 の実験を実行中。
やはり completion に有利な問題だけあって、SDPA7 はかなりの時間がかかる模様。
今日の作業内容:SDPA-C 数値実験 1h + 資料チェック 1h
今日のランチ:らく マグロのづけ丼
明日の予測作業時間:4h
とりあえずは max cut, max clique, norm minimization を実行しているが、これが思った以上に速い。
SDPARA-C は並列計算を使っているが、4年前のXeonの1スレッドで実行すると、SDPARA-C の8ノードと同じぐらいの計算時間になる。
もちろん、SDPA-C6 よりも SDPA-C7 のほうが速いので、差は大きくなるが、あとで SDPA-C7 のマルチスレッドについても比較実験しておきたい。
現在は norm minimization の SDPA7 の実験を実行中。
やはり completion に有利な問題だけあって、SDPA7 はかなりの時間がかかる模様。
今日の作業内容:SDPA-C 数値実験 1h + 資料チェック 1h
今日のランチ:らく マグロのづけ丼
明日の予測作業時間:4h
2012年10月10日水曜日
SDPA-Cの計算式の確認
今日もかなりの時間を事務処理に使っているが、SDPA-Cの計算式については確認しておいた。
このあたりをベースにして、今後の数値実験の方向性をある程度考える必要がありそうだ。
あとは、SDPARA-C の論文も参考にして、数値実験候補を決めていく。
今日の作業内容:SDPA-C の確認 0.5h
今日のランチ:つかさ 生サーモン照り焼き
明日の予測作業時間:3h
このあたりをベースにして、今後の数値実験の方向性をある程度考える必要がありそうだ。
あとは、SDPARA-C の論文も参考にして、数値実験候補を決めていく。
今日の作業内容:SDPA-C の確認 0.5h
今日のランチ:つかさ 生サーモン照り焼き
明日の予測作業時間:3h
2012年10月9日火曜日
2012年10月5日金曜日
2012年10月4日木曜日
2012年10月3日水曜日
2012年10月2日火曜日
査読をしているところ
この前、3本連続の査読を片付けたが、新しく査読が来たので、今日のうちに読んでいる。
ただ、最近の論文はベースとなっている論文のあちこちを切り張りしていることがある。
たとえば、証明の文章が同じで、変数名だけ変えている、などということもある。
定義などが似たり寄ったりになるのは分かるが、証明の文章もほとんど同じというのは、さすがにベースの論文を参照しすぎ、と感じる。
今日の作業内容:論文査読 4h
今日のランチ:角笛 ロールキャベツ
明日の予測作業時間:5h
ただ、最近の論文はベースとなっている論文のあちこちを切り張りしていることがある。
たとえば、証明の文章が同じで、変数名だけ変えている、などということもある。
定義などが似たり寄ったりになるのは分かるが、証明の文章もほとんど同じというのは、さすがにベースの論文を参照しすぎ、と感じる。
今日の作業内容:論文査読 4h
今日のランチ:角笛 ロールキャベツ
明日の予測作業時間:5h
2012年10月1日月曜日
2012年9月29日土曜日
RAMP2012 3日目
今日は、6時に目が覚めて6時30分ごろに動き出す。7時30分ごろに昨日と同じくホテルの朝ごはんを食べる。ただ、今日は結構はやくから移動があるので、 食べる量を抑えておく。そのあと、8時30分ごろまでテレビで天気予報などを確認して、8時30分過ぎにホテルをチェックイン。かなり快適に過ごせたホテルだった。
ホテルの横の道を通って、すぐの青葉通りへ。ここが仙石線の出発駅のあおば通り駅である。切符を買おうとしたところで、ここもJR東日本の管轄でスイカが使えることに気がつく。切符をわざわざ買わなくても済むのはとっても便利だった。8時58分の仙石線快速であおば通り駅を順調に出発。この電車は、ベルリンと同様に駅に着いたらボタンを押さないとドアがあかないタイプである。冬場はやっぱり寒いのであろう。仙石線はすぐに仙台駅に停車して、 いくつかの駅に停車していくが、このあたりの景色は、まったく面白くない。そもそも、このあたりは地下を走っている。そのうちに郊外まで行くと、地上を走る。
25分ぐらい走ると、塩釜の港が見える。線路から駅までは相当な距離があるので詳細までは見えないが、遠目には震災の痕は良く解らなかった。9時35分に松島海岸に到着。快速は次の駅が終着駅だが、その先の駅に行く人は、 松島海岸から代行バスで行くことになっているようだ。駅前には、 この快速に接続するための9時42分のバスが2台待っていた。ただ、今回は遊覧船なので、この代行バスには乗らず、駅前の遊覧船の切符売り場で切符を購入する。ちなみに、 インターネットの割引券をプリントアウトしていくと1割引き。遊覧船の乗り場までは6分ぐらい歩く、 ということを教えてもらって、道なりに歩いたところに遊覧船場を発見。
この遊覧船乗り場には修学旅行の高校生がたくさんいて、 同じ船かな、と思っていたら、 どうやら別の船を貸し切りにしてあるようだった。今回、自分が乗ったのは第三仁王丸。結構大きい船で、1階が自由席、そこから追加料金を払うと2階グリーン席がある。今回は10時出航と少し早目の時間だったので1階もそこそこ空い ており、、1階の左手に座ってみた。遊覧船は1周50分で松島のそれぞれの島を回ってくるルート。船の中で、この島がどんな島、というのが説明があるが、島の数が多くて、途中で説明よりもいろんな島を見ているほうが面白くなってくる。そうそう、松島はたくさんの島でできているが、 その中には人が住んでいる島もあり、中学校などもある、ということだった。あと、遊覧船の中の説明では、津波は6mぐらいだったけど、 松島の島々があったおかげで、 このあたりは被害が比較的抑えられていたらしい。たしかに、松島海岸駅から歩いていても、新しく建て直した建物はそれほど目につかなかった。遊覧船が見て回るコースの途中には、津波でダメになりながらも、半分の規模で再開しているカキの養殖などがあった。台湾で見たカキの養殖とはスタイルが少し違うような気もするが、素人の目から見てなので、 どの程度の違いかはよくわからなかった。
遊覧船から降りて、瑞巌寺に歩いて到着。ここは近いので歩いても5分とかからない。瑞巌寺は本堂が建て替え中とのことで、 仮本堂などを見ることができた。歴代の伊達家の肖像などがあったり、普段は見ることのできない山の上のお堂などが面白かった。あと、宝物殿には地下1フロア分の展示があって、 仏教関係や伊達家についての展示などが見受けられた。
ここを見終わって11時35分。遊覧船乗り場の近くまで歩いて、 パンセ松島店でカキカレーパン300円とメロンパン200円を買って、駅まで歩く。松島海岸の駅は基本的に30分に一本の電車だが、 11時45分に着いたら12時2分の電車があったので、これに乗ることにし、 待っている間に駅のホームでカレーパンにかじりつく。カレーパンは、思っていた以上にカキの量があって、 それがカレーとあっていておいしかった。たぶんカキの季節になったら、 もっと美味しいと思う。ちなみに、松島海岸の駅のところは、 仙石線と東北本線が比較的近くを並走しているので、 ちょっと山のほうを見ると東北本線の線路が分かる。メロンパンを食べ始めたところで電車が到着。仙石線は途中から単線なので、松島海岸駅で上下線の入れ替えで12時2分に同時の発車だった。松島海岸駅では電車も2駅目でガラガラだったので、 メロンパンの続きを食べ始める。すると、ずんだ豆がたくさん入っていることに気がついた。この豆、甘みが追加されていて、結構おいしい。メロンパンを食べ終えて塩釜の駅を過ぎ、 いつのまにか電車の中は混雑していた。12時41分に仙台駅に到着し、ここで電車を降りる。ところで、行きの快速は37分、 帰りの各駅停車は1駅分少ないが39分、と快速でも各駅停車でも、それほどの差がない。そもそも快速は停車しない駅が3駅しかないので、 大きな差は作れない。
仙台駅から仙台城に行くために11番のバス停に行ったら、ちょうどバスが出発するところ。ラッキーと思ってバスに乗り込む。地図でどのあたりかを確認しながら走っていると、ループル仙台とほぼ同じルートである。ところが、 瑞鳳殿の近くで右に曲がるべきところを何故か左に曲がるバス。どうやら、このバスは仙台城にはいかないらしい、と気がつき、次のバス停で急いで降りる。300mぐらい坂を降りてきて、さっきの交差点まで戻り、そこから仙台城まで歩くことにする。つまり、瑞鳳殿入り口から仙台城までのウォーキングである。最初は住宅街でそれほど大変でもなかったが、 仙台城の近くまできたら、相当な傾斜になっていて仙台城まで登りきるのが大変だった。やっぱりバスのほうが楽だと思う。ちなみに、住宅街のあたりも、 それほど震災の影響は見当たらなかった。一番わかったのは、仙台城の石垣が一部壊れていて、車が通行できなかった箇所である。
仙台城は、正確には仙台城跡であって、 仙台城はすでになくなっている。仙台の人にとっては、城というよりも観光地なのかもしれない。伊達正宗の有名な像は見晴らしのいいところに立っていて、そこからだと仙台の街がよく見える。東北大学のキャンパスに行く途中で見かけたウエスティンホテルの おかげで、仙台駅がだいたいどこのあたりにあるかも、よくわかる。
仙台城のところには資料展示館があって、入場料が700円。学会で配られていた割引券を使って500円で入場。ここでは16分のCGと、 あとは伊達正宗と仙台城の展示が1フロアある。ちょっと700円は割高だが、 CGを映画と見ればいいのかもしれない。CGは仙台城を復元していて、 地形などからどのような特徴があったか、内部の部屋はどうなっていたのか、などが紹介されていて、これは勉強になった。特に、仙台の地名の由来について知ることができたのは良かった。
そのあと、山の裏側からバス停を探す。ループルはバス停が出たところ、すぐにあるが、普通のバスは、ちょっと歩かないとみつからないので、結構解りにくい構造になっているうえに案内などは特にない。ちなみに、バス停についたのが14時35分ごろ。 14時48分のバスを待つ。バスは30分に1本の割合と少なく、意外な感覚がある。バスは東北大学のキャンパスをどんどんと通過した後、 30分ぐらいかかって15時20分に青葉通りに到着。
ここで、お土産を買った。牛タン弁当を買おうか迷ったが、 夕飯になる前に新幹線を降りてしまうので断念。15時46分のやまびこ自由席に乗ろうと16時40分にホームに 適当に上がったところ一番後ろの10号車付近に。自由席は1号車から4号車なので、 急いで前方に移動して3号車のあたりで乗りこみ、 空いている席を見つけて座る。バッグを席の下に置いたところで、やまびこが仙台駅を出発した。行きの新幹線は途中を寝て過ごしてしまったが、 帰りは音楽を聴きながらでゆっくりと帰ってくることができた。東京駅からは順調に乗り換えが進んで、 18時50分ごろには家に着いた。
今回の仙台出張では、RAMP で様々な勉強にもなったし、仙台や松島など震災後にどうなっているかを自分の目で見ることができた点も大きかった。
ホテルを出発 |
あおば通駅の入り口 |
あおば通駅 |
ホームの雰囲気 |
8時58分の快速に乗る |
折り返し下り電車が到着 |
ドアが押しボタン式 |
塩釜の様子 |
松島海岸の駅に |
駅前ロータリー(右2台のバスが代行バス) |
遊覧船に乗る |
遊覧船の中 |
松島をゆく |
カモメのジョナさん |
遊覧船から塩釜を見る |
4つ穴がある鐘島 |
仁王島 |
人が住んでる桂島 |
再開しているカキの養殖 |
松島のいろんな島 |
お寺へ移動 |
山門 |
震災の影響も残っている |
仏像が並んでいる |
今は絶賛修理中 |
今回の特別公開 實華殿にいくところ(實華殿そのものは撮影禁止なので写真なし) |
牡蠣カレーパンとずんだメロンパンを買う |
松島海岸駅の駅舎 |
12時2分に上下線が出発 |
牡蠣カレーパンは牡蠣が美味しい |
仙石線の下りに乗車 |
メロンパンは途中からずんだがたくさん |
仙台城に上るところは車は通行不可 |
仙台城から仙台駅方向 |
伊達正宗像 |
資料展示館が入っているお土産屋さん |
資料展示館入口 |
仙台城のバス停は、ちょっと分かりづらい |
仙台駅に戻ってきた |
15時46分のやまびこで仙台から出発 |
2012年9月28日金曜日
RAMP2012 2日目
ホテルで朝食 |
冷やし中華@桜園 |
青葉通り |
ぐるなび定食で牛タン@利休西口本店 |
アーケード街 |
今日は6時30分ごろにベットを出て、 7時30分ごろにホテル2階の朝ごはんを食べに行ってきた。 食事つきなのでそれほど豪華な食事は期待してなかったが、期待以上にいろんな種類のものがあってよかった。おにぎりが美味しかったのがよかったと思う。
そのあと、9時になるちょっと前にホテルを出て、 東北大学へと歩く。すでに2度目なので、道を確認する必要もなく、簡単についた。午前中のセッションでは、 サブリニアタイムアルゴリズムについてのセッションで、基本的なところから話が始まった。これらのアルゴリズムは、 いままであまり勉強していなかったので、とても参考になった。
お昼は、歩いてすぐの桜園という中華料理のお店へ。仙台名物の一つである冷やし中華を食べてみた。ちょっと値段が高いけど、具が海老とかカニもあるし、麺も多めなので、値段としては納得な感じもある。
午後は、最適化のソフトウェアについて。SCIPについては、 Ubuntuなどで使えるかどうかを含めて、確認してみようと思う。
RAMPもすべてのセッションが無事に終わって、 ホテルまで歩いて戻ってきた。お昼の冷やし中華が思っていた以上にボリュームがあったので、まだお腹がすいておらず、 6時30分ごろまでホテルでゆっくりとテレビを見て過ごした。そうそう、NHKを見ていたら、 前に東京で朝のニュースをしていたキャスターがニュースを担当していて、ちょっと懐かしかった。
そのあと、再度動き出して、今日は牛タン定食を食べに出かける。牛タン定食は、あまりにあちこちにお店があるが、今日の目標は、「利休西口本店」にしてみた。ここは「 ぐるなび定食」にすると牛タンが少し減る代わりに、サラダやトロロがついたりするので、いろいろと楽しめるのである。ただ、お店が意外と簡単に見つからず。 1階にあると思いこんでいたら、ビルの5階だった。7時ちょっと前に着いたけど、相当混んでいた。でも、お店の人の接客がかなり丁寧でビックリだった。カウンター席だったけど、隣の人が「お酒が辛い?甘い?」とか聞いてたら、カウンターのなかで牛タンを焼いている人が「これはそれほど辛くないですよ~」と丁寧に答えてたりだった。ぐるなび定食は、牛タンが少し減っているようだけど、私にはちょうどいいぐらいだったので、いい選択だった。途中で2.5人前の牛タン焼が出ていて、そのボリュームがすごくてビックリだった。これは、何人かでシェアするぽかった。味も良かったので、 ゆっくりと時間をかけてしっかりと食べてきた。牛タン定食は高いけど美味しいので、ちょっと奮発する感じならお薦めだと思う。
帰りに、すぐ近くのアーケード街を歩いてきてみた。このあたりは、すでに震災のイメージは見当たらず、 にぎわっている。もちろん、仙台の中でも都心も都心なので、それもあって震災のイメージがないのかもしれない。
2012年9月27日木曜日
RAMP2012 1日目
仙台駅に到着 |
仙台駅の中 |
仙台駅の外 |
東北大学に到着 |
会場のさくらホール |
お昼のポークグリル |
ホテルから道路を見る |
今日はRAMPシンポジウムで、朝のうちにメールなどを処理してそのあとで電車に乗って蒲田へ。
券売機で新幹線込みの乗車券を買って京浜東北線で東京駅へ。思っていたよりも時間がかかって、やまびこに乗ることに。新幹線は、席に余裕がある感じで、無事に席に座れた。そのあと2時間ちょっとかかって仙台駅に到着。この間に英語を聴きながら勉強をする。
仙台駅についてからは徒歩ということで、 今回宿泊するコンフォートホテルの前を通って、東北大学まで20分程度、 今回の会場であるさくらホールに到着。比較的ゆったりとしたキャンパスの感じがある。
RAMPは招待講演なので自分の発表はないので、 聞くほうにだけ集中できる。午前中のセッションでは、 バスと鉄道の時刻表を乗り継ぎがうまくできるように調整する、というのがあって、 このあたりは実用と密接につながっていて面白かった。
お昼は、近くにある学食の2階のレストランへ。ポークグリルを頼んでみたら、 思っていた以上にバラエティがある料理が出てきて、ちょっと驚いた。ボリュームも多かったけど、 美味しかったので
頑張って完食。
午後のセッションでは、copositive programming や、大規模計算のあたりが面白かった。このあたりは、 あとで予稿集で細かいところを確認しようと思う。
午後のセッションの後は、 比較的すぐに立食形式で懇親会がスタート。今回の料理には牛タンもあったが、 やっぱりみんなが狙っていたらしく、比較的早い時間に牛タンがなくなった。でも、きき酒のコーナーもあったり、 おそばのコーナーもあったりで、料理なども充実した懇親会になっていた。
懇親会が終わった後にホテルまで歩いてきてチェックイン。飲み物を探しにブラブラとでかけて、すぐ近くのジュンク堂で本を見た後に、仙石線の駅を確認したりして、結局はマツモトキヨシでオレンジティーを買ってホテルに戻る。本屋さんはジュンク堂でほとんどの種類がカバーされているので、
それほど東京と違いを感じない。街並みも、仙台駅のすぐ近くなので、都心のイメージか。テレビも、チャンネルは違えど、番組は同じなので、あまり変化を感じない。新幹線で2時間以上移動しているのに、ちょっと不思議だ。
登録:
投稿 (Atom)