2008年12月17日水曜日

LarrabeeとCell

http://pc.watch.impress.co.jp/docs/2008/1217/kaigai481.htm
抜粋
仮想マシンを走らせるCPUコア間では、キャッシュの間でコヒーレンシを保つ必要がない

なるほど、そりゃそうだ。そういう発想はなかったわ~(おれ、あほ?)。
コヒーレンシを限定的にするという方向が、究極までいくとLSになるわけか。これはいいかもしれない。でも、それって実装はそんなに簡単にできるもんなんだろうか…?

まあ、それは置いとくとして、思ったのはLarrabeeはCPUとCellの間なんだなってことだ。

CPU -Larrabee -Cell- GPU

でも、CellはCPUで、LarrabeeはGPUと。

Cell2はGPUとCPUのどっちの方向にむかうだろう。PPE強化という点では、CPU的な性能が強化される。SPEの数が増えるので、GPU的になるといえばなるが本質じゃない?はて。

LSが増えたら、どっちだろう?どんなインパクトを持つだろう?1MのLSを持つSPEって意味あるだろうか?うーん、本質的ではないような気もするが。まあ、どうせ無理かな。よくて倍増だろう。いやそれもないな。

それにしても、ここまで似てるなら、OpenCLでCellとLarrabee用で同じ最適化オプションとかできそう。どうなることやら。

2008年12月16日火曜日

40年前の夢

Cnetでマウス生誕40周年についての話が出ていた。

http://japan.cnet.com/news/biz/story/0,2000056020,20385224,00.htm

40年前では夢のような世界に、今我々はまさにいるんのだ。すごいこった。

次の40年でいったい何がかなうかな。

2008年12月7日日曜日

ぼーっとしていると今年も終わり

最近、いろんな忙しさが少しおさまり、燃え尽きちまったぜな感じ。でも本当はぼーっとばかりもしていられないんだけどなあ。もう疲れた。

そんなときは、何も考えずに、OSでもインストールすりゃいいんですと、PS3×6台にLinuxインストール。いまだにFedora core 6とSDK2.1を使っている私。

そんで、久し振りOpenCV on the Cellもインストール。やり方を忘れてたが、まあすんなりできた。よかった、よかった。このまえ、質問してきた人はうまくできたんだろうか?すこし気になるが、返事がないからできたんだろう。

今年はずいぶんPS3にLinuxをインストールしたな。20台近くしているな。なんも偉くもないけど、えらい気がするよ。少し空しいけど。

あと、CUDAもずいぶんインストールしたな。今、GT200がまわりに10枚以上はあるので、10TFLOPSですね。自慢。俺のじゃないけど。CUDAはインストール簡単だから別にそんなに苦労してない。

Cell×15=3TFLOPSとあわせて13TFLOPSくらい。すげー。

しっかし、GPUの進化は本当に早い。去年の今頃初めて、いつのまにかCUDAのバージョンも2.0になっちゃって、環境も知らないうちにいろいろ進化している。Global memoryのCoalesceさせる条件とか変わってて、知らずに最適化するところだった。わりと条件がゆるくなってよいな。Bank Conflictの条件も変わった?もともとあんまりそこら辺を把握してなかった可能性もある。もう一回くらい、プログラミングテキスト読んだほうがいいな。

GT200って、やれることは、G80世代から大きくは進化しているように見えない。見えない部分で根本的に変えているところとかあるんだろうけど、つかってる側からしたら、規模が倍に増えただけにしか感じない。もちろん倍精度ができるようになったとかあるけど。

今度はどうなるかなっていうのが、やっぱり気になってくる。個人的には、Shared Memoryが増えてくれないかなといっつも思う。CellでもLS増えないかなともいっつも思うように。これは、みーんな思っていることだけど、なかなかかなわない。互換性の問題?十分だという判断?うーむ。

あと、SM間の直の通信とか、SMの独立性をあげるとか、より汎用的なマルチコアみたいになる可能性ってあるんだろうか?これに舵を切ったら、完全にCellみたいになってしまうので、意味があるのかわからないけど、どうなんだろう。でも、そんな能力はGPUでは無意味だろうか?

やっぱり、GPUである以上、そのメインの使い方がどうなるかっていうのが、まずありきで、そこから汎用的な使用にすり合わせられるわけだから、そこがどうなるかという、市場の要請みたいなのを一番に考えて予測するべきだろうか。だとすれば、unreal engineの人の講演の話ででている、より柔軟なGPUの道がこれからのメインストリートだろう。だとすれば、やっぱりCell的にならざるを得ない。

そうすると、やっぱりCPUとGPUとの汎用性の差というのの境界がどんどん近付いてきて、GPUが消滅するっていう話になったりするが、そうなんだろうか?そしてCPUとGPU混合というストーリー。

でも、GPUとCPUの割合が、固定っていうのがうまくいくのだろうかと、いつも思う。それは、人やアプリケーションによって全然変わってくるから、難しい。

だから、FPGAみたいに一部のロジックを可変にして、ある時はCPU、ある時はGPUみたいなのを動的に変えられないだろうか。CPUの有利な処理のときは、大きなCPUを10個。GPUの有利な処理のときはCPU2個、GPU1000個とか。

そしたら、結局、全部FPGAでやれってことになるんだろうか。っていうか、そんな動的なシステムできるわけないか。

いや、そもそも、CPUとGPUの違いって言ったら、逐次か並列化ってのが大きな違いで、CPUは多くても数個で事足りる?どんどんわけがわからなくなってきた。

2008年11月21日金曜日

エンコ対決

最近、spursEngineとCUDAでエンコができる記事をよく目にする。それが実際どんなもんかというのがでていた。

http://pc.watch.impress.co.jp/docs/2008/1120/tawada157.htm
http://pc.watch.impress.co.jp/docs/2008/1121/tawada158.htm

なんか、びみょ~な気が…。そりゃ速くなってるのもあるけど、あんま変わってないほうが多くないか…。ものによっては遅くなっている。

こういう処理では、ばかっぱやが連発するのかなと思っていたが、そうでもないんだな。それともまだ最適化が甘いだけなんだろうか?

それにしても、企業が専用に用意してこれなわけだから、これが現状のマルチコアの現実とみるべきだ。速くなることもあるが、確率は五分五分だよと。うむむむ。

2008年11月7日金曜日

TESLA、うほ

最近また、GPUをいじってる。前回はまあ、使えるってのを確かめるって感じだったけど、今回は本気で使うことになってるのだ。しかもGTX280*3で。うほ。でも、さすがに3枚使い切るのはなかなか大変そう。まだ1枚すら使い切れない。なんて贅沢な。

と思っていたら、別のルートからTESLA*4キター!!!メモリは一枚で4GBとかですよ。すごー。ということは、今周りに7TFLOPSのマシンがあることになるなあ(俺んじゃねえけど)。地球シミュレータの1/6のパワーが今ここに!

うおー、もったいねえ。これをドガーンと使い切ってやりたもんだ。

2008年11月1日土曜日

覚悟というのは気合いではなく、毎日毎日階段を上っていくという作業でしかない。

ガンダムの富野監督のもんすごいインタビュー記事があった。

http://www.itmedia.co.jp/news/articles/0810/31/news118.html

全体の印象として、こういう勇気のいることをずばっといってくれて痛快であり、人生訓として非常にためになる小言だと思った。内容はいい部分ばかりじゃなくて、悪い部分もあるけど、清濁併せ呑め的な人生の匂いを感じられた。

その中で、気に入ったというか、これはある種の真実だと思ったのが、

「覚悟というのは気合いではなく、毎日毎日階段を上っていくという作業でしかない。」

という言葉だ。本人は恐らく、若い人に発破かけようという気持ちがあって挑発的なことをいっているが、基本的に自らの経験に基づいて、自分でだした結論や真実しかいっていない。

そういう本当のことというのは、何より尊いのだと思う。それこそ、人種やお金などを飛び越え、人類にとって、一番強くて、価値のあることだろうと思う。それが匂いを放つんだろう。

だから、自分は自分で、なにかを見つけていかなければ、面白くないよな。

2008年10月15日水曜日

