2007年12月12日水曜日

ネットワーク

実機が動かせず、block間で同期が試せないので、とりあえず1block内でネットワークを組んでみた。結構、あっさりできた。しかし…。

shared memoryで、別スレッドが同じ名前で宣言した変数は、別の領域になるのか、同じ領域か?そういえば、global memoryもわかんないな。なんか変なことになってるかも。う〜。

そろそろサンプルを見直す時期だな。

2007年12月11日火曜日

3TFLOPS本当?

次世代nvidiaハイエンドGPUは3TFLOPSという噂をきいた。しかし、誰もヨタ話程度にしか思っていないみたい。たぶんSLIで実現するんじゃないかと思われているよう。

来年の前半にはでるようなので、それではっきりする。その頃には、Grape-DRの話もでてくると思うので、対決になりそうだ。

Grape-DRは500GFLOPSで、汎用計算機より値段は多少高く、ベクトル計算機よりは全然安いらしい。はじめから大規模計算を見越してつくっているから、大規模にシステムを組むのはGrape-DRに分がありそう。大規模なシステムを組むときのコストは、安くつくかも。しかも倍精度もサポートしていて、科学技術計算にはありがたい。ただFPGAをつかってメモリ制御などを行う必要があるのが面倒そうだ。

次世代nvidiaGPUは、性能的にはGrape-DRを越えるのはまず間違いないようで、1チップあたりの性能では、トップになるのでないか?しかし、倍精度サポートが不明で、cudaにまだいくつか問題があり、大規模科学技術計算には?がつく。しかし、しかし、1グラフィックカードで3TFLOPSを越えるような性能がもし実現されるなら、力の差でごり押し勝ちかな。

2007年12月10日月曜日

blockの同期

gpu実機が結局使えず、いまだエミュでプログラミング。
シングルセルは簡単に実行できたので、やっぱり次はネットワークがやりたい。

block間の同期機構がないので、大規模ネットワークは無理かと思ったが、global memoryに同期用のフラグをおけばできるらしいと、ちらっときいたのでやってみた。

結論からいくと、エミュだとできない。エミュのせいなのか?一つのblockが計算終えるまで、ほかのblockの演算をしないので、待ち続け。う~ん。

2007年12月7日金曜日

ネットでの発言

最近ブログでの発言が社会問題になったり、それで解雇されたりということがよくニュースになる。
私はmixiやその他掲示板で、人としてこれは最低限というのは守ってきたつもりだが、それだけでは認識が甘いのかもしれない。
ネットでの情報発信が、どのようになされるかを考えれば、実に明白なことだ。ネットでの情報発信は、基本的に誰もが、いつでも、何回でもアクセス可能である。一方、飲み屋でなされるその場かぎりの発言は、その場に居合わせた人間に、ある瞬間、一回きりである。点か、体積かぐらいに、まさに次元が違うのだ。へたな論文より、ある日のくだらない走り書きがより大きな重要な影響力を持つことは十分ありえるのだ。

それが逆に面白いから、流行ったというのはあると思う。しかし、そのような影響力を認識せず、流行に乗って、ネットで飲み屋の発言をすると大変なことになる。ネットでの発言は、猟銃や車のような危険性を持つ道具である以上、飲酒しての書き込みは犯罪的ですらあるかもしれない。

いまのところ、社会はネットを取り込んでもなお平穏ではある。しかし、いつかネットの自由が社会を混乱させ、ネットの自由を制限しなければならない日がくるのかもしれないと、少し恐ろしい気持ちになった。

2007年12月3日月曜日

8800gtを2枚させる構成

世の中ゲーム目的外で、8800gtを2枚させるようなマザーというのはあまり存在しないんだぜ?
2枚ざしできるPCを探してよくわかった。結局、現実的な選択肢としては、ゲーマー仕様のPCしかない。
8800gt2枚刺しで、電源は700Wのものじゃないとだめらしい。全部そろえて、大体20万くらい。
どうなんだろう。思ったより安い気もするが、やすやすと手を出せる価格じゃないな。

この構成で行くと、約一台1Tflops。20万/1Tflops。結局PS3とあんまかわらんな。

2007年12月1日土曜日

cudaオワタ?2

CUDAには1Grid10秒までという制限があるらしい。
http://exth.net/~ohshima/wordpress/2007/11/15/14/
え~、ほんと?何でそんなめんどくさいことをと思うのだが、nividia的にきっとなんか困るのだろう。

普段、シミュレーションが数時間かかることもざらなので、これじゃ使えねえぞ…。

cudaオワタ?

いまさらながら気づいたんだが、Block間の同期はそもそも取れない。ということは、GPU全体で協調した演算は無理?やばい…。

と思ったのだが、global memoryを使って通信することで何とかなりそうだ。これはCellのDMA転送とほぼ同じような苦労だ。ああやりたくね~。