- 1 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 14:57:11 ]
- 並み居るプロセッサより高性能なCell搭載PS3がもうすぐ発売
と言う事はCellプログラミングでスパコンが家庭に
- 381 名前:ps3cluster mailto:sage [2007/03/01(木) 02:12:20 ]
- そこの書き換えと、MPI用PPEコードをちょっとづつ勉強していこう!
あとPS3のおき場所と電源を考えねば…。安く売ってるとこも探そうっと。
- 382 名前:・∀・)っ-○◎● mailto:sage [2007/03/01(木) 02:13:56 ]
- 中古の良品が45000円切ってるよ
- 383 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 04:53:11 ]
- >>381
PPEにお仕事ができて丁度いいじゃん。普通に書こうとするとPPEに仕事させないのが速いから どうしてもPPEが遊びがちになるから。
- 384 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 05:04:37 ]
- >>381
HP公開マダァー?
- 385 名前:ps3cluster [2007/03/01(木) 23:48:22 ]
- >>382
当初に比べると安くなったなあ。あと65nm版がでることを願っているが、半年はかかるかなあ。 >>383 PPEはSPEのMFC的に通信で単独に動けるから、クラスタではうまくはまりそう。 >>381 HPないよ。
- 386 名前:ps3cluster mailto:sage [2007/03/01(木) 23:59:49 ]
- うお、あげてしまった。
計算とレイテンシについてかんがえて見た。 大雑把にみて、PPE間の通信が例えば100μsの場合、SPEでデータ転送が必要になる間隔が100μsなら、 PPEが転送してる間にSPEに計算させることで、通信のレイテンシを隠蔽できる。 ほんとは、通信が待ってからじゃないと計算できないはずだけど、ニューラルネットの場合 そこが融通がききます。
- 387 名前:ps3cluster mailto:sage [2007/03/02(金) 00:06:34 ]
- ps3一台のときに、同じレイテンシの隠蔽をSPE間の通信でやろうとしたら、
SPE間の通信速度があまりに速くて、隠蔽するまでもなく通信が終わってから計算しても 十分早いという結果になった(SPE間の通信のレイテンシは2,30ns程度)。
- 388 名前:ps3cluster mailto:sage [2007/03/02(金) 00:19:47 ]
- 現状でSPEの通信が必要になる間隔は60μsなので、ちょっと足引っ張られそう。
SPEにもっと重い計算をさせ、通信間隔が伸びるようにすれば一応、解決になる。 実際にMPIでどれだけレイテンシが発生するかまだわからないので、とにかくつくって はかってみてから、調整しよう!
- 389 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 17:59:57 ]
- ガンバレ。期待している。
- 390 名前:・∀・)っ-○◎● mailto:sage [2007/03/03(土) 19:40:42 ]
- YDL糞重いってレベルじゃねーぞwwwww
- 391 名前:・∀・)っ-○◎● mailto:sage [2007/03/03(土) 23:23:24 ]
- John the Ripperそのまんま動くね。当たり前だが。
まだPPEだけだけど。 2スレッド動かさないとピークでないっぽいので、MPI対応パッチ当ててみるか。
- 392 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 01:04:27 ]
- SPU使ってみたんだが、SIMDに向かない処理をどう高速化するかが課題だな
ビットストリームで切れ目が無いものをビット単位に処理するとか。
- 393 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 09:59:50 ]
- >SPU使ってみたんだが、SIMDに向かない処理をどう高速化するかが課題だな
んなこたない Cellに向かない処理はCellでやらなければいいだけの話 なんでもかんでもCellで出来ないかとか妄想するから ヘッポコCPUの烙印を押されてしまうんだと気がついた今日この頃
- 394 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 10:19:37 ]
- >>Cellに向かない処理はCellでやらなければいいだけの話
なんかそれも違う気がする 得意じゃないのであって、出来ないわけじゃない ペナルティがあったってやらなきゃいけない事はやらなきゃ。 (アクセラレーターがあるわけじゃあるまいし
- 395 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 11:06:51 ]
- 言い方が悪かったか。
ペナルティはあるが、複数のSPUで任せたほうが早い場合、ネックになる部分を どうするかでさらに高速になるかという話ね。 時間がかかっているところに重点的に手を入れるのは常套手段だし。 PPUでやろうと思ったが、SPUに処理を投げているだけなのに意外とあき時間が無いんだよね。 現時点ではデータ分割で100個に分割したとして、5個のSPUに20個筒一気に投げると 先に終わったSPUの遊び時間が長くて無駄。1個筒投げる方がいい。 最初に半分SPUに投げて、PPUで1個やって、残りを終わったSPUに1個筒なげるとやっても、 結果としては早くならなかった。
- 396 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 11:48:25 ]
- >>395
何か根本的にずれてるよ、 そんな歪な最適化してどうする。
- 397 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 12:32:08 ]
- >>395
> 5個のSPUに20個筒一気に投げると > 先に終わったSPUの遊び時間が長くて無駄 分割した各データの処理にかかる時間がバラバラってことか。 とりあず、その文章だけだと何が悪いのかこちらに伝わらないので、 まぁ、とりあえず同じデータに対して PPU でやったときにかかる時間と、 SPU に投げて処理させて帰ってくるまでの時間を計測して、 何がボトルネックなのかを解析した方がいいと思われ。 SPU は DMA 転送に掛かる時間と SPU 上の計算時間を別にプロファイル とるといいよ。
- 398 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 20:20:39 ]
- プロファイルは片っ端から取ってるけどね、
SPU内部に限っていえば、DMA転送やメールボックスなどといったシステム側? の処理は1%ぐらいの割合かな。SIMD化が難しいところが半分以上の時間を食っているので その辺をどうするか次第かなと。 通常のスカラー演算と条件分岐の組み合わせの多さが問題なのかなと。 分岐予測コードも入れてみたが入れたほうが遅くなった。 PPU側からはメールボックス経由でSPUをキックしているが、RunCntlチャンネル で実行自体を制御したほうがいいのか、アトミックDMAでメモリ監視がいいのか まだまだテストすることは多い。 >>395 kwsk
- 399 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:10:12 ]
- 日経エレクトロニクス 2006年12月4日号に東芝とフィックススターズの人が
Cellのプログラミングについて9ページほど書いているのは既出? SPE内部では条件分岐は算術処理に置き換えるべきなんだそうな (分岐予測が外れると18サイクルのオーバーヘッド) あとはTimingTool(プロファイル計測)を解析してパイプライン・ストールをなくしたり 2命令を同時発行する頻度が高くなるように命令を並び替えたりすること。 PPE側の処理が間に合わないのはデータをキャッシュして使い回していた (サンプルプログラムは7万ポリゴンのレイ・トレーシング)
- 400 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:55:09 ]
- timingツールで解析結果は眺めたけど、特に手を入れるところはなさそう。
この辺はアンロールしておけばコンパイラがある程度はやってくれるらしい。 算術処理で置き換えるのは分岐内が簡単な計算の場合で分岐失敗コスト以上の 処理が必要な分岐はやっぱり分岐のほうがいい。分岐の除去はGPUで経験済み。 ストールもほぼおきていないが、順次データを計算して使っていく個所では 仕方ない個所も多いかなと。 例えばビットストリームからデコードするとき最大16ビットで最大16段階の分岐は 8ビットテーブル3つで最大3回の分岐に減らしてはあるが、これを16ビットテーブル化すると 128KiB使用するのでとても作れない。 このスレのリンク先を読んで基本的な知識を身に付けてる感じです。 日経エレクトロニクスは読んでないので、ちょっと探してみます。 バックナンバーは図書館かなぁ
- 401 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 14:35:39 ]
- >このスレのリンク先を読んで基本的な知識を身に付けてる感じです。
嘘でもいいからこのスレを読んで、と言ってやれよ
- 402 名前:・∀・)っ-○◎● mailto:sage [2007/03/06(火) 00:35:22 ]
- 正直メモリ空間独立がここまで厳しいとは思わなかった。
Xbox 360で動くLinuxとかのほうが、あったら幾分か楽だろーね モニタにも困ること無いし。
- 403 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 02:30:31 ]
- 最初から躍起になってLSで納めようとしない方がいいよ。
まずはコードサイズ抑えて、データは全部DMA経由でも動きゃいいって。 最適化なんてボトルネックが分れば自然と出来るもの。
- 404 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 03:16:30 ]
- >>402
だが、このストイックなまでの縛りがいい。 趣味でいじってる分には。
- 405 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 06:40:26 ]
- >>401
ここで応用を(略 cag.csail.mit.edu/ps3/lectures.shtml とか現在見てます。
- 406 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 12:16:32 ]
- ゲーム産業開発者のためのスキルアップ講座
www3.stream.co.jp/www11/jinzai/20070301/03/index.html www3.stream.co.jp/www11/jinzai/20070301/04/index.html これの、特に後者を読むべし。チューニングには必見。
- 407 名前:・∀・)っ-○◎● mailto:sage [2007/03/06(火) 23:02:22 ]
- そろそろRSXのシェーダ使わせろと(ry
- 408 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:08:26 ]
- ここはCellプログラミングスレ
- 409 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:41:51 ]
- <backOfChirashi>
X86のプログラムをPPEに移植してみた。 入力値はバイナリデータを転送して実行…… うぁはは、エンディアンが違ってたぜ。 速度的には、PPEだけじゃ話にならないね。 </backOfChirashi>
- 410 名前:・∀・)っ-○◎● mailto:sage [2007/03/07(水) 01:04:48 ]
- PPEの性能自体はG4以下なんだよな
- 411 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:11:17 ]
- >>410
実際にゃSPEの管理までやっとるからな 働きもんだz
- 412 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:12:25 ]
- >>406
これ聞いていると SPURS を公開してほしくなるな。 libspe で書いてると、他の SPU モジュールと協調できないのが悲しい。
- 413 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:47:58 ]
- 公演聞いてて思ったけど、LameとかH.264はSPURSで実装すべきだよな。
- 414 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 05:51:42 ]
- IBMのひとは声に聞き覚えがあるな。Sonyの人のはSPURSの説明だし、
IBMのブレードサーバやボード、東芝のリファレンスキット、 PS3開発機とPS3LinuxでSPE管理ライブラリはそれぞれ違うだろうし、なんとも。 それでも、説明を見ていて、処理割り振りの新しい方法を考えついたので試してみるかな。
- 415 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 09:57:58 ]
- >>409
あれ? エンディアンは両方対応じゃなかったっけ? 後藤のクタタンとのインタビューでそんなの見た記憶があるんだけど。
- 416 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 11:14:01 ]
- 今CBEハンドブック見たけどBigEndianだと書いてあった。
ついでにビットは上から数えると書いてあったのも見つけた。
- 417 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 12:22:09 ]
- そうか、うろ覚えで発言するものじゃないな。
それだけだと何だから、ググってみたらこんなの出てきた。 ttp://pc.watch.impress.co.jp/docs/2005/0615/kaigai190.htm
- 418 名前:416 mailto:sage [2007/03/07(水) 12:48:12 ]
- お、あったあった。こいつのことだな。
>Load Double Word Byte Reverse Indexed X-form.
- 419 名前:デフォルトの名無しさん [2007/03/08(木) 06:46:48 ]
- >>406
早起きしたので見てみた。 要するにSPURS使わない開発は無いな。
- 420 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 07:32:14 ]
- エンディアン変換ってAltiVecのvec_permとかじゃだめなのかな?
SPUにも同じ命令あるし。
- 421 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 11:15:34 ]
- SPURS公開されないのかなぁ?
あの公演聞くかぎりCellプログラミングでは必須のようだけど。
- 422 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 21:09:04 ]
- 今日読んでた資料によると32bitの積はコストが高いらしい。
Cで書くとかってに格上げされて32bitの積になるんだろうか?
|

|