チャットモンチーの橙

夜、将来が不安になって、原稿も終わってなくて、でも、それでも、なにか一筋の光を求めて、脳やらHPCやらの未来を思う。

そんな気持ちにぴったりの曲。っていうか、聴くとそんな気持ちになるのかな。

くるりのHow to go

くるりは最近How to goはLiveであまりやらないようだ。クリストファーが抜けてからやったときいたことがない。

クリストファにおいしいところをもってかれぱなしで、あの曲は岸田があまり好きじゃないのかな。

そういう感情論抜きで、How to goはクリストファー抜きではできないのかもしれない。

あれは、まるでドラム以外はみんなバックで、メインがドラムのような曲だ。メインのフレーズを繰り返すごとに、ドラムフレーズが変幻自在に変化していく。他の楽器はほとんど変わらず、ゆったりとまったりとペースを守っていく。

あんな曲、ああいう性格のドラマーじゃなきゃ、なりたたないんだろう。

でもあれはいい曲だ。ほとんどパクリなんだけど、そんなの関係ねえぃ!古。

今日、無性に聴きたくなって、改めて聴いて思ったのでした。

2008年10月8日水曜日

量子コンピュータ

http://www.itmedia.co.jp/enterprise/articles/0612/19/news003_2.html
以下抜粋
波というのは、確率の分布が波の性質を持っているということ。だから、観測したときには粒子として1つずつが認識される。波と粒子の両方の性質を同時に持っているという表現をする研究者も多いが、それは少々語弊があると思う。

そうだろう。ずっと、そう思ってたよ。なんで確率分布の波っていってくれないわけ。憤怒!

2008年9月21日日曜日

TOP500

HPCのTOP500というのがある。まえに地球シミュレーターが一位を記録して、最近はroadrunner。この1位を狙って、各国しのぎを削っている。

たとえば、オリンピックで100m一位をとるのはすごいことだ。かっこいい、みんな賞賛する。しかし、それがなんかの役に直接立つのかというと、うーん、よくわからない。決して、意味がないからやめろということではない。人類にとって、非常に意味は大きいと思うし、意味があるからこそ、富と名声を得るのだ。でも、具体的にどんな貢献があるのか、それがよくわからないから、具体的に感じたいのだ。

こんなことを言い出すのは、HPCのトップを目指すことに意味はあるのだろうか?ということを考えたからだ。半端じゃないお金がかけて、直接、人類に意味があるとは考えにくい、LINPACが速くなって、それに意味はあるんだろうか?いや、意味があるんだろうきっと、そして、たぶん意味があるから、人類はみな競っているのだ。

でも、どういうふうに意味があるんだろうか?roadrunnerが早いおかげで、CellのHPCブランドは間違いなく上がっている。国で見れば、アメリカのブランドイメージが上がり、HPC分野の人材が集まってくるかもしれない。わずかでも勝っていれば、その他敗者とは隔絶のなにかを得られるものだろうか。う~ん、まあそうなのかもしれない。

地球シミュレータが1位を取った時は、メディアの注目はすごかったと思う。そうすれば、国内の予算も流れてきやすい。ああ、それはインセンティブとして大きいかもな。

やはり、1位になって得られるものというのは、名声、ブランドイメージなのだろうな。宣伝効果が半端ないということなのだ。

わかりにくいものだが、やっぱり意味はあるのだ。

2008年9月17日水曜日

いってみたいようなCEDEC

CEDECでunreal engineを作った人が講演をしたそうだ。
http://www.4gamer.net/games/032/G003263/20080912053/

数年前、UE3のサンプル画像を見て、驚愕したもんだが、この人が作ったのか。しかも、チームもかなり少人数なんだな。すごい。

内容がかなり面白かった。ゲームエンジンの宣伝的な側面ももちろんある話だけど、それだけじゃない、最前線にいるからこそというのが伝わってくる。

科学技術計算に使われる並列計算というのも、結局はこういう民生技術の向上に大きく依存しているから、生産性が非常に重要という流れは、きっと科学技術系の計算にも、その流れや恩恵がやってくる。確かに、脳の計算でも手動でやるのはもう限界というのが、いろいろ出てきていて、そういうところに役立つだろう。

話は次世代のゲーム機を意識した感が非常にあって、そういうビジョンを聞くのは面白い。やっぱり、次世代は、大体5TFLOPS前後の性能を見越しているようだ。科学者というのは、こういう未来技術を予測して、研究というのはあまり必要に迫られないのでしないが(こういうのがでてきたから使おうとか、技術そのものをつくりだそうとはするけど)、こういう人たちはまさに飯のタネだから、当たり前にそういうことをしている。えらいし参考になる。

もうひとつ非常に気になる話が、並列プログラミングの新しい形について。確かにそろそろ限界に近付いているような気がする。しかし、本当に理にかなう、心から同意できる、スタンダードっていつか確立するんだろうか?しばらくハードの進化が停滞でもしないと、プログラミングのモデルもなかなか決まらないなって思うなあ。

あと、意外だったのがLarrabeeを絶賛しているところ。そうなんだ。あれはやっぱり本流なんだ。ということは、やっぱり予想外のブレイクの可能性はあるんだな。

それにしてもこういう話をきいていると思うのが、ますます科学技術とゲームが近寄っていくなということ。PS2, PS3でLinux搭載でクラスタ利用って話がでてきて、今のHPCトップはそのCellだしなあ。また、NvidiaもHPCソリューションやってますとかだしてたり。そして、今後実用化されるゲームの性能っていうのは、ますます、科学技術計算で望まれるようなレンジの性能になる。逆に、ゲームでも流体とか科学技術計算の流用があるし、グランツーリスモのモデリングなんか、シミュレーションうっているようなもんだし、ゲーム方面も少なからず、科学技術を欲している。

面白い。ゲームと科学を融合した会社つくったら面白いんじゃないかな。

2008年9月3日水曜日

いってみたいなHot Chips

Hot Chipsのレポートを安藤さんがしている。
http://journal.mycom.co.jp/articles/2008/08/30/hotchips2/

Larrabeeから、FPGA、XCell、自動車の自動走行など、短いけれど盛りだくさんのレポート。う~ん。実際にいって聞きたい!けど、英語なので…。

いろんなことに興味があって、いろんなことを追い求めてるうちに、なんか全てが半導体につながってくるような気がしてきた。汎用処理プロセッサは、なんでもやってくれるんだな。そして、まだまだいろんな大変なことをやって欲しいから、Hot Chipsでも面白いことがいっぱい集まってくるんだろうな。

他にも、こんなTSVの話があったそうな。

実用での問題はコストということで、もう時間の問題だろう。10年以内でぎりかと思っていたが、もう少し早い時期、5年以内には本格化するかも。これがでたら、また半導体業界が激変ですよ。

2008年8月28日木曜日

2013年に20TFLOPS

NVIDIA主催のNVISIONが開幕中だそうだ。そのweb記事でこんなのが。
http://pc.watch.impress.co.jp/docs/2008/0828/nvision06.htm

2013年に20TFLOPSってそんな、あんたって思ったよ。GT200のPen4的な今の状況からみて、Intelの10GHz超え宣言に似たもんを感じる。

まあ、それはいいとして、それぐらいのGPUならなにができるかっていう予測ムービー画像が最後に出ている。どれだけ信憑性があるのかわからないけど、これまでの進化を考えれば、これくらいのクオリティがリアルタイムに、普通のマシンで動くというのは、ありえるはずだ。でも実際にこれが動くよって、見せられると、すごすぎてそんな世界がやってくるなんて信じられないなあ。

小学生が、家でゲームしてて、これを自由にいじれるってなったら、もう現実と区別つかないとか、本当に起きると思う。大人の自分ですら、このレベルの世界が自由に動かせたら、どうなってしまうんだろうと思う。これはもう事件だな。

でも、これが当たり前になる社会で、さらにその先でなにをどうできるか考えると、とてもわくわくです。

2008年8月22日金曜日

続・Larrabee

IDFがあって、Larrabeeのニュースもでている。
http://pc.watch.impress.co.jp/docs/2008/0822/kaigai461.htm

