Home > Archives > 2005年03月

2005年03月

秋葉へ行ってみる

いまだ体調は万全ではないが睡眠をとったためそれなりに回復.買いたい本がいくつか出ているころなので秋葉へ旅に出た.

とりあえずパソコンショップをふらつきながら目的の半分である単行本をゲットして,もうひとつの目的である「萌え萌えジャパン 2兆円市場の萌える構造」を探してみた.

しかしまあ,いつものことながら発売日が明日だったみたいで置いてない.一日ぐらい前でもいいじゃんと思いつつ,だったら一日くらい待てと突っ込まれる今日この頃.

エイプリルフール-1

明日は楽しいエイプリルフール.何かネタを考えて誰かをだまそう.とりあえずいたずらプログラムを作って誰かに送ろうかなぁ.スタートボタンが逃げるやつとか,フォーカスのあるウィンドウがマウスから逃げるとか... 4月1日にはシャットダウンできなくするとかもありかなぁ.

CentOS

Redhat Enterprise Linux の商用部分を省いた形のパッケージである CentOS なるものがあることを知った.http://www.centos.org/

なにやらアップデートとかも速いらしいので安定に使うにはいいものかもしれない.とりあえず暇になったら試してみよう.

死にそう...

結局今日はのどの不快感のため寝付けず午前1時からノンストップで行動中.体力が空で前日の睡眠時間が2時間未満なのでそろそろ死ぬかも.ちなみに体温 37.8度... 8度の大台まであと少し!

はあ,論文のチェックしなきゃ...

また体調不良...

せっかく復活したと思ってたのに金曜日に風邪をうつされたらしくまた体調不良... とりあえず他人の目の前で咳きをするのはやめましょう.

紅魔郷ノーマルノーコンクリア

寝付けなかったので紅魔郷ノーマルを魔理沙(恋符)でノーコンクリアしてみた.やはり移動速度と破壊力があると楽だなぁと感じる今日この頃.とりあえず,Extraが出たからフランドールを見にいこう.

つーか,レーヴァテイン避けられん...

妖々夢Extraクリア

永夜抄Extra3組目に続いてチャレンジしていた妖々夢Extraをクリアできた.使ったのはもちろんボムの多い咲夜さんで.ちなみに,ずっと幻符で失敗してたのを時符に切り替えたら2回目でクリアというアホな結果である.

とにかくこれで Phantasm が出たので紫んにあいにいくとしよう.

永夜抄Extra3組目クリア

アリスのラストワード取得のためにExtra3組目のクリアに取り組んでいたのだがようやくそれを達成.さんざゆゆ様単体で挑戦して全然クリアできず,気分転換に詠唱チームで試したら数回目でクリアと.やっぱりマリス砲で瞬殺が楽だなぁ,攻撃こそ最大の防御とはよく言ったものだ.

ちなみに,このあとみょん単体でチャレンジしたら一発でクリア.やっぱりみょんが一番あっているらしい.

論文の校正(修正の修正)

初稿ゲラが添付された論文の校正をして下さいというメールが来た.で,そのゲラを見てみると投稿したものからいくらかの修正がかけられているらしい.ただ,その修正が気に入らないので少々悩み中.例を挙げると

  • 表す → 表わす
  • 行う → 行なう
  • 持つ → もつ
  • 次の → つぎの
  • し得る → しうる
  • 各々の → おのおのの
  • 明瞭 → めいりょう

とりあえず「明瞭」をひらがなにするのはどうかと.難しい漢字を使えないなら「明らか」にしてもらわんとかっこわるい.あと,私は「わ」と「な」を入れない形が好きだしそれが正しいと考えているのでそれも元に戻してもらいたい(投稿したのは「わ」と「な」入れないので統一してある).ついでに「~し得る」というのも漢字のほうが好きなのだが... 一番なぞなのが「foo を持つ bar」 と書くのに漢字を使わないことで,例えば「子を持つ親」と「子をもつ親」の違いって... 前者は手に子供を掴んでいると考えられなくも無いけど... どうなんだろ?

