[表示 : 全て 最新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プログラミングでスパコンが家庭に

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 ]
なにこのスパイの暗号みたいなスレ






[ 続きを読む ] / [ 携帯版 ]

前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