ソフトウェアよりのGPUだから、Ctのこととかもでてくるのが必然か。しかし、CtとNative 言語があるというのは、混乱を招くような気もするけどなあ。

性能に関する印象は、やはり皆同じような感触を持っているようだ。情報をあまり出さないIntelもそこらへんを一番恐れているんだろう。

こうなってくると、HPCやってる人には大うけだけど、一般にはお寒いという、Cellと同じような状況が激しく起きそうだ。これは、CPUとGPUのはざまのチップの宿命だな。どっちつかずだけど、一部のニッチ市場、新興市場のみでヒットという。

コモディティ化の波がものをいうこの業界で、それに乗れないとなると成功はできない。ゲームでもなんでもいいから、数が出てしまえばいいんだけど。HPCでやってるのが生活で使われるような社会が到来する、もしくは作り上げれるというのがあれば、逆にとんでもなく大儲け。

そのカギというのは、高性能チップの性能を使いこなした、キラーアプリの登場ということに尽きるのだろう。

なんにもあてもないわけじゃなくて、こんなんできる、あんなんできるっていうのが、とにかく研究レベルではいっぱいあるわけで、そんなに割の合わない賭けでもないと思うんだけどなあ。

そんなキラーアプリが、実はグラフィック処理の分野にあるのかもというIntelの読みから、LarrabeeはGPUとして舵を切っている部分が、ひょっとしてあるのだろうか?いや、知らんけども。

2008年8月18日月曜日

次世代ゲーム機

PS3とかXbox360とかwiiの次の次世代ゲーム機ってどうなるんだろうと、最近よく思う。

きっかけは、Larrabeeがでてきて、これをどこかが次で採用するんだろうかって思い始めたこと。Larrabeeってちょうど次世代機が出るころだし。

でも、Larrabeeは初物すぎて、各メーカーが乗ってくるかが非常に?だ。それに、x86のGPUにしたら、CPUもx86にしないと、強みが出ないかな?

まず、一番あり得ないと思うのは、SonyがGPUでLarrabee採用。CPUでキャッシュのないCELLで、GPUでキャッシュのあるLarrabeeってそんなばかな話があるだろうか?Cellを一転してやめて、Core + Larrabeeってほうがまだありえるな。RSXはあんまり良くなかったし、ライセンス料もふんだくられているだろうからどっかにか変えたいだろうとは思うけど、x86とRISCを乗せるなんてことは、IBMだってさせないだろう。

つぎに、本命のMS。wintel同盟だし、そこまで、下位互換性にこだわってないし。ガラッと変えるのも可能かも。ただ、そうするとやっぱりCPUもかえるかっていう問題が出てくる。x86でいいCPUがありまっせと、Intelがだせるなら、そういう強みを打ち出せるから、ありえるのかもしれない。AVXで親和性の高いGPUとCPUですみたいな。

最後が任天堂。枯れた技術でがんばるってとこだから、あり得ない気がするけど、今回であきらめた性能面を挽回するんだっていって、larrabeeつかってくるっていうのもないこともないのかも。でも、larrabee乗せて2,5000円とか無理なんじゃないだろうか。う~ん。やっぱないかな。

Sony PS4 Cell2 + ATI (or Nvidia) GPU
MS Xbox gen2 Core + Larrabee
任天堂 IBMカスタムチップ+ なんか普通のGPU

Nvidia、ATIのうちどちらかは、次世代ゲーム機で採用されないかもしれないな。もしくは、そもそも存続していない可能性もあるな。

あと、CPUとGPUをひとつずつ搭載するっていう今の構成が、次世代では変わってくる可能性もあるな。物理とかストリーミング処理用プロセッサを新たに追加ってあるのかも。開発者からもんすごいブーイング来そうだけど。

まだ3年以上先だろうけど、面白くなりそうだ。

のだめ新刊

のだめの新刊を読んだ。ある程度成功をつかんだ漫画が、これからどう展開するのかと思っていたら、どんどん進化していくな。前の巻では、クラシックや演奏する人以外をおいていくような、マニアックな音楽話が結構展開して、アグレッシブでやるなって思ってたけど、今回はまたそれとも違う。コメディ的な皮をかぶりながら、トップアスリートの激しい戦いのようなスリリングさを持ち、実は結構残酷で、人生哲学のような深みを感じる…とまでいうとよくいいすぎ?
ルイは体験できなくても想像できる人だっているなんていってたけど、たとえばこの漫画の作者もそういう人間なのかな?新刊のような微妙な表現をできる作者っていうのは、心の中はそれ以上のことを感じ取って生きているのだろうか?そういう人は素直にあこがれるし、尊敬するなあ。

2008年8月10日日曜日

揺れる気持ち

日記を読み返したら、なんかとんでもない一貫性のなさ…。まあ、まあ、そのときそのときの気持ちを大切にするという方向性で。

昔の日記を読んでみて気づくのは、気持ちがピーク性能と利便性の間で揺れ動いているということ。

Larrabeeは、そこそこ性能でて使いやすいだろうという期待があったんだけど、性能がいまいちな可能性と、Cellと大差ないんじゃないかというので、ちょっとがっかり。

実際に登場するときには、価格というファクタも入っていくるから、またわからなくなるな。結局、2年後に実際出て、使えるようになって、環境ができて、そのときにならないとわからないな。

ようするに、わからん、わからん。やはりやってみないとわからんな。やればいいのだ。

2008年8月6日水曜日

larrabeeさあ、どうなん?

Larrabeeの詳細が発表されたということで、だいぶWeb記事もでたなあ。世間的な反応は思ったほどなかった気もするな。

自分はというと、もんすごい注目してたけど、結構、え?っていう内容だったな。これ大丈夫?って感じ。別に根拠とかなかったんだけど、GPUより性能はうえで、キャッシュもあって、タイルっぽい作りで、みたいな勝手な思い込みがあったのでなおさら。

でも、ふたを開けたら、かなりCell。キャッシュはあるけど。ピーク性能ではGPUには勝てそうにないところもCellと同じ。リングバス。えー。

しかし、コア増やして性能スケールするのって本当だろうか。プログラムが簡単に書けるというのも、なんか怪しいなあ。

あと、今回の発表でコア数とか演算性能をはっきり数字で示していないのも、性能があんまりでないからじゃないだろうか。GT200と同じか倍ぐらい性能出る予定だけど、でるの2年後と公表したら、みんながっかり~になっちゃうからじゃなだろうか?でも、汎用なGPUだったら、それぐらいの性能にならざる終えないよなあ、現実としてさ。

出る前に勉強して、がって使ってやろうかと思ったけど、これはかなり微妙だ。GPUとして生きていくのもしんどそうだし、普通のCPUとして生きていくのは無理そうだし、なんだこれ…。無理やりゲームで使ってもらえばいいかな。そしたら、Cellもやる気でて、さらに進化してくれるかも!

そういや、CellのLSの評価の試金石として、これ以上ない相手ではあるな。まあ、Cellが次世代でキャッシュ乗せてくることもありうるけど。

ひさしぶりのcuda

最近、cudaをいじりいじり。

半年ぶりで、いろんなことを忘れまくっている。shared memoryがblockごとに共有だったのを忘れてて、一苦労。改めて思うけど、shared memoryの定義の仕方って、なんか混乱するなあ。初めての人は絶対あれ?ってなるんじゃまいか?2周目なのにあれってなった。

それにしても、shared memoryってこんな少なかったっけ?全部で数百KBだったっけ?Cellとそんなに変わらんように思い込んでたけど。GT200でsmあたりの容量が増えると思ったのになあ。増えんかった。むー。

2週目にして思うんだが、cudaはハードの抽象化がやや強くて、複雑で、Cellの方がかえってわかりやすいな。抽象化のせいか、メモリのアラインメントのとり方で、最適化する方法がごちゃごちゃしすぎじゃないか?SIMTで、連続したメモリの転送を考えるのは、本当にパズルだ。何千というスレッドプログラミングで、メモリの転送を効率化するというのは今までにない、難しい問題かもしれない。これは次期cudaのバージョンで解決されるかもしれないし、解決されない問題かもしれないなあ。これさえ解決されれば、SIMTってなかなかいいと思うんだけどなあ。

