[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 18:39 / Filesize : 102 KB / Number-of Response : 423
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ユー!Cellプログラミングしちゃいなよ



1 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 14:57:11 ]
並み居るプロセッサより高性能なCell搭載PS3がもうすぐ発売

と言う事はCellプログラミングでスパコンが家庭に

76 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 12:35:11 ]
>>71
SPEのパイプラインの効率を改善、SIMD化、ループアンローリング
DMAのレイテンシ隠蔽(ダブルバッファなど)、マルチコア化など、
一通り考えてみた?
確か、東芝がウェブ上で出した記事の中に、最適化手順と、
それがどれ位の効率があるかを書いてたんだけど、どこだったかな。

日経エレクトロニクス2006年12月4日号にも最適化の記事が載ってるみたいだけど。
techon.nikkeibp.co.jp/article/HONSHI/20061129/124676/

77 名前:デフォルトの名無しさん [2006/12/13(水) 21:28:29 ]
>76
情報ありがとう。
各種最適化は、できる範囲これからやってみようかとは思っているんだけど、
今回は、もっとも単純な状態で、ひとつのSPEのCPUとしての性能はどんなもんか
というのをちょっとみてみたら、あれ?こんなもんかという結果だったということ。

だからSIMD化もしてないし、DMAもほとんどつかわず、ただ浮動小数点演算させただけ。
SPE単体の持つトランジスタ数は、Pen3ぐらいしかないというのをどっかで聞いて、
そんなんでも高性能なの?って疑問がすこしあったからっていうのと、あとただ単純に、
最適化をいきなりするのがしんどいので、なんもしてないだけです。

78 名前:77 [2006/12/13(水) 21:39:31 ]
ちなみにこれから、型をfloadからdoubleに変えたらどれだけ早さは変わるのか
とか、簡単に試せるのでやってみようと思ってます。
たしかピーク性能10倍くらい下がるといわれていると思ったけど、それはdoubleだと
SIMDのベクトルの要素数が半減して、同時実行できる命令数が半減するっていうのが、
おおきいとすると、今はSIMD使ってないのでそんなに性能落ちないのかな?と思って
ます。

あとSIMD化もしようと思ってるんだけど、SIMDの算術命令に指数関数とか対数関数の
命令ってないのかなあ?誰か知ってたら教えてください。

79 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 23:20:06 ]
>>72
俗に言うAltiVecってやつよ。
GCCでコンパイルできるよ。

80 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 01:52:49 ]
>>79
AltiVecじゃなくてspuの組み込み関数じゃね?

81 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 10:19:11 ]
演算基そのものが別物。
驚くべきことに倍精度ユニットは単精度より小さい。
パイプライン化されてないとか変換コストがかかるとか色々言われてるが、
ベクトル性能のスループットで単精度の1/10程度ならスカラでも1/5程度になることは覚悟した方がいいかも。
レイテンシも大きいからそのへんが響いてるかも。

>>74-75
あんまり扱いにくいもの作ってもPS3が自滅するだけなんだけどな。
国内サードはWiiやDSに逃げてるし。

82 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 10:36:25 ]
でも新しいルールが取り入れられたCでプログラム組むのは良い頭の体操になりそう


83 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 13:46:17 ]
vectorキーワードはもともとCodeWarriorがAltiVecのためにサポートしたもので
以後PPC系のSIMD拡張で標準的に使われるようになった。
あとはただのCPU独自の命令にほぼ一対一で対応する組み込み関数。
Intelだと__m128とかのSIMDレジスタ型があるけどあれと同じこと。

SPEにはスカラなユニットもレジスタもないから、スカラな演算はベクトルの最初の要素だけを使ったコードになる。
コンパイラ次第ではループ内で配列にアクセスするような演算や分岐を並列実行できるかもしれない。
まあ、極力は組み込み関数でベクトル化したほうがいい。
STLのvalarrayとかでラッパー作ってしまえばあとが楽かも。
つーか、ベクトル演算を駆使して分岐先のスカラ演算を両方同時に実行するとかはMMX/SSEでも使える
テクニックではあるが、分岐予測にまかせたほうが性能が出るから推奨してないだけ。
逆に分岐予測すらない多段パイプラインだからそれに頼らざるを得ないんだSPEは。



84 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:06:16 ]
>>77-78
cell.scei.co.jp/index_j.html
cell.fixstars.com/pukiwiki/index.php
blog.cell.sijam.com/

今のところ、この三つは必見。

Cellは最適化ありきのCPUだな。
SPEは自分でタイミングをほぼ把握できるようにするために、
仮想メモリや非DMA型共有メモリ・キャッシュを排除したコアなので、
最適化をする事が前提条件としてある。



85 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 22:04:46 ]
ハッカー様
あなただけが便りです
これからの活躍に期待しています
頑張ってください


86 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/15(金) 22:24:26 ]
>>85
何をどうやって欲しいんだよwwwwww
据え置きの需要自体がDSに大幅に食われたと思う。
PS3 Linuxでどうこうやってもさ、それに食らいつくのは同じようなマニアなわけで。
ゲーム機としては終わってると思ってる。

87 名前:デフォルトの名無しさん [2006/12/15(金) 23:40:27 ]
ちょっとCellプログミングしてみた感じ、普通のCで書いたソースをCell用に変えるのって、
そんなに大変ではないような気がする。OpenMPが並列計算の指示を既存のCのソースに書き加え
る程度でできるように、「ここはSPEにやらせろ」とかもっと簡単にかけるシステムができそう。

88 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:42:10 ]
NvidiaがGPUを開放してくれれば、まだ面白いことできそうなんだけどね。


89 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:43:13 ]
SPEはおもに何に使われることになるんですか?

90 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:44:31 ]
何も読まずにレスするが、CellってAltiVec使えるんだよな?

91 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/15(金) 23:59:04 ]
PPE自体はそうだが、SPEをフルに動かしたらPPEでSIMD演算なんてやってる余裕ないと思うぞ

92 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:07:41 ]
>>88
今頃そんなこといってるようじゃ、やる気もなしに
適当に書き込んでるのがバレますよ。

93 名前:77 [2006/12/16(土) 12:13:41 ]
浮動小数点演算の計算時間を計測して、最適化一切なしで、SPE一基 ws Pen4 3.4Gをやってみました。
ともにGCC。すると、Pen4が25倍早い…。なんじゃあこりゃ!

これはいくらなんでもおかしいと思いつつ、最適化オプションを-O3つけてみたところ、CellもPen4も約1.5倍
くらい早くなりました。

それにしてもSPEはこれじゃあ遅すぎるなあと思いながら、
「Cellでがんばってみた」をのぞいていたら、expはexpfにしないと
float型として計算されないというのを目撃。

さっそくexpfに変更するとずいぶん早くなって、Pen4との差は約9倍にまで縮まった。

SIMDも一部だけ試してみたところ、4倍相当はやくなったので、全体にSIMDを使えば、
Pen4 の半分くらいまでの早さに迫れそうな予感。

「Cellでがん〜」も最終的にSPE一基でアスロン2/3くらいの早さになっている
ので、こんなもんかもしれない。

しっかし、Pen4にインテルコンパイラ使ったら、ぐっと差が広がりそう…。むなしい…。

94 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 12:58:37 ]
しかしまあ、それが8個搭載されてるんだから、理論上データが増えれば増えるほどPen4を凌ぐことになるですか?



95 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/16(土) 13:43:33 ]
完全にSIMD化・パラレル化出来る処理で200GFlopsとかさ
どんだけ特殊環境ですか

SPU組み込み関数とか使って明示的にベクトル化すれば多少性能良くなるかも。
まあPen4でも同じなんだけど。

96 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 14:50:27 ]
たしかねー、SPUは分岐予測をハードで持ってないから、
簡単にクリティカルなミスをおかすんじゃないかなー。
癖をつかんでやっとこLV1ってとこかも。。。

97 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 15:26:01 ]
なんでPen4でプログラムしないの?

98 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 17:36:47 ]
スレがそうだから?

っていうかそれってリンドバーグの事?

99 名前:77 [2006/12/17(日) 03:28:25 ]
>97
もうある程度やって、あまりみこみがないならCellプログラミングはやめ
ようと思っているところ。プレステ3せっかく買ったのにもったいねー。

100 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 04:03:14 ]
東芝が募集してるプログラムに応募でもしてみたら?
同等性能をPen4で出せたら、Cellイラネに同意しよう。

101 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 06:09:54 ]
>>99
もし出せるようなら、ためしに組んでみた奴うp希望。

102 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/17(日) 13:23:34 ]
Pen4なら厳しいがCore 2 Duoなら余裕で勝てそうな勢いではあるな。
ゲームハードなんて5〜6年はスペック固定だしな。


103 名前:デフォルトの名無しさん [2006/12/17(日) 14:56:19 ]
cell SDK2.0 kitakita

104 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 22:05:14 ]
ゲームハードなんてずっとスペック固定だよ



105 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 11:15:50 ]
修理星のやつはできればコテつけれ。
誰が書き込んでるのか特徴があるので
つけなくてもわからなくは無いけど万度草。


106 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 20:38:17 ]
>>77の人は諦めた?
今Linux板の方に、マンデルブロ集合書いてみたって人がいるよ。

