センター試験

明日はセンター試験ですか。二次試験の前日はポケモンやって眼鏡踏んで歪めて必死に直して寝たけど、センターの時は特に記憶にないなぁ。そういえば寒かった!あと、大阪市営地下鉄8号線(今里筋だっけ?番号が先に想起された)に乗った。試験は結構快感。スリ…

mdのSPMD化

もっとローカリティを出さねばならない。 セルごとに27方向のキャッシュを持つ=無駄が多すぎるけどとりあえずこれで実装するしかないかな。 縁だけをちゃんと自分の配列の縁にうまく配置する。domainのナイスな機能でできたらいいけど… とはいえブロック分割…

1/14日メモ

今日の先生からの指摘は特に気になったのでメモ 結局DMIの処理と一緒じゃないの? DMIでDMI_group_read()をINVALIDATEキャッシュで実行して、実際に必要な値をDMI_read()で取ってくることを考える。 こうすると、最初にまとめてローカルに持ってくる=通信のa…

韓国人に人気のイルミネーション

コリアタウン誌(코리아타운)よりイルミネーションのランキングを引用する。 人気イルミベスト10 光の街 (ハウステンボス) ライツ・プロムナード2010 (名古屋セントラルタワーズ) 2010 SENDAI 光のページェント (仙台市青葉区定禅寺通) 光の花の庭 (あしかが…

2011-01-07の指摘点

HPF (High Performance Fortran)は通信のaggregateをしているのでは?調べてみてもいいかもしれない。 Inspector / Executorとの違いは?(確かに初回にこれを作ってやっているところが同じなので)

卒論のBNF

もっとちゃんとrangeというものを扱えるといいんだけど、こればっかりはなんとも。 slice-expr := identifier '[' range-expr-list ']' sync-target := slice-expr ( ',' sync-target ) ? range-expr-list := range-expr | range-expr ',' range-expr-list r…

卒論の実装方針 - 完全なメモ書き

まず CC -M でプリプロセッサを処理してもらう。 とりあえず sync (sync-target-expr) { ... } を探す。 sync-target-expr は例のあれ。 braceの内側はforやwhileなどのstatementか、式か宣言が入る。 そこで、statementを読もうとする。 hoge;のようであれ…

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を使う予定。ただ…