2008年8月2日土曜日

おすすめ

http://d.hatena.ne.jp/rarirulelele/20070504

これいいなって、ひとにいってまわりたい。

でも、変に騒がないほうがいいかなとか思ったり、だからといって、黙ってるのももったいないというか。


だから、こっそり、ここだけで、おすすめしとこう。きっと5年たったらなんかなってると思うぞい。ふふふ。

2008年7月26日土曜日

GRAPE-DR

そろそろGRAPE-DRが出てくるみたいだ。一応、1チップのボードは販売中らしい。
試作チップの発表のときは、非常に魅力的だったが、現時点ではもうそれほどでもないという気はする。

倍精度250GFLOPSは確かにすごいけど、価格性能比で言ったら、GT200かR7002を3基積んだPCのほうが安くて、高性能だろう。FPGAをいじらないといけないとか、プログラム開発環境が?なのを考えると、一般的にはあまりうまみがない。

まあ、そもそも一般の人がGRAPE-DR使うことはない。GRAPEはきっと大規模なクラスタを組むことを見越しての製品だから、比較するのがナンセンスなのだろうか?

だから、POWER6とかと電力効率とかを重視して比較すべきなんだろうか。もしくは、この前TOP500で1位をとったXCellがライバルかな。

いろんな人が、いろんな目的で高速な計算を目指して計算機を作るけど、一番最後は、それを使って目的達成がうまくいけばいいわけだ。GRAPE-DRの場合は、重力多体計算がまず外せない目標としてある。

それに加えて、今回のチップの一番の特徴は、多用途に用いれる、汎用性だろう。だから、現時点で最高性能うんぬんで勝てなくても、性能の代償に汎用性を得たようなもんなんだから、これもできるあれもできるというのがでてくれば、本来の目的達成といえるんだろう。

多用途に実際に適用してみるというのは、簡単にできることじゃない。でも大学で開発したからこそ、それを利用する人材が見つかるという企業にない強みがあるかもしれない。

だから、本当の評価がでるのは2、3年後のことだろうか。いや、東大パワーでパッとアプリが出たりするのもありえるかな。

2008年7月23日水曜日

GT200対R600のはなし

GT200対R600の話をまた見つけた。

http://journal.mycom.co.jp/special/2008/gpu01/006.html

基本的には、後藤記事と趣旨は同じ。確認できるので、為にはなった。

どうも、「GT200はあんなんつくっちゃってやばそうだけど、汎用とかHPCでやってく道というのがひょっとしてありえるのかな!?」と世の中は思っていて、みんなわからんということのようだ。


最近では、Cellがいい試金石となるだろうか。高いパフォーマンスがあって、汎用CPUとして登場したが、その後どうなっただろう。ゲーム分野では、使いづらいと文句をいわれながら、なんとか性能を発揮している。一方、他の分野では、その凄い性能を生かすアプリが爆発的に広がるなんてことはなかった。

やはり、世の中、すべての分野で処理不足がおきているわけではないので、すべての分野で導入がされるなんてことはあたりまえだが、ありえない。逆に今の計算能力でできることをやるように社会構造ができているのだから、大抵のところは現状を維持してやっていける。だから、例え、Cellがあと10倍性能がすごくても、世間への普及なんてたいしてかわらなかったのじゃないだろうか。

性能向上が必要な分野がどれだけあるのか、どれだけ生まれるのか、その市場規模がプロセッサの開発、生産にとって十分大きいのか、そういう非常に予測し難いことを考えて、天秤にかけることになる。

どれだけの性能があったら、社会を変革するようなことが起きるだろうか。そう考えると、やっぱり、人間のある部分の知能におきかわる様な知的処理が実現する性能が得られたときじゃないかと思う。

だとすれば、あと少なくとも1000倍はいるだろうか。話がずいぶんと変な方向に来たな。

2008年7月7日月曜日

teslaのアーキテクチャ

GT200のアーキテクチャの話で面白いのがあった。ちょっと推測に推測が乗っかりすぎの気もするけど。

http://pc.watch.impress.co.jp/docs/2008/0707/kaigai452.htm

warpで何スレッド実行すべきとか、2命令同時発行がアーキテクチャ的にどうやってるとか、なんかうやむやでよくわからんずやっていたが、いろいろ突っ込んでいる。

とにかく、GT200で2命令同時実行の割合が増えているのはいいことだ。

データと命令のレベルの並列性ではなく、スレッドレベルの並列性というのが、良くわかるようなわからんような。演算の粒度は、結局スレッドを実行するユニットにしたがって、データも命令もそのレベルの並列性にはなるわけだろ?まあ、さきにスレッドが来て、あとは決まっていくということかな?

この人の話のストーリーだと、これがR700系では一方違いますとなると思うから、どうちがうのか教えてほしいなあ。

2008年7月2日水曜日

GT200とRV770

最近、GT200対RV770というGPU戦争が激化していて、興味津々でみている。
自分はCUDAしかできないので、NVIDIAに頑張ってほしいのだが、GT200のダイの肥大化や消費電力のひどさは、なんかやばいんじゃないかと心配している。

このGT200とRV770の戦いにどっちが優れているかという、大胆なタイトルの記事があった。
http://pc.watch.impress.co.jp/docs/2008/0702/kaigai451.htm

結局、どっちがいいとはいってないんだけど、最終的な結論として、NvidiaはGPU専門で、AMDはCPUもやってるという立場の違いが出ているといっている。正しいのか知らないけど、たぶんそうだんだろうと思う。

でも、最終的な市場の決断というのは、企業の立場で決まるのではなく、それがユーザーが望むようないいものかどうかで決まる。果たして、GPUだけでやっていく傾向のGPUと、CPUとGPUを組み合わせる傾向のGPUというのはどっちがよいものなんだろうか?

PCがCPUを必ず搭載する以上、そのリソースをうまく使える、CPU+GPUをやったほうが効率はいいはずだ。AMDの方がまっとうでスマートな作戦とみえる。一方、Nvidiaはいかにも無理してCPUっぽさを取り込んで、肥大化してるような気がして、消費電力の悪さもその結果のようにみえる。

しかし、NvidiaがやっているGPUにより汎用性を持たせる方向は、これまでにないプロセッサを作るようなもので、なにか新しい可能性を広げているような気がする。数千のスレッドがそれぞれ、汎用性の高い演算を行えるというのは、これまでになかなかないんじゃないだろうか。用途が思い浮かばないけど。

Cellは、アグレッシブなアーキテクチャで高い演算性を叩き出し、科学技術系の演算に、それなりに取り入れられている。賭けに勝ったと言えるかどうかまだわからないが。GT200もそんな賭けを吹っかけているようなもんの気がする。だとすれば、勝負はCUDAしだいなんだろう。がんばれNVIDIA!

2008年6月9日月曜日

install地獄じゃあ~

最近、PS3にlinuxを何回も入れている。もう、3の倍数以外もアホになるくらい、何やってんだおれ。

しかっし、なんでPS3ってシステムアップデートとか初めての起動時にPS3ボタンを押せとかいうわけ?いみがわからん。わざわざゲームのパッドもってなにさすねん。キーボードで完結さろよ。Fuc●、Fuc●、Fuc●、Fuc●、Fuc●、Fuc●、Fuc●!

しかも、インストール寸のに何回再起動さすわけ!?インストール遅いし。システムアップデートもいるし。Fuc●、Fuc●、Fuc●、Fuc●、Fuc●、Fuc●、Fuc●!

2008年5月1日木曜日

ムーアの法則の終焉で起きること

ムーアの法則はゲート長が原子の1個分になるまで、あと約15年は続くと言われている。その通り続くかわからないけど、まあいくんじゃない?くらいに、皆思っているようだ。

もしこれがいくとして、きっと最後の5、6年くらいから、半導体業界は騒ぎ始めるだろう。終わってからどうしよう?って。

そのころには、3次元積層技術ができはじめ、縦方向に延びることで延命する道ができるということもありうるかもしれない。そんな何段も詰めるもんなのかは知らないけど。

