2010-12-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。ちなみに、最後の瞬間的に速い部分は西巣鴨から巣鴨までダッシュしただけなのでわざとです…