67 :login:Penguin:2006/12/18(月) 13:54:57 ID:mz3eZPDt
ホビーで軽くC#で書いたのとSPEを使って軽く本気で書いたのとでは雲泥の差があるね。。。
マンデルブロ集合(解像度 = 2048x2048, 繰り返し = 1024回, 途中での発散判定無し) を描くプログラムを
1. C# / Windows (デュアルコア用にSystem.Threading使用)
2. C++ / PS3 (SPE6個を使って軽く最適化)
で、HDDに書き出す/ビットマップに変換する時間抜きで判定してみた。

1. 02:02:08.36
2. 00:00:02.11

…えーと、クロック(PC環境 == Pentium Dの2.66GHzのタイプ)を合わせても2887倍ですか…
なんかSSE2辺りで本気で比較したくなってきた。

107 名前:77 mailto:sage [2006/12/19(火) 06:34:14 ]
まだあきらめてませんぞw
その後Cellの方のプログラムをSIMD化してみたんだけど、すんげはやくなった。
Pen4が4秒かかる計算がCellでは20秒。
ただしCellはSIMD化してるので、演算量は4倍。だからspe一基でPen4にほぼ匹敵。

普通の算術演算子でコードするより、SIMD用の関数でコードするほうが全然早いよう。
ベクトル演算だから4倍早いっていう意味じゃなくて。
a+bよりspu_add(a,b)のほうが断然レイテンシが小さいようだということ。
でもちゃんとクロック単位で計測とかしたわけじゃないんでわからんが。


108 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 13:04:23 ]
>>107
アセンブラに抵抗が無いなら、gccの吐くコードの差を見てみれば?
a+bにかなりの無駄なコードが混入されてるのかも。

109 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 21:10:55 ]
>>106
間違えなくトップガンです。
世界最初のトップガンとして認定しました。
おめでとうございます

110 名前:デフォルトの名無しさん [2006/12/19(火) 21:29:38 ]
>>109
そのトップガン君は
【SPE】PS3 Linux Part 4【YDL】 スレにいるよ。

111 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 21:46:03 ]
>>109
ご案内
pc8.2ch.net/test/read.cgi/linux/1165413083/

112 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/19(火) 23:03:33 ]
相手がC#だからだと思うがwwwwwwwwww


113 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:05:20 ]
>>112
C++でしかも、SSE2アセンブリで書き直したバージョンでもこうらしいよ。

78 :67:2006/12/19(火) 08:34:31 ID:7kKm0jbR
(>>76 続き)
PC : Pentium D 930 (2.66GHz) / 2GB Memory

このとき、結果がこんな感じだった。
PS3 : 1.87sec
PC : 57.32sec

比率(速度比のみ) = 30.65 : 1
比率(同クロック) = 25.48 : 1

ってとこか。結構速いねぇ。
# つーかC#が遅すぎる訳だが。

114 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:10:51 ]
アセンブラで手書きが偉いと思う。先駆者の資格があるよ。

pc8.2ch.net/test/read.cgi/linux/1165413083/72
72 名前:login:Penguin[] 投稿日:2006/12/19(火) 01:09:42 ID:MFKqYgcJ
67氏には是非頑張ってもらいたい。
俺はSSEのアセンブラなんか書く気にならねーよ。なんだかんだいって
手を動かすヤツは偉い。と思う。
まあPS3なんて当分買えんけど。


同意。同意。



115 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/19(火) 23:22:37 ]
>>113
ソース読むまでは何とも言えんな。。。
NetBurstも結構コツが要るし。
まあPenDじゃCellの浮動小数のスループットには及ばないかもしれないが。

116 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:43:29 ]
LSの空きメモリってどこで調べるの?
もしくはロードしたプログラムのサイズが得られればおおよその空きが分るんだけど

117 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 00:42:36 ]
プログラムコードのサイズなんて
コンパイル時点でわかるだろ

しかも1命令4バイト固定だし



118 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 00:46:43 ]
オブジェクトのサイズで見積もってるけどね。
実行バイナリは300KBもある罠。

119 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:19:29 ]
heapサイズ取得とかは?

120 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:19:29 ]
Cellスレとは思えないぐらいレベルが高い
さすがトップガンの本物の実力を見たぜ

121 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:31:24 ]
>62
規定課題には学生しか参加できないんだな。
そんな制限要らないと思うがなー

122 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 22:44:58 ]
SPEって7〜8個あるのに6つしか使えないんだな


123 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:45:18 ]
>>122
それPS3の基本。

124 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 22:49:13 ]
SPEは8個搭載します

実際に動くのは7個だけです

使えるのは6個だけです

('A`)


ドラクエ発表以降店頭在庫がちらほらとか
ところで、中国が買いあさってるって、別の意味でヤバくね?



125 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:52:55 ]
とりあえずPS3はダウンロード位別スレッドでやるべきだと思うんだよ

126 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 22:53:16 ]
もう転売には適さないPS3だからNDS辺りに移動するんじゃね?
つーかCellの話に絞ってくれ。買い占め論はゲハでやれ。

127 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 23:05:25 ]
ヒント:北朝鮮はアレはもう自滅を待つだけだが中共はヤバイよ


つーか、個人で使えるCellマシンが実質PS3一択だし。
そりゃ100万とか200万とかかければもっとメモリとか載るだろうけど。

128 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 23:07:56 ]
>>127
キミが言いたいことは、たぶんキミより分かってるが
ゲハか政治でやってきてくれ。
中共ネタでなく、技術ネタのスレだ。
Cellの技術論やプログラミングの話以外は見たくない。

129 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 23:16:54 ]
LSからのロードがレイテンシ6、ビット論理演算ですら2なんだけど、コンパイラの最適化MAXでどんくらいアンロールするもんなの?

130 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 23:33:55 ]
サンプルコードくれれば試す

131 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 23:39:37 ]
とりあえずこのへんヨロ
www.intel.co.jp/jp/developer/technology/magazine/communications/slicing-by-8-0306.htm

とりあえず俺は今からVirtual PC上にFedora入れる
(Windows版シミュレータ作れよなー)

132 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 00:20:13 ]
エンディアンが違うからか結果が異なるけどいいか?

133 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/21(木) 01:04:46 ]
エンディアンの違いが出るような処理だったっけ?
むしろIntelインラインアセンブラ要求するところがあるのが気になったが

134 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 01:12:20 ]
アセンブリは時間計測とかだから即移植出来た。
それより、SPE向けにコンパイルしたら
.bss exceeds local store range
とかいいやがんの。んなでかくねーって。



135 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 02:20:09 ]
>>124
別におかしくは無い。SPE7のうち1つはOSが使う物。
単にユーザーからは直接触れないってだけ。

136 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 18:49:48 ]
逆に言うとOSは1つしか使えないの?
それともマスターがひとつ?

137 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 19:16:02 ]
ハイパーバイザだよ。
7つのx86があって1つはVMWareが使ってデバイスをエミュレートして
中の人に6つのx86をそのまま見せてる、みたいなイメージ。

138 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 21:47:20 ]
【SPE】PS3 Linux Part 4【YDL】
120 :67:2006/12/21(木) 20:37:59 ID:IJtDThab
ん〜変化が無いのは寂しいねぇ。
というわけで燃料投下。

中身はSPEプログラミングをちょっと楽にする
(適当に作った)ライブラリ/フレームワークです。
サンプル1個しかないけど…
n-exp.com/dl/libspem-0.0.1.tar.gz

この程度のライブラリでも面倒なモノはかなり吸収できてると思うんだ。

139 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 17:13:35 ]
宣伝乙
問題はせっかく苦労して作っても
誰も使わない、使えない、評価できない、事だ
まさに豚に真珠、ぬかに釘、PGにCell、だ

140 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 17:37:36 ]
俺は評価したぞ。
自分の持っている物より目新しいものは無かったからスルーしたが、今後に期待はしてる。

141 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 17:40:11 ]
新しいことをやろうとしてる人を>>139みたいに言ってるのを見ると、
プログラムが好きな人間だったら貶めないと思うけどな。
未踏の地は踏みたくなるのが人間らしいと思う。

142 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 18:47:21 ]
>>139
2chの二大嫌われ派閥の一つゲハ厨乙。

143 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:00:46 ]
全部C++でラップしてしまってもいいんじゃまいかと思った。

144 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:17:55 ]
>>139
自体煽りだからな。そう言う目で見れば脳内フィルター張れんだけど。



145 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:43:56 ]
123 :67 :2006/12/22(金) 05:32:29 ID:C7rpnh+2
ベンチマークの方だけど、かなり間違いをやってたみたいで、現在のところ

最適化しなおしたSSE2 : 4.36秒
CELL版(ジョブスケジューリングあり) : 1.19秒

クロック当たり = 1 : 3.046

って感じ。分岐が思ったよりも負荷になってる感じかも。

146 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 02:19:53 ]
オレ的には東芝のコンテストが気になり。

147 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 02:35:14 ]
>>142
もう1つはなんだろ。
最悪板の1つがゲハなのは確実だけど。

148 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 04:09:54 ]
ゲハとVIPと東亜&ハングル

他の板に街宣するからな。

149 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 19:20:32 ]
Cellプログラミングのレシピ - PS3 Linux Information Site
cell.fixstars.com/ps3linux/index.php/Cell%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E3%83%AC%E3%82%B7%E3%83%94