もしくは、最近盛んな光コンピューティングができてきて、そっちに移り始めるなんてこともあるかもしれない。

まあ、そうやってうまいタイミングで、次なるもんが出てくればいいけど、出てこないとなるといよいよ大変だ。半導体業界は、株価の振れ方ははすごいことになるだろう。

しかし、ムーアの法則が終わるからと言って、コンピュータが用済みになるわけではないから、もし性能の進化が鈍化しても、それなりの規模で市場は保ちながらいくのだろう。

ムーアの法則のあとのコンピュータはどういう進化をしていくのか、どれだけ必要とされるのか、何をもたらすことができるのか、そういうことを考えられるだけ考えて、最後の5年間は賭けに出るしかない。

次の新しい技術はこれだ!とか、とにかく前に突き進むしかないと判断すれば、最後の5~10年間は、新しい分野に金を大量につぎ込むだろう。逆に、見通しが立たず、次の新技術はできないとなれば、リスクを抑えるべく、投資は抑えて、規模の縮小をし、半導体を安定供給できるような体制に持っていくだろう。しかし、そんなことになれば、おそらく発展途上国の企業に追い越される運命になるだろうな。

10年後の半導体の性能は、今までのとおり行くなら、大体100倍は上がる。とすれば、10Tflops位は、いくんじゃないだろうか。将来、10Tflopsでなにができているだろうか?地球シミュレータでやってるようなシミュレーションを普通に、実行できる環境。今の百倍コストのかかる画像処理を実行できる環境。メモリでいえば、100GB位は積んでいるかもしれない。組み込み系のチップなんかがみんなCell並になっているかもしれない。

これは夢の世界だろうか?いや、実感できる平凡な世界なのだろうか?

たとえば、大型計算機は現行のPCの1000倍くらいの能力を持っている。しかし、それを扱える人が、特権的な力を発揮できるのかというと、特にそうではない。大規模計算機がたいてい、私利私欲のためには使えないような制限があったり、使う人口が少ないから、可能性を試す機会が制限されていて、ろくなことに使えていないだけで、本当は夢のようなことができるという可能性があるともいえなくもない。

わからない。10年後の計算機でやれることもたかが知れているのか、すごいことができるようになっているのか。個人的な予感でいえば、今、まさに計算機でいろんなことが花開きそうな時期だと思う。10年後には、予測もつかないことが花開いているんじゃないかと思う。しかし、実際には大したことはやれていない現在の現実があり、未来は具体的にこうなるのですごくなるという具体性が、自分の中であるようであまりないのかもしれない。う~ん、ぐだ~ぐだ~。

あーだこーだ言ってるが、これは非常に重要なことだと思うのだ。10年後に可能性ある未来を享受していれば、次の未来への期待が高まり、さらなる進化を皆が望むだろう。しかし、あまり変わり映えのない世界であれば、進化に向かおうという雰囲気もなくなっているかもしれない。

これまでの10年に世界がとてつもない変化を遂げたことは確かだろう。しかし、この延長の進化を次の10年繰り返すなら、次の次の10年は停滞するかもしれない。逆に、この10年以内に、前の10年とは質的に異なる新しい現象が起きるなら、次の次の10年はまた予測外の新しい世界になるんじゃないだろうか。自分はきっとその新しい現象を求めているのだろうな。

2008年4月27日日曜日

Cellの供給先

先日、これ意味あんの~なんていってた、Cellのアクセラレーターボードは倍精度強化型らしい。へー、しかもよく見れば、メモリが4GBもある。そういう目で見ると、そこまでむちゃくちゃ高くもないかも。それでも商売的には、どうなんだろうとは思うけど。たぶん、IBMのCellサーバーを買う前に、Cellを試すような人が買うんだろうなこれ。だから値段とかどーでもいい人がターゲットで、売るほうもあんまり商売する気もないのかも。

Cellみたいな目新しく、性能は高く、でも変態仕様なものって、どこに売り込んでいくかは予想外で難しいだろうなあ。結局は、安定して供給口のあるゲーム機とか、性能がほしくて、かつ変態が多い?科学技術分野とかがあってるんだろうな。やっぱり一般に浸透させるには、使いやすさと信頼性がないとなあ。一般の使用で高性能がないとやっていけないなんてところは、普通ないからなあ。逆に、世間を一変させるような、一般の使用で必需品となるようなアプリや用途を考えついて、それを簡単に導入できるようにできたら、革命が起きるんだろうけどなあ。まあ、簡単な導入ってのはだんだんできてもいいかも。それを引っ張り込む、キラーアプリがあればなあ…。

Cell OpenCVできた!

やっとでけた。単にCVCELLにパスが通っていなかっただけという…、うう、情けない俺。

実行してみると、確かに速い。さらに、opencv-demoみたいなディレクトリの下に、サンプルの実行コードとおんなじで拡張子が.exeものがあって、これはもっと速い。顔認証なんか2SPEで大体フレームレート近くまで処理が追いついてる。なんか特別な最適化をかけているんだろうか?一つのSPEでかなりの処理ができるから、6種類の画像処理を同時実行なんてこともできなくもない。夢が広がるな~。

2008年4月16日水曜日

OpenCV × Cell

OpenCVというのは画像処理のライブラリだそう。最近Cell用に最適化したライブラリをFixtarsさんがこうかいしているので、PS3でこれを試している。USBカメラも簡単につなげて、出力させるコードも簡単。顔認識とかできて面白い。でも、インストールのチュートリアルのとおりにやってもなぜかうまくインストールできない。適当にいろいろ入れると動くけど、なぜかSPEが使えてないみたい。意味ね~。

SDKが3.0だからだめなんかいな?

2008年4月6日日曜日

cellさん、粘りっす

cellのボードがでるようだが…。

http://techon.nikkeibp.co.jp/article/NEWS/20080404/150006/

約100万。いまさらこんなの出して意味あるんだろうか。200Gflopsで100万。8800gtは500Gflopsで3万。ふーむ。

ところで、larrabeeは2009~2010らしい。まだすぐには手に入りそうにないのね。しかも、はじめは環境も性能もそこそこのテスト版だと思うから、本格的に使えるのが出そろうのは早くても2010年ってとこか。あと2年もなにもしないで待っているわけもないので、ここはやはりCellで精いっぱいやってみるのがいいかな。

最後はIntelが持ってくにしても、このタイミングならCellは結構粘るかもしれないと思い始めてきた。やっぱり開拓者というのは、偉大なんだよ。

2008年4月5日土曜日

意識

神経細胞のシミュレーションをやってるのは、それで少しでも自分のこと、意識のことに近づけるだろうという思いがあるからだ。しかし、一般的に、脳のしくみがわかっても、意識というのは次元が異なる話であって、結局わからないんじゃないかという見方があるように思う。

自分は、意識はわからないはいいきれないじゃないか、やってみたら意外とできるってことは、よくある話だと、楽観的に考えている。ただ、脳のことがわかったからといって、意識がわかるということにはならないというのは、同じ思いだ。自分が思うのは、脳のことがわかれば、意識を明らかにする糸口となるんじゃないかということだ。

脳は、神経細胞一つ一つの活動が集まって、結果として情報処理を行っている。一つ一つの神経細胞はあくまで、一つ一つで勝手に役目を果たしているだけで、一つの神経細胞は全体を把握しているわけではない。しかし、人の意識というのは、連続した情報や複数の感覚をまとめて感じることができるもので、不連続な、個々の神経細胞がそれを担っているというのは、どうも考えにくい。だから、意識のような働きを可能にするなにかしらの仕組みは、神経回路網とは別にあるのかもしれないと思う。

意識は、神経細胞の活動のただの影のようなもので、情報処理してるかはわからないという考え方もある。自分は、意識の働きは、情報処理に使われていると信じている。なぜなら、意識があると自分自身は自覚していて、それを物理的に表現できるからだ。もしただの影だったならば、情報処理に影響することはなく、意識に関する情報は、物理的に表現することができない。このことから、意識は神経細胞の活動に影響を与えているとことがわかる。こういいきってしまうのは、ちょっと大それていて怖いが、そう考えざるを得ない。人間が外部に表現するには神経細胞の活動がなくしてはあり得ないはずだからだ。