論文別刷料高ぇなぁ

投稿した論文の別刷,8ページで13万(50部).高いなぁ.普通は6ページなので6万だけど,2ページ増えただけで倍かぁ.10ページになると24万とかいくし.指数的だなぁ.個人の金では払いたくない額だ.ちなみに非TeX原稿だと数割増しになるらしい.やはり TeX はすばらしい.

pLaTeX で EUC

cvs に上げられた TeX ファイルをコンパイルしようと思ったら EUC コードだった.普段使っている pTeX のデフォルトは SJIS なので当然のことながらこける.

で,せっかくなのでEUCをコンパイルするオプションを学んでみた.

platex --kanji=euc --fmt=platex-euc paper

これだけでコンパイルできるのでそれなりに簡単なのだが,platex -e ぐらいに単純だともっといいなぁと思う今日この頃.

ちなみに,オプションつけるより

platex-euc paper

としたほうが短い.

そしてカウンタ設置

せっかく作ったのでカウンタをつけてみる.カウンタのイメージは もず倉 で公開されている東方カウンターを使用.というか,このドット絵が気に入ったのでカウンタを作ったのだけど.

とりあえずドット絵が多種類表示されるようにカウンタ値に下駄をはかせ引き算風に.う~ん,にぎやかだなぁ

ちなみにこのカウンタイメージは 8 と 9 が 2種類存在する.で,両方とも使いたかったのでひとつの数字に対して複数イメージを使えるようにカウンタを作ったのであった.

Rubyでカウンタ作り

寝すぎて寝れなくなったのでおもむろに Ruby でカウンタを作ってみた.Ruby を選択した理由は単に Perl を使いたくなかっただけ.

そんでさっさと組み上げたわけだけど久々の Ruby で何箇所か引っかかったので挙げてみよう.

  • 配列の可変長引数としての展開は method(*array) のように * をつける
  • インクリメント ++ は無い ( i += 1と書け )
  • CGI 関係は require 'cgi' で (cgi-lib は古い)
  • cgi にはオフラインモードがある (ruby -r cgi prcounter.rb みたいに使う)
  • 文末にセミコロンいりません
  • 文字列つなげるとき + は文頭にかけません.文末に書け

などなど下らないことで時間を食いまくりましたとさ.

記念にできたものはここにおいておこう prcounter-0.10.zip

ちなみにこのカウンタはひとつの数字に対して複数のイメージを対応付け,それをランダムに選択して表示できるという少々変な機能が付いていたりする.実用上はまったく意味がなさそうだなと思いつつ個人的に欲しかったのでつけてみた.

Meadow で文字コード変更

何度やっても忘れるのでここに書いておこう.Meadow での文字コード変更は

C-x Ret f
M-x set-buffer-file-coding-system

だ.

rsync でバックアップ

サーバのバックアップに SCP で全ファイル転送とかやるのもいい加減あほらしいので ssh を通した rsync でローカルを同期させることにした(さすがに rsh は使いたくない).とりあえず使い方と使いそうなオプションを見てみると

Usage:
 rsync [OPTION]... SRC [SRC]... DEST
Options: -v, --verbose 詳細表示 -a, --archive アーカイブモード(-rlptgoD) -r, --recursive 再帰 -l, --links シンボリックリンクそのまま -p, --perms パーミッション保存 -o, --owner オーナー保存(root only) -g, --group グループ保存 -D, --devices デバイスファイル保存(root only) -t, --times タイムスタンプ保存 -u, --update アップデート(より新しいファイルの上書きはしない) -n, --dry-run 転送されるものの確認(実際の転送を行わない) --delete 送信元に無いファイルは送信先で削除 -z, --compress データを圧縮する -e, --rsh=COMMAND リモートのシェルコマンドの指定