150 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 21:48:29 ]
手元に Cell マシンが無いので試してないのだけど、
-fprofile-arcsや-fbranch-probabilitiesって実装されてる?
あるなら、プロファイルによるブランチヒントの挿入とかやってくれるかも。
動的な分岐予測を持ってないPPE/SPEにとってはありがたいと思うのだが。

151 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 00:11:13 ]
LLVMとか

152 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 02:00:07 ]
gcc3系列のプロファイルってRTLベースだからあんまりたいしたことやってない

153 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 10:04:13 ]
それにヒントの挿入はやってない

154 名前:デフォルトの名無しさん [2006/12/28(木) 10:53:32 ]
PPEだけだと遅いってよく言われてるけど、実際自分で組んでみると速いな。
メモリ帯域が速いからかな?
ネットの情報を鵜呑みにせず自分の目で確かめた方がいいとおもた。
悪意のあるやつは「本当っぽいウソ」を書くからなあ。
なぜかそういう奴ほど検索で上位に来たりするんだよね。組織的にやってんのかな。



155 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 15:14:27 ]
遅いと聞いてたから速いと思うんだろう。遅いと言ってる連中も同様に期待してたからだろう。
EE の時だって初めのうちは遅いと言われてた。
そのうちみんなコツをつかむさ。

156 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:46:06 ]
確かに、速いとか遅いとか、具体的な数字を出さないのはイカンよね。

157 名前:130 mailto:sage [2006/12/30(土) 15:13:49 ]
>>131
set_cache_stateを省略したらリンク出来た。
ただし>>132で言った通りエラーが起きている。

PPE:
testing the Sarwate algorithm..............................passed
testing the slicing by 8 over 64 bit algorithm.............error
passed
Slicing by 8 Algorithm (cycles/byte), 5.976562
CRC calculation error
Sarwate Algorithm: (cycles/byte), 18.777344

SPE:
testing the Sarwate algorithm..............................passed
testing the slicing by 8 over 64 bit algorithm.............error
passed
Slicing by 8 Algorithm (cycles/byte), 5.996093
CRC calculation error
Sarwate Algorithm: (cycles/byte), 22.332029

158 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 02:24:41 ]
www.tgdaily.com/2007/01/04/isscc_2007_preview/
だってさ。
どう入手したものか不明だけど、パフォーマンスは気になるなぁ。

159 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 19:10:39 ]
>461 名無しさん必死だな sage New! 2007/01/07(日) 14:50:51 ID:oNdJEXRL
>SPEで、あるタスクを実行しながらDMAで次に実行するタスクのプログラムとデータを読み込み、遅延なくそれを繰り返すっていうことできるのかな?

こういう書き込みがあったんだが、案外簡単に作れそうな気がする。

1: SPEに流し込む為のバイナリ生成方法を確立
2: タスクを読み込むDMA部分を書いてSPEバイナリに入れる

処理が有限の小さなタスクを順次DMAで読み込んで実行する事が出来るな。
ちょっと面白い事が出来るかも。

問題は1だが、elfspeか何かのソースを読めばいけるのかね。

160 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 19:14:10 ]
なにこの復活の呪文みたいな意味不明な専門用語の羅列

161 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 19:15:11 ]
メモリ配分も解決しないといけないか。
現在のタスクが処理中のメモリと、DMAで読み込む次のタスクのメモリをどうするか。
メモリを半分に分割して、バイナリはPICにすべきか。

162 名前:6(ry mailto:sage [2007/01/07(日) 19:43:59 ]
>>159
固定アドレス用に作ってstrip したモノが一番手っ取り早いと思う。
可変にするとなると結構面倒。

163 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 20:09:13 ]
固定アドレスにしてしまうと、現タスク処理中に、
次のタスクを読み込むのに支障がでないかい?

164 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 20:16:25 ]
>>163
elfspeは参考にならなかったハズ…だし、
他のプログラムの実行中にELFをロードするメソッドもなかったはずだし、
そういう支障を来たさないためには、
・ ロードするアドレスに応じて(2つ以上の)バイナリを作っておく
・ 可変アドレスのためにダイナミックに(しかも手動で)ロードする (カーネルがやってるのと同じこと)
のいずれかが必要。



165 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 23:23:35 ]
>>164
プログラムを差し替えたいなら SPU Overlay を使えば?


166 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/07(日) 23:27:58 ]
John the Ripperを移植しようかと思ってる俺

167 名前:デフォルトの名無しさん mailto:sage [2007/01/07(日) 23:35:35 ]
PS3買ったの?シミュ?

168 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/07(日) 23:39:22 ]
シミュ。

ってよりLinux嫌いなので
Excelでレイテンシ計算しながらコード書いてる。

そのLinux環境すらVPC

169 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 00:11:22 ]
>>168
odd/even のパイプライン管理と 128個のレジスタ管理に Excel は必要だよな。
レジスタは結局いくつあっても足りねえ。

170 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/08(月) 00:19:24 ]
60GBが最安55000円くらいまで来たのでもうじき買い頃
てかHDDなしで\39,800希望
ノート用のHDDちょうど余ってるから

171 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 16:58:19 ]
【CES】Cell家電なら著作権保護も万全です---IBM社が実演 - 組み込み開発 - Tech-On!
techon.nikkeibp.co.jp/article/NEWS/20070111/126317/

そういや、isolatedモードってPS3-Linuxとかでは使えないのかな。
仕様公開する気は無し?

172 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 12:20:27 ]
RapidMind and Terra Soft Partner to Unleash PlayStation(R)3 for Linux Developers
home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&newsId=20070111005836&newsLang=en


173 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:32:04 ]
よし!一からDMAの勉強をするぞ!

174 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:32:56 ]
LSとLSのDMAをやるぞ!



175 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:34:55 ]
kfs3.ncsa.uiuc.edu/projects/cellutils/eib_bandwidth/
とりあえずこれを参考にしよう!

176 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:40:30 ]
www.power.org/resources/devcorner/cellcorner/cellworkshop0606/Day1_09-1_CourseCode_L3T2H1-56_DevelopingCodeForCell-DMA.pdf
これも参考になりそうだ!

177 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:47:13 ]
ふむふむ、SPEのLSのアドレスは32bitの実行アドレスとしてあらわされるんだな!
実行アドレス?まあいいか。

178 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:49:42 ]
他のSPEのLSにDMAするには、その32bitの実行アドレスのLSへのポインタがいるのだな!

179 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:50:49 ]
そうか、だからDMAの前にmailで通信するのだな。

180 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 03:03:48 ]
spu_writechは、SPU チャネルにデータを書き込む関数か。
MFC_WrTagMaskっていうチャネルがあるのかな?そうっぽいずら。

181 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 03:13:05 ]
spu_read_in_mboxっていうのは、着てるメールを受け取るのね。眠い。また明日。

182 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:13:01 ]
今日はちょっとDMAから離れて、条件分岐をif文無しでやる方法を学んだ。

183 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 23:25:26 ]
www.power.org/resources/devcorner/cellcorner/cellworkshop0606/Day1_11_CourseCode_L3T2H1-58_CellProgrammingTipsTechniques.pdf
19ページ
分岐後の両方の計算をしておいて、分岐をなくすというやつ。
これってパイプラインの深いx86のcpuでも効果ありそうな気がするけど
どうなんだろうか。


184 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 01:08:26 ]
x86でも効果あるし、実際使われてるよ。リンク先読んでないけど。

100を使うか200を使うかみたいのはコンパイラが値の差分でやるし、
aかbかみたいのもコンパイラオプションで強制すればcmovを使う。

でも効果があるのは予測出来なくてかつ超単純な演算に限られるから、
コンパイラが自動で行う事はあまり出来ない。

予測出来る場合は予測分岐でペナルティを無くせるし、
式が長いと両方計算するのは無駄。

ってことで、そこまで追いつめられる程の技量のあるプログラマは
当然各自意識してプログラミングする事になる。

ただ実際にはそこを考える前にアルゴリズムを見直す方が
何倍も何十倍も効果がある。



185 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 02:53:48 ]
>184
すごく詳しく教えてくれてありがとう!

最後の部分だけど確かに条件分岐を減らしてみても、今の自分がやってる計算では
速度にほとんど影響なかった。普通にif文使わないのが面白かったのでやってみたけど
こだわって書いた割にはあまり甲斐がなかったなあ。

だから本当に速度出そうと思ったらプロファイルをやることが必要だなあと実感。
プロファイルの仕方もぼちぼちやっていこう!

186 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 04:11:15 ]
条件分岐を減らすためにややこしくなったり、
プログラムサイズが増えて、キャッシュを圧迫なんて事もあるしな。

もしチューニングにこだわったプログラムを書きたくなったら、
Grate Code Vol.2を読むべし。まぁ>>184の言う通り、
アルゴリズムを見直したりするのが先だろうけど。

187 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 11:33:14 ]
1. アルゴリズム&データ構造 ← データ構造を忘れない
2. 急所を探してそこだけチューニング
2.1 インラインとかマクロとか
2.2 intrinsicを利用
2.2 アセンブラを使う
キャッシュ&パイプラインを意識する&レジスタをうまく使う
間違ってもプログラム全体をチューニングしたりしない様に