この考えは、あくまで自身にとってしか、有効ではない。他人が意識を持つことを表現することは、本当に意識によるということは、確認できないからだ。

もし、上記の考えの通り、意識と神経回路網が何らかの情報処理のためのやりとりをしているとすれば、神経回路網だけ完璧に使ったとしても、ちゃんと動作しないことになる。そのとき、意識への糸口が見えてくるんではないだろうか。

2008年3月31日月曜日

信頼性

これから、自動車に半導体がどんどん入っていくらしいが、そこでの問題は信頼性らしい。ロボットでも乗物でも、信頼性が非常に大事だという。まあそりゃそうだ。多彩な機能の前に、まず安全に主たる目的を果たせなきゃならない。

脳型の処理系というのは果たして、高い信頼性を実現するものとなりうるんだろうか?並列に素子が処理するので、故障に強いという意味では信頼性があるとみることはできる。しかし、人間の犯す間違いの頻度を考えると、どうも信頼性が高まるとは思えない。しかし、人間だからこそ、この程度の間違いなのであるという、そもそも人間が扱う問題が難しい性だというのもあり得る。


人間がやったことで、高い信頼性を実証できていることってあるだろうか?種が続いていることとか?国が栄えていることとか?

2008年3月25日火曜日

テラ2万円なり

ふとHDDの価格のニュースをみると、1TBが2万円ほどで買えるようになってるじゃないですか!

すげー。知らぬ間にどんどんすすむ大容量化。もうさすがにお腹いっぱい、ちょっとまって感がでてくると思う。と思ったがそうでもないかな?
音楽データを無圧縮で、一枚700MBとして、1000枚で700GB。普通そんなにCD持ってねーよ。でも、BDが50GBととして、20枚で1TBか。うーん、BDのバックアップ取っておくとかなら、まだ足りないかな。10TBで200枚のバックアップなら十分かな、なんとなく。

これから20年かけて、600TBくらいまでは容量あがるみたい。3次元映像の記録するのかな?自分のDNA情報でも記録するのかな?

2008年3月21日金曜日

分子動力学

今日は分子動力学をやっている人とたまたまお話をする機会があった。自分はちっとも触れたことのない分野だ。天体物理も分子動力学も多体問題といえるが、固体の分子動力学は原子の座標がほぼ固定なので、分散計算が非常にやりやすいらしい。へー。

世の中、どういう計算がどういう計算機に向いているかというのは、簡単にわからなそうでわからない。結局その分野の人しかわからない。しかし、例えばCellとかGPUをいじっている人なんて本当のマニアしかいないから、結局、人づてに「あれいいらしいよ」みたいな口コミとかコラボレーションなんかしないと、考えるきっかけもなく普及してかない。 プログラムできるだけではだめ。専門領域が得意なだけでも駄目。結局、巡り合わせ、運みたいなもんだな。

だから、本当は世の中シミュレーションネタってきっといっぱいあるだよなあと思う。別に必要な人が勝手に使ってくれればいいんだけどさ。なんかもったいないよね〜。

2008年3月19日水曜日

脳型の知性

感覚器からの信号->信号の特徴抽出->特徴抽出された信号の分類、意味付け

この各段階を実現する方法は結構提案されている。あとは、

->価値判断->行動選択

とつながればいい。行動選択はよくわからないが、価値判断はあると思う。


今まで気づかなかったが、もう脳型の知性を実現するピースはそろっているといってよくないか?なにが知性なのかとか難しいが、脳っぽい判断を下すとすれば、この一連の流れで十分できるんじゃないだろうか。

今日いろんな人の話を聞いて、ふと興奮した。

復活×2

なんとBlame!が復活するらしい!いまだに本当か信じがたい。一回限定だろうか。
さらにさらに、My Bloody Valentaineが復活するらしい!しかもFuji Rockにくるらしい。行きたいよー。

今まで結構いろんな再結成や復活があって、よかったためしがない。全盛期のクオリティーを望むほうが無理ってもんか。だから、最近はそういうのには期待しないことにしていた。しかし、この2つは期待するなっていうほうが無理だ。

今年の夏は、Blameを読みながら、マイブラを聞けるかな〜?

年度末プログラム大掃除

昨年、VCでリアルタイムなGUI表示のプログラムを作って、バグりまくり放置年越し。
今度、そのプログラムで実演をすることになったので、おお焦り。よーし、これを機に、新年度までに、プログラムにはきれいな体になってもらって、マイグラジュエイションだ!

プログラムを見直した。ひどい…。ひどすぎる…。orz

警告でまくり放置。メモリ解放しないで放置。使わない無駄に定義され、放置される変数たち。気の向くままに適当につくられ、つかわれない関数さん。意味不明の異形のコメントアウト群。

ここまでくるともはや、スカトロメタルといってもいい。これで一応動くからVCは偉い。

自画自惨している場合では無い。手を入れ始める。溜りまくった垢が面白いようにとれる。しかし、とってもとってもとりきれず、なかなか底が見えない。なんて奥が深いんだ!

しかし、さっきようやく見通しがたった。スレッドを無駄につかっていたのが、一番でかいうんこだったようだ。これをズキューンとお掃除すると、新品の水洗トイレの流れるお水のように、淀みなくプログラムは実行でけた。

これで気持ちよく巣立っていける。来年度はCellたんとVCたんとなかよくがんばろう!

2008年3月18日火曜日

Intelのターン

neharem 、larrabeeとIntelの猛攻がついに始まったぜよ。

http://www.itmedia.co.jp/news/articles/0803/18/news030.html

neharemでCellとコア数は同等になった。larrabeeで越える。Intelはこの他にも、ctとか高速ケーブルとかじわじわと、HPCの地固めをしている。ハードだけじゃなく、ソフト、構築環境なんかを先に手をつけておくところは、さすが。STI連合やNVIDIAは手をつけてない(つけられない?)重要なところを押さえている。

HPC需要は大抵、大学や研究所だろう。業績あげないと生き残れない世界だから、HPCは手段として使えないとだめ。使いこなすことが目的ではない。そんなところに、「そこそこ安価で、そこそこ性能でて、使いやすさ、導入のしやすさは最高」っていうのと、「すごく安くて、すごい性能で、でもかなり使いにくい」っていうのがきたら、前者を選ぶ場合が多いと思う。性能が何十倍もちがわないかぎり。

もうIntelできまってしまうんじゃなかろうか。Intelに対抗できる強みが他の勢力にひとつでもあるだろうか?

2008年3月17日月曜日

規定課題予選

cell speed challenge 2008の規定課題の予選の結果がでた。

今回、あまり差がつかなくてどうすんだろなんて、外野の声があったけど、いやはや蓋を開ければ、トップばかっぱや。まさに桁違いの結果。自分は参加してないから、課題をはっきり把握してないけど、こんな差がつくもんか?トップの人に秘訣を是非教わりたい。

なにが大差を生んでんだろう。そもそものアルゴリズムか、データ転送か、計算の最適化か。どうもアルゴリズムじゃないかという気がするな、この激しい差は。

決勝ラウンドも楽しみ。

2008年3月11日火曜日

NVIDIAカンファレンス

NVIDIAのカンファレンスいってきたぜよ。東大初めてで面白かった~。

カークの講演は、はっきり言って知ってることばっかでつまんねかった。次のGPUの話とかあるかなと思ったけれど、何もなし。

面白かったのは天体の多体問題の話。実際のいろんな苦労話や裏側が聞けて楽しかった。GPUについての印象は、自分と驚くほど一緒。

さて、つぎの一手をどうするかだな。FPGA?GRAPE?Larrabee?

音楽2

人間なんてたかが知れてるもの。生きれば生きるほど、そんな気持ちが強くなってくるような気がする。所詮、世界は意図したようには動かない。何かの結果として、今があるだけに過ぎない。

それでも、まだ、どうしようもなく魅力を感じるひとがいる。それは、無意識にでも前進していきながら、なにかを自ら見出していく人だ。

なぜそう思うのだろう。よく考えたことはない。考えてわかるんだろうか?死ぬまでわからないほうが面白く生きれる気もする。でも最後には知りたいな。

