2010-01-01から1年間の記事一覧

Chapelメモ - 5

書いてるプログラムがいよいよ排他制御が無いとまともに動かなくなつて來たので、ここで排他制御に触れよう。Chapelには排他制御の爲にsync變數とsingle變數がある。どちらも型に附け加へることで宣言する。 var A: sync int; var B: single int; sync變數 s…

最新のgitを使う

lennyのgitとかタルクて使ってらんねーよ、だいたいcore.pager指定ないし、みたいな人のためにGitを最新版で入れる。冷静に考えればsidから持ってくればいいじゃんという話なんだけど、自分でいじくり回せないシステムなのでここはビルドして入れることにす…

torqueのバッチ投入スクリプト

うちのクラスタのよくあるスペック(4コアのXeon E5530が二つで計8コア)用にスクリプトを書いてみる。 for N in 1 2 4 8 16; do cat > temp <

Chapelメモ - 4

dmapな配列 Chapelで普通に配列を宣言すると、單一ロケール上の配列ができる。共有メモリ上の普通の配列といふことだ。 しかしPGAS處理系を名乘る以上、(假想的な)分散メモリ上にデータを配置することも可能である。こんなふうに書けばいい。 const Space = …

Chapelメモ - 3

配列を気軽に作らない プログラム中で気軽に var xyz: [1..3] real;とかしてたら死ぬほど時間がかかったので、 var xyz: 3*real;に変えたところC言語の10倍以内のスローダウンで済んだ。しかしそれでも遅すぎるのでC言語の二倍以内にはなって欲しいところ。 …

Chapelメモ - 2

前置き さうさう、云ひ忘れてゐたけれど、Chapelと云ふのは竝列言語處理系の一つであり、その中でもPGASと呼ばれる部類に入り、MPI等より高水準・高生産な言語である。http://chapel.cray.com/で色々ダウンロードしたりできるので試してみたい方はどうぞ。 …

Chapelメモ - 1

Chapelの仕様を読んでいて気になった部分をメモしていく。 zipとtensor zipが次。 for (i, j) in (1..3, 4..6) do write(i, " ", j, " "); これは 1 4 2 5 3 6 と表示される。 一方tensorは次。 for (i, j) in [1..3, 4..6] do write(i, " ", j, " "); これ…

また自転車乗った

今度は山手通りを通って帰ってきた。 ちょっと見てあれだけど、どれだけ駒場から池袋まで山手通りを走り続ける時車からプレッシャーを受けるかが窺い知れると思う*1。ちなみに、最後の瞬間的に速い部分は西巣鴨から巣鴨までダッシュしただけなのでわざとです…

今日都内を比較的自転車で移動しまくった

今日都内を結構頑張って自転車で移動した。 地点 発着 キロ程 運転時分 時刻 巣鴨 発 0 0 22:03 池袋 着 2.2 8 22:11 〃 発 2.2 10 22:13 高戸橋 レ 5 23 22:26 上落合2 レ 7.8 34 22:37 高円寺 着 13.9 54 22:57 〃 発 13.9 62 23:05 宮下 レ 17.6 75 23:18…

OMakeでこけた

最近のpLaTeXはptexliveというディストリビューションに移行しているようなので、俺も新しいマシンにはこれを入れてみた。ここで問題になるのがjbibtexがpbibtexに名前が変更されているということである。機能は同じとはいえ、OMakeを使用している俺には早晩…

自転車でこけたら思ったよりおおごとになった。

概要 俺が10/6に自転車でこけたところ救急車に運ばれるわ警察は来るわもう大変でしたとさ。 こけた当日 17:50ごろ、妻に電話。 18:00ごろ、コンビニで買い物、自転車に乗る。 その数分後、大学の正門から出て郵便局に一旦行って投函。進路を逆向きに。順方向…

Pythonのジェネレータを再帰的に呼ぶ

かなり便利な気がする。 class Hoge: def __init__(self, array): self.array = array def parse(self, suf=""): while len(self.array) > 0: s = self.array.pop(0) if s=="(": string = s+suf in_paren = (i for i in self.parse(suf+"x")) yield string f…

疎行列の表現方法 その3 Matrix Marketの詳細

もっと真面目にMatrix Market形式のヘッダについて書いてみようと思う。 まず前提として、Matrix Market形式ではスペースの個数とか大文字小文字の区別はない。で、ヘッダは1行目。 ヘッダの概要 %%MatrixMarket matrix <format> <field> <symmetry> format フォーマットは疎行列形式</symmetry></field></format>…

俺のubuntuの1つだけがちゃんとevinceで表示できていなかった問題が解決した

俺のUbuntuのうち、ほとんどは10.04 (lucid)の新規インストールなんだが、一つだけ8.04 (hardy)からずっとアップグレードしてきてる奴がいる。彼は最近evinceで日本語ゴシックのファイルが表示できていなかった。結構困ってたんだけど、 $ sudo vim /etc/fon…