188 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 16:00:10 ]
うおー、みんなありがとう。このスレはなんかいい人ばっかだなあ。
チューニングとかって、具体的にどうやればいいかってcellで初体験
だから、わからないことが多くて、でも面白いね。

例えばパイプラインを意識したチューニングとか具体的にどうすれば
いいのかまだわかってないんだよね。speはアウトオブオーダーがない
から、それを意識しろとかね。とりあえず、本は入手してみるよ!


189 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/23(火) 23:02:51 ]
IA-32のMMXやSSEでもマスク生成命令あるけど、プレディケーションのためじゃない。
なぜなら普通に分岐予測ハードに頼った方がよっぽど効率がいいから。



190 名前:sage [2007/01/24(水) 10:25:56 ]
SPEとSPEとの間でDMAってできる?

191 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 18:42:50 ]
自SPEと他SPEならできる。

まだ試してないから嘘言ってたらすまん。

192 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 22:33:22 ]
SPE間の転送速度を実測するコードとかが公開されてます。
kfs3.ncsa.uiuc.edu/projects/cellutils/eib_bandwidth/

やっぱcellの強みのひとつは、このリングバスの速い転送速度だと思うので
LS間の転送を習得したいのです!

193 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 22:49:31 ]
ちょっとずつだけど勉強してくぞ!
spu_read_in_mbox
とにかく来たメールを読み込むのね。


194 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 23:05:24 ]
spu_mfcdma32
spu_mfcstat

たいていこの二つは組でつかわれているんだよなあ。spu_mfcstatは転送を
待つか待たないかってことかな。このブロックのタイプをどう選ぶかが
ものによって重要な予感…。





195 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 23:08:24 ]
spu_mfcdma32
spu_mfcstat

たいていこの二つは組でつかわれているんだよなあ。spu_mfcstatは転送を
待つか待たないかってことかな。このブロックのタイプをどう選ぶかが
ものによって重要な予感…。



196 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:07:18 ]
kfs3.ncsa.uiuc.edu/projects/cellutils/eib_bandwidth/

適当に眺めていたが、なかなか簡単にはわかんね。

PPEのプログラムから、順を追ってかないとだめそうだ。

ほんちゃんの帯域測定するためのDMAの前にいくつかDMAをやってて、
わかりにくい。

今日わかったこと
転送前に転送のためのいくつかの情報をmail or DMAで転送。
その後に本格的にDMA。


197 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 09:49:39 ]
spe_get_ls でLSのアドレスを取得できるみたいだね。

198 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 16:09:41 ]
>197
情報ありがとう!その関数で検索かけいいブログ見つけました。
blogs.yahoo.co.jp/six_small_penguins/3017838.html

あとspe_get_lsはSPE run time libraryで解説が載ってるのですな。
www-306.ibm.com/chips/techlib/techlib.nsf/techdocs/771EC60D862C5857872571A8006A206B/$file/libspe_v1.2.pdf

sonyのC/C++拡張のpdfしかみてなかったんで、こっちに気づけてよかった。

199 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 20:07:42 ]
196と198の2つのSPEーSPE間のDMA転送をみて、ようやくわかってきた。

198のほうは、PPEとSPEがメール通知をしながら転送に必要な情報を取得しつつ、
SPE間のDMA転送をしている。

196のほうは、PPEであらかじめDMAに必要な情報を取得してしまって、それを
各SPEに先に送って、後はSPEにやらせるという感じかな(?)。

一回プログラムが始まったら、SPEで勝手にやってもらうというのが自分の
理想なので、196のほうを本格的にみていこうかな。ちょっとこっちは長いんだけどね。


200 名前:デフォルトの名無しさん [2007/01/31(水) 04:53:02 ]
ソニーがPS3のコストダウンに着手,「65nm世代の製造技術でCellの量産を開始した」
techon.nikkeibp.co.jp/article/NEWS/20070130/127140/

201 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 15:23:39 ]
1台辺り3万円以上の赤字って言われてるからコスト削っても値下げはないな。

202 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/02(金) 22:22:17 ]
店頭レベルでなら現状4万切るところも出てるが

203 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:14:23 ]
めも:うんどーずのeclipse+CDTでPS3に接続
 ビルド:sambaでマウント。ssh/rshでホストベース認証(ssh-agentとかでも可?)、ビルドのコマンドにssh/rsh
 デバッグ:新し目のgdbのソース(cygwinのパッケージのはだめ)をビルド、--target=powerpc64-ps3-linuxとか。ホストでgdbserver


204 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 04:42:06 ]
LS間のdmaのレイテンシは、約100ns。core 2 duoのコア間はL2キャッシュ
介するならその10分の1…。
LS間のdmaでは、データは一回メインメモリにマップされて、それからdmaされるようだ。
なんで直でLS間で通信できないんだろうか。せっかくリングバスでつながっているのに。
たぶんメールのやりとりはできるんけど。

LS間の直の転送って自分が知らないだけでできるんだろうか?



205 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 04:53:08 ]
204の疑問から、SPE間のデータ転送は、PPEを介して(結局メインメモリを介して)
やってもかわんないなあと今思っとります。データの転送量でいえばむしろへるし。

というのは、全SPE(6個)に全SPEと通信させたとして、6×6=36の通信が発生するのに対して、
全SPE→PPE→全SPEなら6(全SPE→PPE)+6(全SPE→PPE)=12の通信ですむから。

うーん、やっぱマルチコアは通信のことを考えるのがやっかいだ〜。


206 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 11:54:37 ]
なんのこっちゃ?

207 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 14:03:32 ]
>>205
Broadcastやりたいならpoint-to-pointは検討する迄もないだろ

208 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 14:15:55 ]
>>204
LS間のDMAは、直に行っているぞ。
それから、PPE<->SPE より SPE<->SPEの方が高速。
SPE<->SPEは片方向の場合、理論値25.6GB/sに近い速度がでる。


209 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 17:14:49 ]
>207
そうなんだけど、main memory<->lsのレイテンシよりls<->lsのほうが断然早い
と思い込んでたからそれに期待したのです。もし転送データ量自体は大して多くないなら、
多少転送量の無駄使いになっても、結局早く転送できるのでいいかと思ってたということです。

>208
いままでいくつか資料見てきたんですけど、ls-lsのDMAはメインメモリにマップされて、
転送というのしかみたことがないのです。以下の11ページなんかがその例。

www.internetconference.org/ic2006/PDF/invited-talk/play-with-the-cell.pdf

実際のls<->lsのdmaのレイテンシは、main memory<->lsレイテンシと同じオーダーなので
そういうことだと思っています。以下でそれぞれのレイテンシが出てたはずです。

hpc.pnl.gov/people/fabrizio/papers/ieeemicro-cell.pdf

たしかにls<->lsのほうがほぼLSの帯域一杯使えるという点でははやいんですけど、
それほど多くないデータをちょくちょくやりとりしたいというときには、最低限通信にか
かるかかるレイテンシのほうが重要になってくると思うのです。

そのレイテンシにしても、ls<->lsのほうが、main memory<->lsよりも2倍くらい早いので、
いいんですけど、10−50倍並みの早いのを期待してたんで、ちょっと残念という感じです。


210 名前:208, 209 mailto:sage [2007/02/04(日) 17:43:29 ]
実はにゅーらるねっとをCellでやろうと思ってます。
ちょっと特殊な用途を勝手に想定していたんで皆さん混乱させたかも。
ごめんなさい。

以下興味のあるひとは読んでみて下さい。

にゅーらるねっとはユニットが連絡しあうことで情報処理を行います。
Cellでやる場合、このユニットをSPEに振り分けて計算させるのがいいと思います。
ユニット同士の連絡のデータ量というのは、画像とか音楽のエンコードに比べると
、全然少ないと思うんですけど、連絡は常にしないといけないのです。

そうすると、リングバスの広い帯域で大容量データ転送というより、SPE間で
レイテンシの少ないこまごました通信をしたいということになるわけです。



211 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 20:26:43 ]
ニューロン6個ってことは無いだろうから
ユニット一個に数百個のニューロンが含まれるとすると
256KBのLSではかなり辛くない?
それはさておき
一塊を複数のSPEで処理するのは(完全結合だと)通信が多過ぎて無理っぽい
もし多層モデルなら各層をSPEに割り当ててパイプライン的に処理した方が速かろう
いずれにせよ通信量が減る構成or構造を考えないとそっちがネックになるべ?

212 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 00:57:24 ]
>> 209
真面目にやる気がある人みたいなんで
漏れが知ってる限りのことは教えてやろう

>ls-lsのDMAはメインメモリにマップされて、転送というのしかみたことがないのです。
メインメモリにマップされるってのは嘘だ。正しくは、実効アドレス空間にマップ、だな。
実体がメインメモリにあるんじゃない。メモリマップドI/Oみたいなもんよ。

まああれだ。IBMの記事とかにもたまに怪しいのがあるぐらいなんだから、
そーゆー怪しい所の記事をうのみにするのは、、、な。

で、問題のレイテンシだが、元々リングバスなんて帯域は広くても
レイテンシには弱いはずだな。それにSPEの物理的な距離の差でも
レイテンシは変わるはずなんじゃないか? 測ったことはないが。

あとちなみに、DMAだと128バイトってマジックナンバーがあるから
それに合わせた設計すると、転送量に気持ち余裕ができるぞ。