2008年3月4日火曜日

音楽

なんで人間は音楽が好きなんだろう。なんで音楽をできるんだろう。
リズムにあわせて踊ると楽しいじゃん?いやでもそんなの楽しいとは限らない。
音楽自体がなんで意味をもつのか。

いくつか答えはあるだろう。でも大きな要因のひとつは、音楽は脳のなかのいろんな記憶や感覚に"触れる"からだろう。それって意味あるのか?たぶん、あるんだろう。きっと、音楽が好きな人も嫌いな人も、記憶や感覚が呼び起こされること自体が、人間にとって意味を持つことを同意できる、たぶん。

普通に生きていたら、感じられないこと、到達できない場所、そういうところに音楽の力でいけるときがある。音楽では世界を変えれない。でも、音楽で気持ちは変わる。人間はそういう生き物なんだ。頭の中の配線を音でなでて、記憶や感覚をたどっていくんだな。

チャットモンチーの「世界が終わる夜に」を聴きながら、そう思ったのでした。

2008年2月23日土曜日

ループアンローリング

Cellで、ループアンローリングすると、5倍近く速くなったりすることが結構ある。でもなんでもかんでも、速くなるわけでもない。なんなんだろう?本当はアセンブラからみないといけないんだろうが、その技量とガッツまではないの。
simd演算にしてもそうだけど、手がかかるなあ。

2008年2月20日水曜日

探索問題

ひょんなことから、ある探索問題をCellで試してみることになった。
コードはいたってシンプルで、100行程度。はじめ普通のCで書くのに約1時間、Cell用のコードを書くのにやはり1時間くらいで書けた。
典型的な浮動小数点数演算の繰り返しがおもなものな計算なので、Cellでやると早い早い。

自分が知らないだけで、世の中こんな計算っていっぱいあるのかも知れないな。今回は探索問題を探索したわけで…

だれがうまいこといえって言った!

2008年2月18日月曜日

ゴートゥDMA!ゴートゥDMA!

ひさしぶりに、Cellのプログラムにどっぷりはまってる。

以前は、XDRを全然使ってなかったから、ちょっと使うように改造してるのだが…、あいかわらずDMA転送には苦労するよ、トホホ。


まあ、でもちょっとずつわかってきたかも。うほうほ。

2008年2月16日土曜日

リアルタイムCell

最近、Cellをリアルタイムに使える方法はないかと模索しているが、OSをどうすればいいのか、どうにもならんのかが、素人なのでよくわからん。

Linuxのカーネル2.6系はある程度、リアルタイム性を実現できるといううわさで、じゃあCellはいけるじゃんと思ったんだけど、全然情報がでてこないんだよなあ。

Cellでそういうことやろうっていう人結構いると思うんだけどなあ。なんででてこないんだろう。

やっぱこういうのは、FPGAでやった方がいいんだろうな。でもCellでやりて〜!

2008年1月24日木曜日

flopsねえ…

なんか思いっきり勘違いをしていた。

一般的に積和算は2flopsで計算するだね。何で8800gtが2命令同時実行できるのか、わからなくて調べたらそうらしい。Cellも一緒。

いろいろ調べてみて、flopsという尺度はちょっと考えもんだと思った。メモリも無視してるし。メモリの速度とかトポロジーとかをいれた尺度ってないのかな。

2008年1月23日水曜日

洗濯

洗濯は、洗い、すすぎ、その後脱水である。

洗い、とすすぎの間にもう一回なんかあった気がするんだけど、なんかなかったけ???

物事は3回くりかえしてものになるという嶋さんの話を読んで、ふと思った。
http://itpro.nikkeibp.co.jp/article/Watcher/20060419/235740/

2008年1月19日土曜日

cellさん御無沙汰です

ひさしぶりにCellのコードいじり。前にlibespe2用に書き直したんだけど、なにをどこまでやったかすっかり忘れてた。

DMA転送に問題があってちょくちょくハングする。はー、こういうのがあるんだよね、Cellちゃんは。

DMA転送の方式はいままで、SPE間の通信を行ってたけど、PPE経由に変更する予定だから、今の不具合はうっちゃったまま進もうかな。別に誰も困らんよな。

ところでひさしぶりにCellのコードを実行してみて、あらためて8800GTと比べてみたところ、ルンゲクッタの計算で6倍速度が違うことを確かめた。

cellはgcc使ってるから、xlc使うと多少早くなるかも知んないけど、まあcellが1.5倍早くなったとしてそれでも、4倍の違いがあって、カタログスペックの約2倍の違いとは差がある。

確かめてないけど、やっぱり超越関数の効果だなこれは。一回、超越関数抜いて計算すりゃわかるんだけど。暇があればやってみよう。

2008年1月17日木曜日

地球シミュレータ、次世代京速計算機って金かけすぎ?

とあるブログでESと京速計算について批判が展開されている。それについて思ったこと。

例えばESでの研究の結果、気象予測の精度が上がったら、日本でどれだけ経済効果があるのだろう。
ESで地震の予測精度が上がったら、どれだけ損失を防げるだろう。
ESで温暖化の予測ができたら、世界の人がどれだけ助かるだろう。

でもきっと、ESはそんな凄いことは、一つも達成はできないだろう。現在のテクノロジーでは、どれだけお金をかけても、やれることはたかが知れてる。

じゃあ、そんなことにお金をかけなくてもいいのだろうか?

例えばIPS細胞は、今は何の役にもたたない。だけど、将来、あらゆる病気の治療を可能にするかもしれないなら、研究に多少のお金をかけるのも納得できる。

これからの20年で、コンピュータの能力は少なくとも1000倍は上がる。そのときには、何ができるようになってるだろう。そのできることが決定的に社会や人生を変えるなら、それに見合ったコストはかけるべきだ。

だったら、20年後にどっかから買ってくればいいじゃんっていう話もある。でも、逆に日本でそういうものを作り出せれば、世界中が買いにくることになる。経済以外でも、社会貢献や軍事で計り知れないアドバンテージが得られる。

ただ、これまでの大型計算機プロジェクトの成果をみると、結局、将来的に何も達成できないんじゃと感じるのは仕方のないことだと思う。構築に金をかけることが目的で、作ればおしまいてきなものだと思われかねない。

将来への発展性を持ち、役に立つものであることを示すには、とにかく作ったものを使い倒して、成果を出さなければならない。そのためには結局、使える人を啓発、教育して作っていく以外にない。目に見えにくい部分だが、これが一番重要なのだと思う。

だから、自分の結論としては、1000億の国費を投じるというのは、将来のことを考えると十分意味があると思うが、それに見合った、使う人への投資をすべきで、そのバランスが大切だ、ということになる。今はそれがちよっと偏っているか、現状がみえにくい状況かと思う。

コンダクタンスの計算

シナプスコンダクタンスの計算は、イオンチャネルの計算などと違って、どのようにやるべきかのセオリーがないと思う。それは場合によって、神経回路網の規模や、計算機の規模や性能がまちまちで、それに依存するからだ。

今回、いろいろ検討して、それを思い知った。1台の計算機や、ある神経細胞数のニューラルネットなら最適な方法が、クラスタになったり、神経細胞数が一桁増えたとたん、逆に足かせになって、他の方法がよくなったりする。その原因は、ほとんどがメモリの量と通信速度のせいだ。

今回は多少、速度が犠牲になっても、スケールするような方法をとるつもり。

2008年1月16日水曜日

目まぐるしい変化

一昨年にGRAPE-DRが登場して、Cellの倍の性能ということで、多いに期待した。でも、たった2年もたたない内に、GPUに追い越されそうである。そのGPUも2年後のLarrabeeの登場で、駆逐されるかもといううわさもある。

これだけ移り変わると、大規模な計算の具体的な計画というのは、2-3年の短期的にしかたてられない。5-10年などの中長期的な計画を建てると、大損こいたり、計算プラットフォームすらなくなっている可能性だってある。

そうなると、既存のコードで生き延びていこうというよりも、将来出現するアーキテクチャをある程度見越して、有効な計算アルゴリズムだけ考えておいて、出てきたらすぐコードに移せるような戦略がいいかなとちっと思う。