といった感じである.一々コマンド全部打つのも面倒なので使いそうなオプションの組み合わせで makefile を用意.

.phony : put-dry get-dry put get \
         put-del-dry get-del-dry put-del get-del default
  
LOCAL=./alldata
REMOTE=ls-al@ls-al.jp:
OPTIONS=-avzu -e ssh --exclude='*~' --exclude='*.bak' --exclude='CVS'
  
default: get
put:
	rsync $(OPTIONS) $(LOCAL) $(REMOTE)
get:
	rsync $(OPTIONS) $(REMOTE) $(LOCAL)
put-dry:
	rsync $(OPTIONS) --dry-run $(LOCAL) $(REMOTE)
get-dry:
	rsync $(OPTIONS) --dry-run $(REMOTE) $(LOCAL)
put-del:
	rsync $(OPTIONS) --delete $(LOCAL) $(REMOTE)
get-del:
	rsync $(OPTIONS) --delete $(REMOTE) $(LOCAL)
put-del-dry:
	rsync $(OPTIONS) --dry-run --delete $(LOCAL) $(REMOTE)
get-del-dry:
	rsync $(OPTIONS) --dry-run --delete $(REMOTE) $(LOCAL)

get/put で削除なしの同期(REMOTE→LOCAL / LOCAL → REMOTE)で,-del が付くと削除あり,-dry が付くと実際の転送なしで確認となる.

これでバックアップが楽になったぞ(ネットワークの負荷的に)

妖々夢ノーマルノーコンクリア

とりあえず,体調不良で今日一日布団の中で完全に死んでいたのだが,食後にすぐ寝るわけにもいかず食後の運動(?)として妖々夢をやってみた.

なにやら体調が悪いときにやるとうまくいくようで,ノーマルノーコンクリア.咲夜さんを使ってのクリアだけど永夜抄と違って妖々夢の咲夜さん強~い.スペカもあと数枚で60枚になるので,そろそろExtraをクリアしなければ.

グリチャレ負けた...

グリチャレの結果が出た.

とりあえずトップチームのプログラムどーなってんだ? はえぇ!? ペナルティ0.まさに別格ですな(シーケンシャルでも勝てないような).それにしても完走自体が上級は6チーム,初級が9チームと走りきるだけでも大変だったみたい.そんななかで一応走りきれて結果も真ん中ぐらいだからとりあえず最低ラインはクリアとしよう.

うーん,それにしてもこんなに差がつくとは... 反省.やっぱり結果を一度クラスタ内でためるべきだったかな.あとレプリカつかわなくてもよかったような気もする.通信も完全に非同期にするべきだったかなぁ.なんにせよ,どこがネックだったのかちゃんと調べる時間があればなぁ... まあ,予選締め切り一週間前から作り始めたんだからこんなもんか.

並列プログラミングって難しいなぁ.

システムコール

Linux には strace というシステムコールやシグナルをトレースするコマンドがある.ある種のシステムコールAPIを調べたいときにそれを使っていそうなプログラムに対してstrace をかましてAPIのあたりをつけるのが普通の使い方となる(はず?)

こんなものがなぜ話題に出たかというと,それは実際に使いたい状況になったからで,具体的にはグリチャレで空いているエフェメラルポートを知りたいけどそのためのAPI がわからず,とりあえずポート関係を一通り調べられる netstat に対してトレースをして探そうと考えたから.

で,実際に netstat に使ってみると何の反応も無い.使い方がおかしいのかと思い,他のプログラムに対してトレースしてみるとちゃんと結果が出てくる.結論: netstat は API 使ってない... そんなバカな.netstat が変なコマンドなのか truss の使い方がおかしいのか良くわからんが,結局開きポートを得る方法もわからずなぞは深まるばかりであった.マル.

妖々夢,ちとめんどい

妖々夢のExtraはノーコンクリアしたキャラ以外でチャレンジできない.妖々夢のエンディングは同キャラでも武器選択によって異なる.6回クリアしろってこと? とりあえず後2回...