213 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:03:07 ]
MMIOってのが解ってないんじゃ?
ぶっちゃけた言い方すれば、EAにマップされたSPU1のLSがあって、
SPU2がそのアドレスにDMA転送かけるってのは、(メインメモリは関係無く)
SPU1のLSに対する読み書きをするって事。
転送先のアドレスがメインのDRAMなりVRAMなり他のデバイスのメモリなりレジスタにマップされてれば、それぞれへの読み書きになる。

所で実際にニューロン1つにプロセッサ1個必要なら、EIBより外部バス(PS3ならGbEとか?)の方が問題になりそうな。知らんけど。

214 名前:208, 209 mailto:sage [2007/02/08(木) 03:03:05 ]
>211
まだ最終的にいくつユニットをつかうとか決めてないんだけど、
なるべく多くのユニットでやって見たいなと思ってます。LSの容量の問題があるけど、
ユニット自身の計算している間に、DMAで次のユニットのデータをロード
するような仕組みでいけば、LSの問題は一応解消できるかなと思ってます。
面倒くさそうだけど…。

>>212、213
私、はずかしながらMMIOというものをわかっていませんでした。了解です。

PS3でクラスタ組むということもちょっと考えているんだけど、たぶんGbE
のレイテンシ(10μsオーダー?)なら、そこそこいけると思ってます。
とりあえず1台でできたら、次にやろうかな。きっとその頃にはPS3も安くなってるでしょう…。



215 名前:209 mailto:sage [2007/02/09(金) 03:40:26 ]
あ、名前らん間違ってた

216 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 17:07:17 ]
なにこのスパイの暗号みたいなスレ

217 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 02:04:40 ]
>ユニット自身の計算している間に、DMAで次のユニットのデータをロード
>するような仕組みでいけば、LSの問題は一応解消できるかなと思ってます。

俺もこれやりたい。
libspe2には一応オーバレイの仕組みもあるけど、
そういうことをDMA使って自分でやりたいんだよね。
自分で組めばオーバレイのダブルバッファリングができるはずなので。
でもリンカのスクリプトとかわけわからんwwww
どっかに資料ないかなあ・・・

218 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 13:53:41 ]
>>217
どこが分からないのかが分からないのであれだが
ttp://cell.fixstars.com/pukiwiki/index.php?lesson5
これにセカンドバッファへの転送開始,バッファ切り替え,待ち,&ループ
を追加したんじゃダメなの?

219 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 15:26:18 ]
>>214 がやりたかったのは多分そういう単純な
バッファリング(ダブルである必要は無いが)だろうな。

>>217 はテキスト、つまりプログラム断片を動的に読み込みたいんだろ。
グローバル変数とかが要らないんだったら、テキストセグメントの
アドレス指定してELFつくればなんとかなるんじゃね?
つか、libspe2にそんな機能あるの? リファレンスには載って
なかったような気がするが


220 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 18:02:24 ]
オーバーレイなんて百害とまではいかないが一利ないよ。

221 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 18:32:34 ]
>>219
CBE SDK2.0のISOイメージの中にあるpdfの、
cpbprg00.pdf (Software Development Kit 2.0 Programmer's Guide Version 1.0)
これの4章に説明があるよ。
IBMのサンプルコードにもoverlayっていうのがある。
一応テストしてみたけど、それなりに高価なのでループの中の関数には使えないな。(当然か)
ゲームループの中で数十回タスク切り替えする程度なら十分使えそうだけど。

222 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 22:34:51 ]
>>220
分散メモリ環境だと
 データ常駐,コード取っ替え引っ換え
 コード常駐,データ取っ替え引っ換え
のどちらかでやるのが速そう
コード&データを取っ替え引っ換えってのもあるけど

223 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 00:48:16 ]
使用頻度多い方を常駐させればよいと思いますよ。
動的に変更できるように設計しましょう。

224 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 20:02:48 ]
使用頻度とサイズの両方考えた方がベターなような
だとすると大抵はデータ常駐になるか



225 名前:209 mailto:sage [2007/02/11(日) 22:14:11 ]
引き続きLS間のDMAを試しております。
DMA転送をさせるられるようになってきたけど、まだいろいろ苦闘しております。
なんでかというと、SPE間の同期をとりつつうまく転送するというのが
簡単そうでなかなか難しい。

やっていて感じたのが、個々のSPEの演算の進み具合はかなりバラけるよう。
先入観で、きっと大して同期とらなくてもおんなじ演算させてりゃ勝手にあ
うだろうと思ってたら、甘かった。




226 名前:209 mailto:sage [2007/02/11(日) 22:21:11 ]
あとDMA転送するデータ量がそんなに多くない場合、DMA転送のバックで
計算させて時間を稼ごう(レイテンシを隠蔽しよう)とかしても、ほとんど
演算時間の短縮に効果がないということが少しづつ判明して参りました。
100ns前後の遅延は、10の7乗回積み重なってやっと1秒だし。

将来、ネットワークを大きくしたときトラフィックが膨大に増える
可能性があるので、本格的な最適化はそのときにしようと思っとります。

227 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 22:57:07 ]
サンプルコードやライブラリ等を集めたHPでも、誰か作らんの?
俺は、そもそもPS3買う予定もない人間なんだが。

228 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/11(日) 23:47:10 ]
PS3買ってきたけどFedoraとYDLどっちがいい?

229 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:06:57 ]
YDLの利点はLANの設定がほとんど要らないなのとLibspe辺りが始めから入ってる位
Linux慣れてるならFedoraを薦める
詳しくはLinux板見るベシ

230 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:07:52 ]
Yaneurao Dynamiclink Library

231 名前:デフォルトの名無しさん [2007/02/12(月) 13:34:54 ]
>230
ハァ?

232 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/12(月) 15:55:41 ]
YDL落とした。
こんがり焼けました。

233 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 18:17:06 ]
PS3が焼けたのか?w

234 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/12(月) 18:20:06 ]
VH



235 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/12(月) 18:24:47 ]
ミスった


S端子接続って画質よくなる?
アプコン使ってVGAに接続してるんだけど。

ちなみにHDMI対応ディスプレイなんてものはうちにはない。


まあ普段はtelnetで十分ですよね

236 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 18:33:38 ]
sshで十分

237 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 19:01:30 ]
VNCで

238 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 01:01:33 ]
sshに一票。
ただしビデオ叩くのはちゃんとディスプレイからログインしないと駄目。

239 名前:209 mailto:sage [2007/02/13(火) 06:07:50 ]
LS間のDMAのデータ転送がようやくできてきた。
もうバスエラーが出まくって、なんで?なんで?って大変だったです。

データ転送する前にSPE間で同期をとる必要があって、そんなことは
やったことがないのでとりあえず適当にやってみるが、ちょっとでも
穴があると、みんな勝って気ままにどっかへいってしまう。
幼稚園児を整列させるようです。

DMAのありのと無しの計算からレイテンシを見積もると、約15ns。
おー、早いなあ。
ただ、SPEの数を3、4…と増やしていくと、計算時間は、レイテンシ以上に
増加していく。
原因ははっきり調べてないけど、同期に時間がかかっているんだろう。

240 名前:209 mailto:sage [2007/02/13(火) 06:13:48 ]
まだまだ同期や通信のレイテンシを減らすことはできそうだけど、
トータルの計算時間中の通信時間がいまでも十分小さいので、とりあえず
これでよしとしよう。わーい。

241 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 09:29:35 ]
>ただ、SPEの数を3、4…と増やしていくと、計算時間は、レイテンシ以上に
増加していく。
リングバスの(衝突/混雑の)せいじゃなく?

242 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 10:24:18 ]
>>240
おめ&がんがれ、応援してるぞ
徹夜のようだが無理すんなよ

243 名前:209 mailto:sage [2007/02/13(火) 17:18:31 ]
>>241
SPEが4個の時、DMAキューは最大12なんだけど、リングバスの最大DMAキューと
同じだから、多分4つまでは飽和しないと思うんだ。でも、2、3、4…と増やすにつれ
レイテンシはだんだん増加するから多分同期のせいだと思うんだ。調べられたら
調べてみます。

>>242
あんた体まで心配してくれるなんてなんていい人なんだ!
ちなみに早起きしただけだから、大丈夫だよ!

244 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 08:24:32 ]
圧縮機能つきDMACをSPE使って誰か作ってくれ



245 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 10:10:09 ]
>>243
遅レスだけど、かなり単純なDMAダブルバッファのサンプルコードがBEハンドブックにあるよ。
ttp://www-128.ibm.com/developerworks/power/cell/docs_documentation.html
Cell Broadband Engine programming handbook
同期とったりとかは別に考えないとだけど。


246 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:10:13 ]
Cellの開発費削減だってね。

247 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 02:38:50 ]
>>246
まぁ45nmはなかなか厳しいので正しい判断ではあるよな。

248 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:09:21 ]
開発費ではなく製造ラインへの投資だろ。

249 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:31:16 ]
45nmに限らず、プロセスルール競争はIntel帝国対IBM連合に台湾だからね。
投資効率考えたら当然ではあるんだが、日本の景気が良いうちにソニーにかぎらず
ここら辺の先端技術でリードできる立場になっておいて欲しい所。