今はCellとかGPUいじってるけど、恐らくここで学んだことはLarrabeeで実用に結び付くと思っている。しかし、そのころになると、次のなにかがまた顔を出し始めるんだろう。

次の次は貫通電極だと思っている。その次は、もう全然違うなにか、単電子半導体か光コンピュータか。そしたら10Pflopsが手の平サイズの世界かな。20年内にくるかどうか。未来の人は、そんなもん手に入れて、なんに使っているんだろう。きっと、脳型のアプリがはやってたりするんだと思う。自分だけの個性が手に入っているのかも。

2008年1月15日火曜日

それではCellで

さてGPUはかなり堪能したので、つぎはCellを再開しようかな。完全体のセルの恐ろしさを見せてやる!

今日は、プログラムの仕様書なるものを適当に書いてみた。普段はこんなことはめったにしないのだけど。今回はダブルバッファをやる予定なので、各計算でのデータ量を詳細に把握しないとできないのだ。あと、前回計算アルゴリズムで紆余曲折して、はじめの設計の大切さを痛感したから。無駄骨にならんように。

プログラムの普遍性を高めたり、規模を大きくしようとして、結局LSの容量との格闘になるなあ。クラスタ組むならノード間の帯域との戦いっていうのもでてくる。

2008年1月12日土曜日

2枚起動&CUDA+MPI

だいたいシミュレーションはできたので、ちがうことやろうと2枚ざし同時実行を試しにやってみた。cudaのsampleにmultiGPUというわかりやすいのがあったので、利用した。助かる〜。

結果、あまり苦もなく実行できた。ただ、GPU間の相互のデータ通信はなくて、単に2つ同じプログラムを実行しているだけ。データのやりとりはちょっとすぐにはできなそうだ。

まだ余力があったのでMPI実行できないかなと試してみた。WindowsでMPI実行するのは初めてだったんだが、インストールが超ー簡単だな。Linuxは偉い苦労した気がするけど。VC特有のエラーがちょっとでたが、結構簡単に実行できた。わーい。今のところ、通信のレイテンシは500μsまでは隠蔽できる予定なので、MPIでクラスタ組めば、性能はリニアにスケールする予感。あとはクラスタ組む程、金があればなあ…。

2008年1月10日木曜日

スレッド増量中

blockあたりのwarpを増やしてみた。8つまでふやすとよいという情報を信じてやってみたら、warpを7つまで増やすと、計算が落ちる。なんでだ?
でも6つまででも早くなる。早くなったけど、それを相殺するコードのミスが他にあって、結局とんとんになった。それにしても、2000近いスレッドが並列に走って早いというのはすごいなあ。

こんだけスレッドが多いと、いままでと世界がちょっと変わってくる。メモリのデッドロックの影響なんかはもろにでてくる。スレッド間のやりとりも、典型的なツリー構造の通信とかを本気でやる必要がでてくる。並列計算の本を見直さなきゃ〜。


PCは8800GTが2枚ざしなので、2枚並列演算もやりたいな。それができたらMPIかな。そろそろ個人のお金じゃきつくなってきたなあ…。

2008年1月9日水曜日

あへあへ3

cudaでのシミュレーションで、シナプスコンダクタンスの計算がバカみたいに時間がかかってたので、やりかたをちょっと変えてみた。

一般にシナプスコンダクタンス計算の実現方法はいろいろある。いちばん早いのはキャッシュに乗るようなテーブルを利用する方法なんだが、キャッシュに乗らないと使えない。

今回はShared memoryに乗るような状況だったので、それでやってたが、それがどうやら問題だったようだ。スレッドの数がめちゃくちゃ多いのでテーブルへのアクセスの競合が起きているようで、メモリの早さがいかされていなかったようだ。

そこで、テーブルを使わず、各スレッドでα関数(指数関数を含む)でそのつどシナプスコンダクタンス計算させて、メモリの競合などは起きない状況にするとかなり早くなった。

逆に余ったテーブル用のメモリをつかって、コンダクタンス計算の方法をちょっと変えてみたら、ばかっぱや!

結果として、Cellでやったときの約5倍の速度になった。すげー。
大体8800GTのカタログスペックはCellの倍だ。倍以上はやくなったのは、そもそもアルゴリズムが変わって、効率があがっているのと、SFUがあるせいかもしれない。Cellでの指数関数の計算コストはとにかくでかかったからなあ。

最適化はまだそんなに本格的にやってないので、きっとまだ速度はあがる。昨日、気づいたのだが、パイプラインを効率的に使うにはwarp8つ分のスレッドを実行しないと行けないらしい。今はwarp2個分しか使ってない。でもwarp8つ分でsm14個をフルに使うとなると、8*32*14=3584個のスレッドを同時実行することになる。ひえ〜。でもスレッドといってもデータスレッドであって、一般的なスレッドとは違うみたいだけど。

あへあへ2

ちっと8800GTでのシミュレーションをいじくってたら、blockの同期がかなりまともな速さでできるようになった。どうも一つフラグのメモリ領域に、多数のスレッドからのアクセスが集中する状況になるようなあほコードに原因があった模様。あほあほ。アクセスがバラけるようにちこっと変えたら解決。こういうのはセオリーというか常識なんだろうか?うーむ。

blockの同期は全然いける。nvidiaさん、文句いってごめんなさい。こんなんできるということは、blockの同期用のAPIがひょっとして用意されてるのか?

ところで、シミュレーション時の浮動小数点数演算性能を軽く見積もってみた。結合はなし。指数関数をどう換算するかが難しいのだが、8倍のclock cycleがかかるので大雑把に10倍の10FLOPSとして計算した。そうすると約600GFLOPS。本当?そんな出てるの?

2008年1月7日月曜日

民主主義

NHKの民主主義というドキュメントを見た。何回かあって、どれも面白い。今日は中国の子供選挙。

誠実な女の子候補が最後に勝つのかと思っていたら、投票直前に買収をしかけた子が大差で勝った。これにはものすごいびっくりした。なにかの幻滅を一瞬感じたが、そうじゃない、これが民主主義の原理であるということを痛感した。

所詮、子供のリーダーにだれがなろうと、子供有権者の生存に直接どうこうするものじゃない。別にいいのだ。面白ければ。

これは子供だからとか、中国だからとか、そういう問題じゃない。自分に利するものに選択を行える。それが民主主義。当たり前のことだ。ただ、自分が何を利とするかが違うだけ。

民主主義って、並列処理だね。

2008年1月6日日曜日

あへあへ

あれよあれよと8800GTいろいろいじってしまった。こんなことしてる場合じゃないんですが…。

・単純な浮動小数点演算でCellの約2倍の性能がある。
超越関数専用演算器があるので、もっとあほ見たいに早くなってもおかしくないなと思っていたが、そこまではいかないよう。カタログスペックどおりの差。

・CUDAはCellに負けずに、かなり手がかかる。
GPUとGPUメモリ間の転送をしっかり手を入れてやらないとだめ。分岐が弱い。

まだろくに最適化してないけど、大変そう…。

G80って、特徴がほとんどCellと一緒。弱いところとか傾向はみんな同じ。
さて、これからどこまでやろう。あんまり報われない予感…。

2008年1月5日土曜日

実機で実行

8800GT搭載機がきた!GPGPU熱が下がり気味だったけど、せっかくなのでこれまでエミュどまりだったのを、遂に実機で実行することに!

しかし、まあこういうのは大概すんなりいかないもんだ。まず環境整備でつまづく。VS2008を実機にインストールするも、VS2005のプロジェクトがうまく実行できない。sampleもうまく実行できない。結局VS2005を入れ直す。

エミュを実行できるまで環境が整い、次に実機実行しようとすると、エミュ以外だめ!というエラーが続出。すっかり忘れてたー。

なおして、とりあえず実行してみた。できた!…みたい。まだ結果のデータを確認してないからわからんけど。

あとエミュでできなかった、block間の同期をとりあえず実行、終了はできた。えがった。


あれ、あんまはやくねえぞ…。最適化ほとんどしてないからこんなもんかな。まだCellよりおぞい。