地震

なにやら寝ている間(11時ごろ)に九州で強い地震があったらしい.最近各地で大きな地震が頻発している気がするのだが,最後はやっぱり東海・関東の同時地震+富士山噴火かなぁ.これやられると実家も現在の住居もどっちもアウトで一家全滅かも.次に地震が起こるとしたら「気象精霊記8」の出る来月が最も可能性が高いかな.

妖々夢が...

喰らいボム失敗するしボムの使いどころを決めていないので抱え死にばかり.イージーはノーコンクリアできたけどノーマルではまだできない... 先に Extra に行こうかなぁ.

携帯で使えるVNCクライアント

FOMA 900/901 で動作するVNCクライアントがリリースされたらしい.PartySpiritsPCコントローラiVNC

これで遠隔地からPCを操作できると思ったのだが,自分のFOMAは N700i ... うごかねーじゃん! 700 でも動くようにしてくれ~

PDF公開のLinux入門書

Linux入門書『Linux Personal Workstation』がPDFで公開されている.(http://www.lain.org/winglab/Works/book.html).サーバとしてではなく個人に使用するための Linux の入門書で,一通りの知識が詰め込まれている模様.

書籍が紙媒体で出版される前にPDFで公開されるのはいくつか見たことがあるが,著者としては速いうちにフィードバックが得られ,読者としては自由に読むことができる.読者の一人である自分としては非常にありがたい.ただ,後に紙媒体で出版したときの売り上げはどうなるのだろう?知名度があるからより売れるようになるのか,データとしてみんなが持っているから売れなくなるのか?まあ,自分は気に入ったら書籍で買うだろうけど一般の人はどうなのだろう.

コミックがぁ

明日発売予定のコミックを買いに秋葉まで行ってきた.一日前にはおいてあるだろうと思っていたら置いてなかった.orz

まあ,ラノベのほうは欲しかったものがあったからいいけど.

永夜抄Extra冥界チームでクリア

ようやく冥界チームでExtraをクリアできた.追い出しコンパで酒を飲んだあとにチャレンジしたのがよかったらしい(?) あとはゆゆさま単体でExtraクリアすればラストワードが一個でるぞ~.

それにしても妖々夢はあいかわらずノーコンテニューでクリアできん...

グリチャレ本番

最後のあがきとして転送するエッジ情報にRLEをかますように改良して本番となった.

問題は全部で6問,とりあえず解答を出すことに成功.ただ残念なことに本番で使用したCPU数は最大の半分程度.なんか MPICH が機嫌悪くてうまく動いてくれなかったのよね.

自前でソケット使ってプログラムすればよかったかなぁ.

複数ファイルにリダイレクト

グリチャレの動作テストで複数ファイルに入力をリダイレクトしたかったので自力でスクリプトでも書こうと思ったがとりあえずコマンドを調べてみた.すると tee とかいうコマンドがあるようで,これを使ってみることに.使い方はいたって簡単で

tee file0 file1 file2 ...

とすると標準入力が file0 file1 file2... に書き出されるらしい.

とりあえずこれを使ってマスタプロセスの出力を複数のfifoに書き出せたので,ローカルでも複数のクラスタを用いた状態を簡単に構成できた.さーて,テストするか.

東京へ戻ってグリチャレだ

とりあえず東京へ復帰.これからグリチャレ用のプログラムの改良にかかる.

MPI で 80 台程度の CPU を使うとプロセスのターミネーションに失敗するので,その部分を安定化するように改良しようかと.40CPU前後をひとつのMPIの塊にして複数の塊をクラスタ内で形成するようにしよう.

ノートPC購入

今月は決算期でいろいろやすい.ということで,今日は妹用のノートPCを購入しに出かけた.まあ,「安いやつ」という要求に対して既に購入するものは決めてあったのでさっさと買って帰ってきたのだけど.

購入したのはTOSHIBA の dynabook TX430DS(結局13万弱).エントリーモデルのA4ノートで CeleronM 350 の メモリ256M.

MSOffice2003とDVDスパーマルチもつんでいて特に文句は無い構成.唯一の難点は標準バッテリーが 2200mAh しかなくて一時間持たないことくらい(持ち歩く場合は致命的だけど持ち歩かない限り問題ない).

で,HDBENCHでとりあえずベンチマークテスト.CeleronM 350(1.3G) だから自分の持っているPentiumM(1.1G)のノートといい勝負になるかと思ったらものの見事に完敗で少々へこんでみたりした.よくよく考えると,CeleronM は DothanコアのPentiumM とL2キャッシュ, SpeedStep 以外に差が無いので,自分の Banias コアPentiumM では動作周波数分の開きは最低でも存在することになる(超低電圧版だからさらに開くのかもしれないけど).周波数で 1.2 倍のだが実際の差は 1.4弱だったので,やっぱり Dothan コア優秀だなぁ.デスクトップのCPUも Dothan PentiumM に変えようか?

FOMAで通信

せっかく FOMA を購入したので,USBリンクケーブルも同時購入してモバイルインターネット! ここ数日56kモデムで繋げていたために,パケット通信384kの速さに少々驚いてみたり.パケットパック10をやっているとはいえ1MB通信すると約1k円なので注意しないとやばそう… FOMAの場合,パケット通信以外に 64kデジタル通信も使えるのでこちらも試してみる.こっちも良好.値段は30秒30円.使いすぎにご注意状態.いずれにせよ,これでどこでもメール確認ができるのはかなりありがたい.パケット通信中に重い添付ファイル付きメールがきたらアウトだけど.事務の人からのメールは数メガがざらなので注意しよう.

魔理沙でノーマルのスペカコンプ

永夜抄で霊夢のLast World 「夢想天生」 の出現条件は魔理沙でのノーマルのスペカコンプ.ということで最近がんばっていたのだが,ようやく達成することができた.最後まで取れなかったのはファイナルスパークだったことはいうまでも無い(?)

N700iゲット

おととい N901i を買いに行ったとき N700i の発売日が今日であることを知り,馬鹿みたいに高い N901i を見限って N700i の購入を決定.そして予定通り本日購入となりましたとさ.

とりあえずマウスの感覚が染み付いている身としてはニューロポインタがかなり使いやすいというかありがたい.あと,デスクトップにおいてあるアイコンをクリックして機能が起動できる点も面白い(全部の機能をアイコンとして置けないのは残念だけど).レスポンスも F505i に比べれば大分速く感じるしそのほかも含めて今のところ大満足.

閑話休題,おととい行ったドコモショップで表示されていない N700i の値段について 同じ 700 系列の F700i と SH700i をさして「基本的にこれらと同じくらいの値段ですよね」と店員にたずねたところ,「基本的にではありませんが」と返された.いや、基本的にそーいう価格帯でしょ,700は.発言した値段が異なったときとかに文句を言われるからはっきり言えなかったり,そもそも決まりで言えないのかもしれないけれども,もう少し面白いというか親切な返し方をしてほしいものである.実は一年前にその店で携帯を購入したのだが,そのときの店員の態度もなかなかすばらしくあんたらサービス業だろとツッコミを入れたいくらいだった.素直な感想としてこの店での購入はもう絶対にしてやらん.(完璧にグチだ(藁)

ということで,実際の購入はお隣の市のドコモショップでおこなった.こちらの店はとても対応がよく,前の店に比べて天と地ほどの差.ついでに,家族で買い物に出ていたので母と妹と一緒に来店したのだが,ひな祭り割引で女性同伴は1000円引きという割引がついた.ありがたや.ということで,機会があればまたこの店で購入するとしよう.

56kモデムはやっぱり遅い

帰省中につきインターネットへの接続は56kモデム.非常にストレスのたまることこの上ない接続なのだけどその接続の上でグリチャレのプログラムのデバッグをやっている.とりあえず bomb が時間かかりすぎ... そろそろまじめにブロードバンド環境を入れようかなぁ.

帰省

とりあえず朝一で富士山の裾野に富士山でも見に帰る.んで,部屋の掃除もついでだからやっていたら半日以上かかった...

グリチャレほぼ全部のCPU使用

とりあえずほぼ全てのCPU(約950)を用いてプログラムを動かすことに成功.ただ,スピードはそれほど向上していないのでどこかにボトルネックがあるらしい.とりあえずレプリカファイルを使うように改良してみて,それでも遅かったらクラスタの結果を送信するプロセスが一台しかいないのを複数台に拡張しようかなぁ.

確定申告行ってきた

朝一で確定申告に行ってきた.

税務署一階で提出を受け付けており,二回が申告書作成会場となっていたため,とりあえず申告書を作るために二回の会場へ赴いた.朝早くのためかそれほど込んでおらず,数分待たされた後に申告書の作り方を教えてもらえた.とはいっても,「全部還付されます」といわれた後にタッチパネルで金額とかを入力してプリンタでプリントアウトしただけだけど.うーん,結構楽にできるものなんだなぁ,ととりあえずは関心(オンラインのほうが楽だけど).あとは第一表に還付金を受け取る口座を記入して住所と名前を書いて印鑑を押して,第二表も住所と名前を書いて,さらにその裏に源泉徴収表を貼り付けて完成.帰りに一階の提出場所で提出して確定申告終了.

で,件の研究補助金は何の収入になるかというと,公的年金等以外のその他の雑収入になるらしい.ただ,これに関しては経費がどーたらで収入から消せるような感じだったのだが,忙しそうだったので細かいことは聞かなかった.来年までには調べておこうかと思う.まあ,なんにせよ,これで来年はあらかじめ作成した申告書を提出できるので良し.

ちなみに,うちから税務署までは一分もかからない距離だったりする.年に一回お世話になるかどうかわからないけど,近いことはいいことだ.

税金を還付してもらわねば

ふと思い出したけど確定申告すれば税金が帰ってくるんだよね.

ということで,明日は確定申告行き.ちなみに,最近は便利なようで国税庁のホームページ上で確定申告書の作成ができるらしい.しかし,研究補助金(科研費)が何の収入になるのかわからんため自力では作成できない.今後のためにも明日税務署の人に聞いてくるとしよう.

永夜抄Hardアリア

やっとこ冥界組でHardクリアでけた.この調子でLunaticも行きたいところだけど... そのまえに霊夢単体Hardクリアせねば.

screen

最近 screen は良いよとの話を何度か振られたので,試しに使ってみることにした.でもまあ,使い方も良くわからんのでとりあえず使い方の乗ってるところをリンクしてみる.

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/692usescreen.html

http://www.ayu.ics.keio.ac.jp/members/mukai/tips/screen.html

結構高機能のようで,ターミナルを切り替えられたり前の状態をレジュームできたりするらしい.とりあえず,ログアウトしてもプロセスを走らせっぱなしにできるのはありがたい.これからちょっと設定の仕方を学んでみよう.

if を消去

グリチャレのプログラムをさらに速くしようと,徹夜で研究室のドクターと一緒にプログラムを改良してみた.

ビット操作でちまちまやっていたのを一部バイト操作に置き換え高速化していたのだが,とりあえずそれを全体的にバイト操作にすることで倍以上のスピードアップを達成した.これに関しては誰もが思いつく単純な改良であり,これだけではつまらないと

少々壊れ気味の我々は続いてif 文を殲滅するという奇策に走った.よく知られていることだが,if 文とかでちまちまジャンプしまくるプログラムは遅くなる場合が多く,無駄な if を消すことは速度向上の上でとても好ましい(分岐したときにパイプラインで処理されてたものを破棄しなければならないし).

というわけで我々も無駄な if を探してみたのだが,既にかなり最適化したつもりのコードなのでそんな無駄な if はもう既にない.でもまあ,必要そうに見える if はまだごろごろいるわけで,そいつをどうにかして殺したい衝動に駆られるのは自然な流れである.そして,我々はいくつかの必要そうな if を愉快な方法で抹殺することに成功した.

抹殺例の一つは以下のような感じである.この次の if で分岐する部分が,

     if(cnt < rem){
       *p = (*p << cnt) | (((1<<cnt) - 1) * bit);
       rem -= cnt;
    } else {
     *p++ = (*p << rem) | (((1<<rem) - 1) * bit);
     cnt -= rem;
     rem = 8-cnt & 0x7;
 }

次のようなわけのわからないコードに置き換わった.

    const int min = cnt - ( ( - 1 + ( ( unsigned ) ( cnt - rem ) >> 31 ) ) & ( cnt - rem ) );
    rem -= min;
    cnt -= min;
    const int isRem0 = ( -1 + ( ( unsigned ) ( -rem + 1 ) >> 31 ) ) & ( -rem + 1 );    
    *p = ( *p << min ) | ( ( ( 1 << min ) - 1 ) * bit ); p += isRem0;
    rem += isRem0 * ( 8 - ( cnt % 8 ) );

これにより if 文が抹殺され,実際に実行時間も少しばかり(このルーチンのクロック数で半分くらい)速くなった.

ここでの肝は, signed の x に対して, max(x, 0) = (-1 + ((unsigned)x>>31)) & x のようにif を用いずに max を表現できることだったりする.上の例ではこれを改良して, x>0 なら 1 を,そうでないなら 0 を返す演算を記述している.

このように,あほな努力でちょっとでも速くてとても読みにくいコードが出来上がるのはとても面白い.

雪~

雪が降ったて多少積もったことはなんとなくうれしく感じるのだけど,研究室で徹夜してるときに降らなくてもいいじゃないか.自転車は濡れるわ,手は冷たいわ,立ちこぎで家につくころには腰が痛いわ... まあ,これらは自転車に乗らなければ良かったのだけど.

でも雪の上を走るのはすべるので面白い.

グリチャレプログラムの改良

とりあえず予選を通過できたグリチャレであるが,予選通過時のプログラムは少々お馬鹿で一問解くたびにプロセスを立ち上げ直さねばならなかった.そのせいで,問題を解くのに用いた時間よりプロセス立ち上げとコネクションの確立の時間のほうが長いというあほな状況に.そこで,一度プロセスを立ち上げてコネクションを確立したら,それを使いまわせるようにプログラムを書き直してみた.

結果として今日半日分の時間を(主にデバッグに)かけ,結果としてちゃんと動くプログラムが出来上がった.ほとんどのバグは同期に関連していて,スレッド間のロックが一番面倒で何度かデッドロック(というかロックのかけっぱなし)をやってしまった.こんなことをやっていると誰でもが簡単に正しい並列プログラムを作れる環境はやはり必需品なのだなぁと改めて感じたりする.研究しなきゃ...

ゆかりん勝った

前回えーりんをぶっちぎったうどんげが勝つかなぁと思っていたら,なにやらゆかりんが200票以上の差をつけて勝ったみたい.最近予想が外れまくり... でもまあ,今日は咲夜さんの勝ちでしょう.

グリチャレ上級クリア

グリチャレの上級課題をクリアした.とあるクラスタで MPI がこけまくっていたり,デバッグ情報がミックスされてしまって読みにくかったりといろいろ問題があったけど,どうにか動くものが出来上がった.

さて,次はさらなるスピードアップとバグ取りだ.とりあえず一番小さい問題を複数のプロセッサでとくとプログラム終了しないバグを殺さねば.

Home > Archives > 2005年03月

Search
Feeds

Page Top