250 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 10:11:41 ]
とりあえずはIBM連合あたりに任せればいいんじゃないかな。

251 名前:209 mailto:sage [2007/02/15(木) 22:04:53 ]
IBMはPower6とは別に、Intelのメニーコアへの対抗として、
CELLをつづけてくれればいいんだけどなあ。

まあIntelのやつはもともとCELLに触発された部分が大きいのかも知れないけれど

これからこのCPUは先細りするといわれるとプログラムのやる気がちょっとダウンするなあ。



252 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 01:10:23 ]
もっと前から作ってんだろw

253 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 01:19:35 ]
45nmについてはIntelもIBMも2年以上前から言ってたけどねぇ

254 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/16(金) 01:28:04 ]
IBMはeDRAM発表したね
Inteも欲してる技術じゃなかろうか



255 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:37:29 ]
>>251
どんどん先細るよ。45nmの次が32nmくらい(プ

256 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 13:00:21 ]
それでも今後三年間?で3000億円規模の半導体投資なわけだから、
カスタムやマイナーチェンジなんかも楽勝では。
いままでは65nm工場開発と、Cellの研究開発で5000億でしょ?
その二つ得た今となっては45nm研究しない分物凄い潤沢資金なはずだが。
あとIntelの奴はそれこそ専用用途にしかつかえないっぽいが。

257 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 14:01:28 ]
CISCもこれからはRISCだからと謂われていたけれど復活したじゃん。
メニーもヘテロも本格的には出て来たばかりでどちらがなんてまだ分からないと思うけど。

258 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 17:24:58 ]
pc.watch.impress.co.jp/docs/2007/0216/kaigai338.htm

259 名前:209 mailto:sage [2007/02/17(土) 00:02:39 ]
倍精度強化かつメモリ強化(3倍容量)のCELLとか、でても
すんげーたかいんだろうなあ…。

たとえば、65nmのcore 2 quadのXeonなら
倍精度50Gで、たぶん30-40万くらいで買えるでしょ。

強化型CELLは倍精度100Gflopsで100万じゃかえんだろうなあ…。
PS3に乗るわけないしなあ。

260 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 02:24:52 ]
Blue/Gene買うやつはいないっていいたいの?w

261 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 12:16:24 ]
今のcellでも1個で倍精度20Gflopsあるのにね。

262 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 13:40:35 ]
>>259=209
なぜそんなに高くなると思うの?

263 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/17(土) 14:05:47 ]
PCベースのワークステーションより数が出ないぶん部品は高い。

何が高いって、XDRメモリが高い。
数が出ない云々以前に、RAMBUS利権もあるし。

メモリコントローラがオンダイでXDR-DRAMきめうちだから、FB-DIMMなんかは無理。


264 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 15:18:13 ]
現状でもCellの先にSDRAM繋がってるワークステーションあるのにねぇ。



265 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/17(土) 15:35:52 ]
ダイレクトに接続できたっけ?

CellアクセラレータボードがXDR 1GB(ダイレクト)+DDR2 4GB(I/Oコントローラ経由)
だった気が。

266 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/17(土) 15:42:25 ]
まぁそもそもXDRとかFB-DIMMじゃないと帯域が足りないと思われ。



267 名前:209 mailto:sage [2007/02/17(土) 20:54:38 ]
>>262
90nmのIBMCELLサーバーでも200万位するでしょ。それがさらに量産効果が
でにくそうな倍精度強化版CELLじゃあもっと価格がはね上がりそうな気が…。
あとメモリも高いんすね。

100Gflops欲しかったら、PS3を5台買えばいいか。20万くらいだしね。
単精度なら約1Tflops!

268 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 01:59:19 ]
ハード以外のコストを考えなくていい次元に住んでるなら
その方がいいと思われ。

269 名前:262 mailto:sage [2007/02/18(日) 01:59:35 ]
あ,でるかどうかも分からないメモリ強化版のCellの話なのに
高くなると推定するのが不思議だったんで訊いたんだわ
つまり周りがどうなるかの見当が付いているのかな?と

今のCellの単なる倍精度版なら今と同程度かちょっと高い位になると
考えるのが当然だけど

270 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 02:08:17 ]
何が当然なんだか

271 名前:269 mailto:sage [2007/02/18(日) 02:12:09 ]
>>270
何か他の考え方が?

272 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 09:07:09 ]
さてそれでそのPC3で組んだ高性能マシンを何につかっているのかね?


273 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 09:25:31 ]
>>267
出血サービスのPSというかたち以外でCellが庶民の手の届く価格で
販売されることはないというのが普通の考え方だよね。
65nmは倍精度強化版onlyみたいなことになると楽しいんだけど。

C2Dの2.5GHzで20Gflopsあるのに、わざわざPS3でクラスタ組もう
とする貴方はとってもマゾヒスト。

274 名前:209 mailto:sage [2007/02/18(日) 14:19:24 ]
>>272,273
趣味でCELLで大規模な科学技術計算やってみたいなあと思ってんだけど、
冷静にCELLとcore 2で価格と手間を天秤にかけると、微妙なんだよね。

去年は、CELLに対して脳内にかなりお花畑が広がってたんで、何も疑問も持たず
CELLのプログラミングとか勉強してたんだけど、最近のcore 2の性能とシュリンクの
進み具合を見ていると、天秤が今水平に近づいている感じ。

それでもやろうっていうのは、CELLはやっぱいじってると面白いというのと
まだLSの構造にわずかに可能性を感じているというのが理由。あとは手軽に扱える値段かな。







275 名前:209 mailto:sage [2007/02/18(日) 14:35:10 ]
CELLいじるまで細かいレイテンシなんか気にしたことなかったから、
それをいろんなCPUと比べたり、プログラミングに反映させたりするのが
すごく面白かったし勉強になった。

で、いじってみた結果、用途によって、CELLは向き不向きが激しいことがわかってきた。
倍精度ではCore2と価格性能比が倍くらいしか違わない。


276 名前:デフォルトの名無しさん [2007/02/18(日) 16:24:51 ]
某板よりコピペ
多数のオブジェクトの衝突判定を並列化する方法


移動後の座標をボクセルに振り分ける。
1つのボクセル内に存在するキャラを総当たりで衝突判定。

処理の順序としては、移動、振り分け、衝突判定、衝突処理。
これで処理を並列化できる。

もう少し詳しく言えば、衝突判定をしやすくするために、
ボクセルに振り分ける時点で座標値などをボクセルごとの一時バッファに複製しておく。
これにより巨大なバッファをLSにロードする必要がなくなる。

衝突の連鎖については次フレームに回す。それで結果的には再帰処理になる。

普通は移動後に振り分けるというより
ボクセル内のオブジェクトを管理するバッファを常設しておいて
移動でボクセル外に出たときだけバッファの更新をするでしょ。

277 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 16:31:41 ]
ダンゴの人のブログにも書かれてるけど、Coreなどは汎用で性能が出るからな。
SPEはタイト過ぎるから、用途派生のCPUを作ってくれなきゃ中途半端で手が出ない気がする。
それはそれで、また別の問題が……

278 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/18(日) 16:45:08 ]
正規表現エンジンのSIMD実装の論文とかってないよね?
なんつーか、オートマトンを順番に辿っていくような処理はベクトル演算は不向きっつーか
分岐が致命的に痛い。

279 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 16:55:48 ]
しかしゲハと何も変わらん雑談スレだな

280 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 21:13:52 ]
>>279
そう思うならこのスレ来ないほうが君のため。

281 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 23:17:13 ]
>>275
論文書きたいならCell。
Cellでこんなこともできました、こうやって速くしました、で論文になるよ。
科学技術計算の結果の方が必要なんだったらCore2のほがいいかな。

282 名前:209 mailto:sage [2007/02/18(日) 23:53:40 ]
>>281
Cellでやっただけで論文になるというのが、そんなんでいいの?って気が
はじめはしてたんだけど、最近成り立ちそうな気がしてきました。

たとえばニューラルネットの話だけど、コアにどのようにユニットを割って
どのような通信をさせるかというのは、以外に簡単じゃない。

結合がないユニットを担当するSPE間では通信の必要がない。また結合があるユニットは
同じSPEで計算させたほうが情報を共有できていい。でも各SPEはなるべく同数の
ユニットを割り振るほうがいい。

これを決めるにはCellのアーキテクチャが関わってきて、同じマルチコアでも
たとえばcore 2だと状況が変わってくると思う。めんどくさくもあり、面白くもあり。

こういうことが実行するプログラムによっても、パラメータによっても変わってくる。

283 名前:209 mailto:sage [2007/02/18(日) 23:55:45 ]
まあもうそういう議論はしつくされてるかもしれないけど、実機で実際に
それを試してみるというのは意味はありそうですな。

284 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 03:10:34 ]
>>274
そうそう、やっぱCELLはいじってて面白いんだよ。

ヘテロコアの可能性も感じるしね。
CELL自体が商業的に成功するかどうかはわからないけど。




285 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/19(月) 04:46:29 ]
商業的には既に終わってるぽ
www.vgcharts.org/

いや俺も買ったんだけどさ。マゾだから。

286 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 12:34:54 ]
終わってると言うよりまだ始まってない感じ

287 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 15:35:47 ]
始まってないことを今は終わってるって言うのか?

