つっても、非公開のを別につけているわけではない。
Copyright 1999-2002. Jun Makino
2002/9 2002/8 2002/7 2002/6 2002/5 2002/4 2002/3 2002/2 2002/1当面の予定
11/1 15:00- 理広報委員会 1-205冬学期日程: (計算天文学:月曜3限) 授業開始 10月 1日(火) 授業終了 12月20日(金) 冬季休業 12月21日(土)〜1月 5日(日) 授業開始 1月 6日(月) 授業終了 1月27日(月) 補講・試験 1月28日(火)〜2月17日(月)
ちなみに三鷹の AMR は、階層毎に違う領域分割をするというなかなか素敵な方法でした。並列化効率については、、、えーと、、、時間刻み一定の時はよかったと思う。
やはり、2nd order で独立時間刻みにすると異常に短い時間刻みにしないと積 分精度がたもてないので、、、例えば、 mass resolution が 103 くらいになったとしても、 DM だけ考えると dynamical time は 1Myr とかそ んなものなので時間刻みは(一定刻みなら) 0.1Myr くらいで多分 OK。ところ が可変刻みにすると 104軌道積分してもエネルギーに精度がのこっ てないといけないので、 dynamical time あたり数百ステップ必要になるので。 4 次の公式とか使っても 50 くらいはいるんじゃないかなあ(このへん適当。)
とはいえ、流体入れるとそれではすまないわけだけど、この時はどうせそこら じゅうで高密度領域ができるわけで、領域分割でもいいというわけにはいかな いのかしら?技術的にはむしろ、領域分割して tree を作ったとして、短いス テップで一部の粒子がアップデートされた時にそれを他のプロセッサの tree にどうやって反映させるかと、反映させるべきかどうかをどうやって判定する かが問題な気が。
まあ、それ以前に GRAPE 使うと single node でも独立時間刻みで性能がでる ような方法は(現状のハードでは)知られていないという問題があるのですが。 プロセッサモジュール作りなおして(チップはいじらない)なんとかするという のは昔考えたんだけど、、、人手が、、、
unsigned int high = ((1<<(N-p2-1))-1)<<(p2-1); unsigned int mid = ((1<<(p2-p1-1))-1)<<p1; unsigned int low = (1<<p1)-1; unsigned int i = (1<<N)-1; unsigned int il = i & low; unsigned int im = i & mid; unsigned int ih = i & high; im = im << 1; ih = ih << 2; unsigned int ix = il | im | ih;がなにをしたいか?ということを考える。上のを文字通りに取ると、
unsigned int ix = ((((((((1<<(N-p2-1))-1)<<2) + 1)<<(p2-p1-1)-1))<<2)+1)<<p1) -1;(括弧があってるような気がしないが、、、)ということがしたいように見えるし、それなら
unsigned int i = ((1<<(N+2))-1) ^ (1<<(p2+1)) ^ (1<<p1);でよさげにみえるが、多分したいのはそういうことではなくて、
#define MASK(n) ((1<<n) -1) #define INSERT0(i,n) (((i & (~MASK(n)))<<1)| (i&MASK(n))) i = ... unsigned int ix = INSERT0(INSERT0(i,p2),p1);といったことなのかもしれない。なお、良い子はマクロは使わないで inline 関数を使いましょう。
田中さんに『こんな実験をしてみたい』と独創的な提案をした研究者が、だれかいたのではないかなんてことを本当にいったのだとしたら、、、うーむ。
Subject: astro-ph daily 0209346 -- 0209379 received 1351 From: e-print distributorTo: astro-ph@yukawa.kyoto-u.ac.jp Date: Sun, 6 Oct 2002 00:50:25 +0900 (JST)
千葉大学先進科学教育センター教官 募集人員 教授または助教授 1名 所属 先進科学教育センター 専門分野 宇宙物理学(理論シミュレーション)