CCS的にソートされたMatrix MarketのCRSへの変換 もくろみ

今計算しようとしている行列は実はこんなのだ %%MatrixMarket matrix coordinate real symmetric N N lines 1 1 val 2 1 val ... m 1 val 2 2 val 5 2 val ...symmetricはともかく、これだと縦分割になってしまって、横分割を基本とするCRSには適していない…

疎行列の表現方法 その1 Matrix Market

現在疎行列ベクトル積のプログラムを書く途中なので、よく使われる疎行列の表現形式の一つである(らしい)Matrix Market形式(略してMMらしい)のリファレンス*1を参照しつつ適当に翻訳っぽいものをしてみる。 Introduction 疎行列の座標形式(Coordinate Form…

疎行列の表現方法 その2 Rutherford Boeing

本当はTim Davis: SuiteSparse Matrix Collection : sparse matrices from a wide range of applicationsを計算する予定でMatrix Market記法を見てみたのだけど、どうもCRSに向いてないような気がしてきたのでもう一つの使用されている形式であるRutherford …

プリンタドライバの依存

EPSONのドライバを入れたいのだが、libltdl3に依存していてインストールできない。ソースを落としてきて自分でパッケージするとうまくlibltdlの最新版に依存するようになってくれた。

psm後始末

clone時にスレッド(pthread)を起こす そのスレッドはpthreadのcond_waitで待っている フラグが立てば(ぬるぽ->ポインタとか)起きる 空いているか、調べる 空いているかを返す(どうやって?) 返すのも共有メモリ経由しかないよね。 cloneするときに管理用領域…

旅程提案

はくたか 07:00 東京 1303C || Maxとき303 08:11 越後湯沢 08:20 〃 1002M || はくたか2 10:53 金沢 能登 22:33 上野 8611M || 06:37 金沢 ML越後 23:10 新宿 8763M || 04:51 新潟 05:18 〃 420M || 05:18 〃 06:31 長岡 06:42 〃 1324M || 08:07 直江津 08:…

自転車

昨日はあわや廃車かと思って死にそうだったが、チェーン外れだけで済んだようだ。いや、ハンドル歪んだけどね…まあハンドルは強度とかとは関係ないしいいんだけど。あ、左のブレーキの上についてるSHIMANO 105とか書いてるパーツが外れた。無理やり戻した。…

automakeがまったく分からん

なんかあるらしい autoscan autoconf automake だがどこからどこまでが誰の領域かまったく分からない。

鉄道運賃計算プログラムの設計その1

とりあえずその1とか書いてるだけで特にその1に意味はないです。 言語は?アーキテクチャは? 現在のところC++で記述する予定。対象のアーキテクチャはLinuxを主眼に置くが限定はしない方針。 駅などのデータベースは何を使うのか? sqlite3を使う予定。ただ…

sshdが非確定的に起動に失敗する

システム起動時に起動しないことがある update-rc.dしても駄目。2回に一回くらい成功する。 ログ読んでみた /var/log/auth.logを見ろ sshd[2281]: error: Bind to port 22 on <IP addr> failed: Cannot assign requested address. sshd[2281]: fatal: Cannot bind any</ip>…

はてダのスタイルシート指定

子供セレクタってあるじゃないですか。 div.section > ins { /* hoge */ } これって、はてなで入力したら実体参照になるんですよ。あほかと。 あれ、でもHTMLのソースに書くときはいいんだっけ?

運賃計算

計算だけでも相当面倒くさい まずは普通にテーブルを引く 本州か三島か 地方線かどうか ループを構成していないか ループだけなら問題ない? 特定市区内か 大都市近郊区間か 特例運賃か 経路特定か 他にもまだあるはず。 駅のテーブル csvからSQLiteにでもす…

塩豚

id:kotorikotorikoに刺激されて塩豚を作ってみた。炒め物にしたけど、結構おいしかったよ。

cloneの引数

スレッド? -プロセス間で共有できるメモリの使い方を教えてください。- C言語・C++・C# | 教えて!gooで触れられているとおりcloneの引数にSIGCHLDを付け加えることで親がwaitしてやることができるようになる。これはman cloneにも載っていなくて俺はわざわ…

トマトジュースの料理

家で余っていたトマトジュースを処分する方法を検討したところとてもよい料理を発明した。ただし新規性は無いかも。 肉と野菜を炒める トマトジュースとウスターソースを入れる 適当に煮る これでハヤシライスが!いや、玉葱を入れなかったので惜しかったけ…

新丸ビル

他所でも書いたけど新丸ビルの地下一階入り口すぐにゴディバがあって、そこから旧丸ビルへの通路にかけてのあたりでものすごい高周波が聞こえる。この前は聞いた途端に耳を抑えて座り込みたくなるくらいだったんだけど、逆にあんな高い音が聞こえることもそ…