288 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 18:00:20 ]
>>278
正規表現をSIMDで効率的に動かす方法か。
4並列の手動投機実行みたいな事は出来ないのかな。

289 名前:デフォルトの名無しさん [2007/02/19(月) 21:22:04 ]
CPUの寿命は10年単位でみないとわからない。
お前にはそれがわかってない

290 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 22:55:16 ]
25年は基本アーキティクチャを変える必要がないと豪語したAlphaは...

291 名前:209 mailto:sage [2007/02/19(月) 23:11:51 ]
>>289
cellの命運を決めるものは、なんになるだろう。

自動並列化コンパイラが完成したら、cellは成功するだろうか?

PS3がPS2並に普及が必要だろうか?

cellのアーキテクチャがすでに成功を決定付けているだろうか?またはその逆に
失敗を決定付けているだろうか?

cellの家電搭載化が必要だろうか?

linuxでのcellのppeとspeのフル稼働化、エコシステムの構築が必要だろうか?

292 名前:209 mailto:sage [2007/02/19(月) 23:14:02 ]
個人的には、PS3の高スペックlinuxパソコン化が、かなり需要があって普及の手助け
になる気がする。5万円でハイスペックで、Blue ray付きのPCがかえるとなったら
mac並に選択肢にはいるんではなかろうか。RSX&メモリ開放とSPE活用さえできれば、
実現できそうだけど、ありえないのかなあ。

293 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 00:55:40 ]
Linuxインスコできるようにしたのは快挙だと思うんだけどSCEはそれを全然前に出さないんだよね。
なんか裏ワザっぽい扱いのままで。もったいない。

294 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 01:00:22 ]
Linux前面に出して本体が売れても、ゲームが売れなきゃ赤字が増えるだけだからな。



295 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 01:07:56 ]
結局、SPE を使った実用的or面白いソフトってあるのか?

296 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/20(火) 01:15:58 ]
将棋とかのAI組むにはCellってどうなんだろうね
そういうゲーム出てきてないけど
定石をBDメディアに大量に入れておいて探索するだけ?それじゃつまらんな。


297 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 11:37:30 ]
CELLプログラミングって、ClearSpeedのプログラミングと似たところがあるんだよね。
ClearSpeedのコンパイラ自体は使い物にならないんだけど。

298 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 18:36:14 ]
メモリが少なすぎるからなぁ。せめて倍はつんで欲しかった。 
単純なCPUでメインメモリの多い箱○にインスコした方が性能でるだろ。


299 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 19:11:48 ]
>>298
何をするのかによるのでそれは言い難い。

300 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 21:24:49 ]
>>296
向いてるような向いてなさそうな...どうなんだろ?

分散して同時並行して調べることができるなら
単一のCPUつかうよりも深読みとかできそうだ

将棋とかのルールに沿ってコマを動かすって
けっこう細かい if がつらなると思うんだけど
そういう処理って Cell は苦手そうだし

あと同じような局面で過去にあったかどうか調べるのに
メモリがたくさんいりそう

どれもプログラムの作り方次第かもしれないが


301 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 22:31:40 ]
整数条件を外した緩和問題をうまく構成して悪手を枝刈りしまくる、
という方向なら結構いけるかも?

302 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:35:16 ]
Cellで将棋はネタとして検討してみたが、本読んだり、Bonanzaの話を見ている
限りだと、Cellを使っても爆発的な強さは得られないように感じた。
計算量増えたところで読める深さはたかがしれてる。
現状だと、棋譜からDB構築も含めた質の良い評価関数の作成の方が効果は高そう。

>>301
去年の将棋大会で(初出場で)優勝したBonanzaは枝刈りしていないらしい。

ちなみに、ソースも公開されてる。これをCellに落とし込むだけならそんなに
難しくないと思う。コンピュータ同士で対戦させるためのプロトコルも
定義されているから興味のある人は調べてみるといい。


303 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:38:57 ]
でも、やる価値が無いとは思わないよ。
これで飯食えないかなー?と真面目に検討した結果、計算量によって
圧倒的な強さを得るのは難しそう、と感じただけ。

リバーシの感覚で気軽に考えたのが甘かった。

304 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 02:08:14 ]
>>303
将棋はチェスよりも難しいぞ・・・



305 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/21(水) 02:32:48 ]
取った駒を置けるからチェスよりも計算量が莫大になるんだよな。

306 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 02:38:33 ]
>>305
あと、駒をひっくり返すか返さないかも

307 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 16:59:13 ]
口を開けば「セルが……、セルは……」と話す男がいた。www
news22.2ch.net/test/read.cgi/gamenews/1172023681/

308 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 17:05:36 ]
ゲハの空気の読めなさは流石隔離。

309 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:28:40 ]
ゲームニュースでないの?

310 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/22(木) 23:13:28 ]
>>306
実質、不成を選択できるのは香と桂と銀だけだけどな。
香と桂は次に動かすときには必ず成らないといけないからさほど状態爆発はしない。
銀は敢えて成らないのも戦法としてある。



311 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 01:57:27 ]
後の打ち歩詰めを避けるための不成りってのも(理論的には)有るから
他の駒でも常に成ると決めてしまうわけにはいかない

312 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/23(金) 02:26:23 ]
プロでも不成は対局でけっこううっかりやるね

歩はならなかったら成らなかったで前に1ますしか進めないから状態は増えないな。
飛車角も同じ。成ると動きが増えるが、成らなかったからむしろ動きの可能性が収束するだけ

ちなみに成らないと次に動けない位置に達したら確実に成らないといけないし
そういうところに打つのも駄目。反則負けになる。


やっぱり銀だね。成るか成らないかで戦局が大きく変わることがある。。




313 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 12:49:39 ]
飛車角は成らない理由ある?
歩の「打ち歩詰めを避ける」ってのもよく判らんし。

314 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 14:55:22 ]
歩に限らんだろ
手持ちが歩だけで、
最後の一手で歩を打って詰みになってしまうとき
わざと成らないで逃げ道作って詰めるときはある



315 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 17:03:59 ]
>>312
団子は探索型のプログラム書いたことないの?
飛車だろうが角だろうが成る/不成で状態数は増えるぞ

316 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/23(金) 17:56:34 ]
>>313
羽生氏ですら稀にあるよ。
うっかりだとか、裏返す暇がなかったとか。反則にはならない。

古畑任三郎のネタであったな。
後一手で飛車成で勝負が決まるところを
飛車の裏に被害者の血痕がついてたがために
別の方向に動かして・・・・

成らなかったところで動きが増えないだけだからむしろ状態は絞られるだろ

317 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/23(金) 20:15:38 ]
>>314
それは突き歩詰めと言う奴では?
べつに、と金になったら詰めないわけじゃないだろ。

うっかり二歩のほうがむしろ怖い

318 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:15:41 ]
駒の種類として「歩」と「と」は区別する必要があるから状態数は増える
(局面の状態=駒の種類と位置)
あそうか.将棋のルールを知らないんだw

319 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/23(金) 23:22:14 ]
コンピュータ将棋で成らないことを仮定する必要なんて無いじゃん
桂・香・銀以外は不成のパターンは無視していいに等しい

320 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:28:50 ]
そんな風に仕様を勝手に断定するからバグが(ry

321 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:40:23 ]
将棋プログラムはそれはそれで面白いんだけどさ
今の流れはあまりに Cell と関係ないような

一般的な将棋プログラムの話ならこっちだと思う

おまいら最強の将棋プログラムしてみろよ part5
pc10.2ch.net/test/read.cgi/tech/1109307327/


322 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/23(金) 23:46:12 ]
>>320
だから、成れば動きが増えても減らない駒で自ら不成として可能性を狭めても
自分のクビをしめるだけで相手に弊害はない。むしろ手が絞り込めちゃう。
「と金」をとろうが「歩」をとろうが持ち駒になるのは歩だしね。

俺が知る限りではコンピュータ将棋で不成を選択できるのは3種類だけだよ。


>>321には胴衣

323 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 00:44:16 ]
AHO 相手の手の合法性のチェックはどうやってするんだ?

324 名前:・∀・)っ-○◎● ◆DanGorION6 mailto:sage [2007/02/24(土) 02:25:40 ]
動きそのものは桂馬・飛車・角よりもナイト・クィーンのほうが自由度高いしね
将棋も持ち駒うてなかったらおそらく解法はチェス同等かそれより簡単になるとオモ



325 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 02:29:41 ]
>>324
それは将棋というゲームのルールですかという疑問

つか、将棋の話はストップ 続きは>>321で。

326 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 02:55:21 ]
馬鹿にかまってスレを無駄に消費するより
NG登録しましょう


327 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:59:16 ]
表か裏かの情報なんてせいぜい1ビットのフラグで表せるし、その程度の
情報が増えるくらいのことを状態爆発とは言わない

どんだけ効率の悪いコード書いてるんだよ

328 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:04:28 ]
いやフラグとか記述方法とかそういう問題ではないんだけど、ひょっとしてプログラムとか書いた事ない?

329 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:10:33 ]
いやそれはお前だろ
たとえば歩を成らずに進める可能性を考慮してどれだけ状態が増えるんだよ
前にしか進まないだろ

330 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:44:09 ]
マジで逝ってるのか…

331 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:47:23 ]
それともお前の脳内ルール上の歩は斜め後ろにでも移動できるのか


332 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:48:49 ]
だからそういう問題じゃないって…

333 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:52:26 ]
たとえばRPGのキャラクタは経験値という状態を表すだけで16777216種類のデータが必要か?
それがわからないならプログラム向いてないよ。



334 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:57:48 ]
だからデータ量の問題じゃないって…アルゴリズム計算量が見積もれない方がよっぽどヤバイと思われ



335 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 02:59:41 ]
327はこの手のプログラムを書いたことが無いんだよ。

336 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:04:20 ]
アルゴリズム計算量が、歩を成らずに進めた場合を想定すると、しない場合に比べて
どれだけ上がるのか説明してみてくれ

337 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:17:09 ]
所詮口だけか(笑)


338 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:25:06 ]
自分がアホなこと逝ってる所為だとは思わないのか
FSMを構成してみればわかるだろが

339 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:34:19 ]
真性アフォがいると聞いて飛んできました。

340 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:40:55 ]
歩ってかならず成らないとダメじゃなかったっけ?

341 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:48:35 ]
ダメじゃない
ただ歩は成っておいた方が状態数(選択肢)が増やせるし、成った事によるpruningも発生しない

342 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 03:55:08 ]
わかってるじゃないか。
成らない可能性を考慮しようがするまいが大して状態数は増えないんだろ結局。

343 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:03:23 ]
個々の駒の動き自体は元々チェスより少ないくらいだ
持ち駒という概念が状態数を爆発させる最大の要因であって
成って損のない駒が成るか成らないかなんてことに拘る方がアホ


344 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:10:06 ]
なんか成りあがれるのが歩だけだと思ってるのか、このアホは?



345 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:17:58 ]
成らないほうがいいこともある駒は銀桂香くらいだが?
駒の復活による計算量の爆発に比べれば遙かに小さい

見積もりも出来てないのはお前だろアホ


346 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:23:41 ]
>駒の復活による計算量の爆発に比べれば遙かに小さい

だから何?

347 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:24:50 ]
チェスのQueenよりも表裏の2状態がある飛車や角の方が
とれる動き方の状態が多いとが本気で思ってそうだなこの馬鹿


348 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:29:35 ]
飛角歩を不成とするようなのは最初から定石パターンからは除外される
素人はこれ以上反論しても無駄だからオムツ替えて寝ろ


349 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 04:45:06 ]
駒の動かし方しか考えてなさそうなんだけど、もういいや寝るよ

350 名前:デフォルトの名無しさん mailto:age [2007/02/25(日) 04:56:38 ]
GKの内ゲバスレはここですか?

将棋の探索アルゴリズムを本当に複雑化させてるのは持ち駒を打つとき。
持ち駒というやつは盤上の空きのどこにでも打てる(歩・香・桂馬には若干の制限がある)
盤上の駒を動かすより遙かにオーダに大きい。
成ると駒の動き方が変わることなんて問題としちゃ小さい小さい

351 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 05:14:26 ]
チェスは駒がどんどん減っていくから次の手はどんどん無くなっていくし
オセロも置ける場所が減っていく。白黒合わせて60手までで必ず終わる。

将棋は局面が進んでも盤上に取った駒を復活させることができるからなかなか収束しない。
だから将棋のアルゴリズムは、定石パターンと照らし合わせて絞り込むことが重要になる。

愚直に総当たり検索なんてやってたらいくらリソースあっても足りない。
削れる枝は大胆に削るのが鉄則。

表か裏かでいちいち状態数云々考える時点でアルゴリズムのセンスなし。


352 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 05:17:18 ]
そんなこと以前にSPE+LSじゃ探索なんて出来ねーよ。
既存のソースは使い物にならないし
かといってPS3向けに最適化する暇人もいないだろう。

353 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 05:39:08 ]
結論:みんな口だけ

354 名前:デフォルトの名無しさん [2007/02/25(日) 05:51:29 ]
PPE単体でもCele600MHzくらいのパフォーマンスは有りそうだし
少ないとは言っても200MBくらいのメモリは使えるんだし
PCの数年前の将棋ソフトくらいに匹敵する強さにはなるだろう。



355 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 11:35:29 ]
>>352
まぁ考え方は根本的に変えなけりゃダメだろうな。
たとえば局面評価にしても、ここがこうだから何点などという手続き的な
やり方じゃなく、ひとつの評価関数(どんな複雑なものになるかわからんが)に
落とし込んで、整数条件を緩和して上界を求める、とか。

356 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 14:07:48 ]
そこでモンテカルロ将棋ですよ

357 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 19:54:50 ]
やっぱりここは最良優先探索だろう
PPEでキューを管理して
SPEで次のノード探索タスクを並列して実行すれば
幅も深さも適当な探索ができる気がする

358 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 00:44:12 ]
将棋も将棋のソフトも全然わかんないんだけど、演算速度が例えば100倍早いと
つよくなるものなの?処理に使える時間が重要?覚えておくパターン数が重要?

359 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 02:55:03 ]
思考時間が無限にかかるCPUは最弱といわれるだろうから
当然短時間でより多くの処理ができる方が強いということになるだろうな。

まあメモリ640kbのZ80マシンでも将棋ソフトは作れたんだしなんかは作れるだろ。

360 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 04:26:30 ]
ちょっとまて
普通の将棋には制限時間というものがあるお

361 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 04:57:44 ]
そうなんだ。ググレカスです。わたしは。

362 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 20:56:43 ]
普通の将棋ってのが公式のなんかルールですかね。
時間制限ありでやったことはほとんどないんでわからんですよ。

363 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:54:22 ]
第17回世界コンピュータ将棋選手権 ttp://www.computer-shogi.org/wcsc17/
の場合「持ち時間は25分とする」とルールに書いてある

364 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 00:58:27 ]
世界コンピュータ将棋選手権に PS3 で参加!とか格好いいな



365 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 04:35:48 ]
それで優勝したらもう大変

366 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 04:49:23 ]
次スレは将棋板でおk?

367 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 05:45:45 ]
CellがintelやらAMDやらのCPUに将棋で勝ったら、もう失敗作だとゲハで
叩かれないですむだろうか(涙)

368 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 09:18:14 ]
ゲハがいくら頑張ってもここの連中には効かないというか
そんなところに当たり判定は無いというか。

369 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 10:28:54 ]
頑張って俺様スパコンしてるのだろうから、あまり可哀想なこと言うなよ。

370 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 02:29:37 ]
同じプログラム使えばより強くなるんでは。8コアだし。

371 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 03:40:05 ]
SPEはそれなりに考えて組まないとパフォーマンスを発揮できないが、Core2辺りだと
Intelコンパイラ使って何も考えなくてもパフォーマンスが得られることもあるからなぁ。

372 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 08:30:47 ]


373 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 11:45:30 ]
共有メモリじゃないからマルチスレッドと言ってもコードは大違い<CELL

374 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 16:59:30 ]
マルチスレッドは普通メモリ共有してるものだけを指すんじゃね。
奇天烈なCellプログラミングは最早マルチプロセスだと思う。



375 名前:デフォルトの名無しさん [2007/03/01(木) 01:11:17 ]
すげーガイめっけ
moss.csc.ncsu.edu/~mueller/cluster/ps3/

376 名前:ps3cluster mailto:sage [2007/03/01(木) 01:38:35 ]
さて、ps3クラスタをのんびり〜つくリはじめてみようと思います。
目標はクラスタで大規模数値計算。
計算はニューラルネット。単体で動かす分は大体できた。



377 名前:ps3cluster mailto:sage [2007/03/01(木) 01:46:15 ]
ニューラルネットを作るのもいろいろ、紆余曲折がありました。
一番やっかいだったのはコア間の同期と通信。
送ったはずなのにたま〜にとどいてなくて、悩んで数日。
メモリの一貫性(というのか?)を身をもって体験しました…。

378 名前:ps3cluster mailto:sage [2007/03/01(木) 01:56:18 ]
他にもいろいろ面白いことが。
最適化の作業ってはじめての経験でしたが、ループアンロールというのを
やってみたところ、ある部分ではもんすごいはやく(大体8倍)なって、びっくり。

あとどうしてもスカラで分岐でしかかけないところがあって、やっぱり遅くて
ここも将来何とかできないかなあとは思ってます。

379 名前:ps3cluster mailto:sage [2007/03/01(木) 01:58:55 ]
さてPS3クラスタ。
まだ2台目すぐには買えないので、ゆくっりとプランをねります。
とりあえずMPIで通信、gigabit eatherでつなぐと。
クラスタ作るのも初めてなんですが、gigabit eatherのMPI通信のレイテンシは
普通100μs位らしく、まあなんとかなりそう。
でもあと半分くらいになってくれたらうれしいなあ。ちょっと手を入れると
早くなるそうだけど、ど素人なのでいつかできたらね。

380 名前:ps3cluster mailto:sage [2007/03/01(木) 02:05:12 ]
そこでちょっと気づいたが、MPIやるとしたら、基本的にPPE間で通信して、
それをSPEにさらに送ることになるだろうということ。
ということは、通信する必要があるデータは、PPEに集めてそっから別PS3に
おくらにゃいけません。
今はPPEは全然使ってないんで、書き換えねばならぬ。失敗した。

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の積になるんだろうか?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<102KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef