1 :
デフォルトの名無しさん :
2009/01/25(日) 02:16:01
3 :
デフォルトの名無しさん :2009/01/27(火) 19:50:39
推奨NGNAME:●
8.5・・・だと?
6.5だろ
じゃあ、俺は 7.0 位でお願いします。
アナルアナル言うからハッテン後なんだよ
8 :
202 :2009/01/27(火) 20:48:42
すげーな、8.5とか。 普通に32bit整数型で、ビット順そのままの乱数を生成してるのかな?
脳内レジスタにはちゃんと順番通りにならんでるんじゃん?w
中の人の反応見るになんか迷走してるようだな。出題ミスってレベルじゃね−ぞ。
え、何を瞑想してるの?
条件が変わるかも知れない
またですか?
14 :
579 :2009/01/28(水) 01:27:02
>>10 公式見解でないねw
本当はコンテスト後に「当社のリファレンスコードは〜」って
シュバッとする予定だったんじゃねえの?
インラインアセンブラも、最初はまずくねー?、大丈夫だろ?
って方針がコロコロ変わったと考えると滑稽。
今から課題の条件を変えるのはバカ丸出し。
出題ミスを認めるのがそれなりに王道。
リファレンスコードなかったことにするのが正解。
>>前スレ995
そう焦るなって。コンテ終わったら公開するよ。
最適化のベースになるようなアイディアを放出してみんなに
迷惑かける気は、今のところはない。
ついでに、SPU に特化した最適化は、(個人的には)興味ない。
だから intrinsics 使わないで優勝しようと画策していたわけだが、
自分でダメにしちゃったw
15 :
579 :2009/01/28(水) 01:39:10
>>前スレ997 >つか64ビット整数で処理したら速くならない? 速くなると思うよ。 が、uint64_t が portable かといえば(まだ・そんなに) portable じゃ ないからね。
16 :
579 :2009/01/28(水) 01:48:48
アナル拡大体なわけだが。
Fixstarsの返事はまだか 既に提出してる人が何人もいて今更変更できないとか それはそうと団子って再利用性がどうとか実用性がこうとか言ってなかったっけ 結局乱数列の生成には何の役にもたたないコード書いてんのな 今更Cにこだわる必要も無いと思うんだけどどうだろう
俺は俺なりに俺が他のアーキテクチャに移植しやすいように書いてるつもりなんだけど 他って具体的にSSE4/AVXなんだけど
てか、上位入賞者用の参加賞ってさ、どうせ YDL6.1(ノンサポート版) だろ?別に要らないんだが。
新しいアルゴリズムだと生成された乱数を毎回デコードすると元より遅くなるんだろ 実用性があるとすれば生成されたそのままのフォーマットで演算に利用できる場合位かな この大会にしか使えないものの移植性なんて考えるだけばからしいと思うが PS3持ってない奴がYDL6.1もらっても悲しくなるだけじゃないかw Fixstarsのロゴが入った写真立てとか置物とかじゃないかと思ってるんだが
とりあえず速度さえ出ればなんでもいいってことになれば、 2つのソースを送って古いほうを公開してくださいって言うだろうね。 いちおうPowerPCのMacには使えるだろ?俺的にTigerで充分だけど。
分かってないんだけど、579 のは大量に読み飛ばす場合なんかには高速になるんでしょ? 充分有用だし、却下されるべきではないと思うけど。
23 :
202 :2009/01/28(水) 09:55:53
>>22 有用であるかどうかが基準のコンテストではないからな。
「同じ乱数列を生成する」という課題に対して、579の解法はチェックサムしか計算してない。
チェックサムを元に「同じ乱数列を生成する」事ができるが、計測している時間は「同じ乱数列を
生成する」時間ではなくて「チェックサムを計算する」時間でしかない。
他の人は、フォーマットの変更のあり・なしの違いはあるものの、「同じ乱数列を生成」した上で
チェックサムの計算まで行って、時間を計っている。
ルールがフォーマット変更可・不可にかかわらず、579の回答は課題の趣旨と違なる。
だが、配布されている課題プログラムでは、チェックサムさえ合ってれば通ってしまう。
「mt_kadaiはチェックサムしかチェックしてないけど、同じ乱数生成しないでチェックサムだけ計算する
のはあり?」と質問したので、回答待ち。
回答が「同じ乱数列を生成しないとダメ」だった場合、「バイト単位・ビット単位の順番を入れ替える
変形はあり?それ以上の変形はあり?」と、質問しなおす予定。
こういうコンテストに応募するのはこういう人種になることくらい容易に想像できるんだから、 きちっと詰めておかないのは甘過ぎると言わざるを得ないなぁ。
出来るってことは重要だけど使う場面はなさそうだな 普通乱数の和が欲しかったら統計的な方法使ってもっとはしょるだろうし 厳密に計算した乱数の和が必要になることがあれば有用かも もちろん今回は乱数の和だっただけでいろんな演算を同じ様に高速化出来るかもしれないけどね それはそうと乱数を大量に読み飛ばす場面ってのが初期化以外で思いつかない それに読み飛ばすだけなら普通の方法の方が高速なきがする
>>23 まぁ fixstars の回答待ちは変らんけど、「チェックサムを計算する」だけなのはなしだけど、
「バイト単位・ビット単位の順番を入れ替える変形はあり?それ以上の変形はあり?」に
関してはありな気がする、っていうか、ありでいいと思うなぁ。疑似乱数列なんて、順番を
入れ替えても乱数性が変らない事が重要なんだから、実用上そう困る事はないだろうし…
あるとしたら、他の環境で再現したいときとかくらいでしょ。。。ってそれなりに大事かw
順番変えたらfixstarsの検証が大変だろ (疑似)乱数って明確な定義がないんだぜ
計算した値をとりだすことはできるから再現性とかの問題は無い 値をとりだすのに計算以上の時間が必要なだけ SUMなら値をとりださずに計算できるから高速化可能という話
しかしFixstars反応無いな 審議中なのか事態に気がついていないのか スルーされた場合どっちを提出しようかな
30 :
202 :2009/01/28(水) 15:05:41
中の人はちゃんとこのスレ見てるよw 回答はちょっと待っててってメール来た。
締切まで期限切られてるのに回答を先延ばしするのは理不尽以外のなんでもない。 結局、方針がどうなるか次第なわけだが、ヤマカンで当て込んだ人が特をするんだろ? 回答もらえたときには既に締切まで時間が足りなかったりする可能性を考えて欲しい
>>27 ??どういう意味で言ってる?順番変えても擬似乱数としては等価でしょ?
順番いれかえて使ったら乱数性が弱くなるなんて擬似乱数としてダメダメだし。
まぁ、応募コードの検証って意味では fixstars は若干大変になると思うがw
「擬似乱数列は、メルセンヌ・ツイスタの実装と同じ乱数列を生成すること。
ただし、メモリおよびレジスタ上の配置方法については言及しない」
でいい気がするんだけどなぁ。(課題のページ、"似乱数列"になってるw)
あと、前 688 にあった、
> hash = genrand_mine(num_rand) + genrand_mine(num_rand2);
みたいなのも、本質的ではないからなしにして明言して欲しいなぁ。
>>14 >最適化のベースになるようなアイディアを放出してみんなに
>迷惑かける気は、今のところはない。
曝しちまえって。そうすればコンテ側もそれNGにするからさw
尤もハッタリだったら曝せないだろうけどなーwwww
チェックサムのみの検証だってさ! ショートカット万歳!!
>>32 temperingする前の乱数列だって乱数の1表現なんだぜ?
その値から一意に求めるデータを取り出せるんだからな
tempering前の方が乱数的に弱いんだけどそれでもbit自由に入れ替えておkっていえる?
結局おkになったんだけど
Hack the Cell 2009 ご参加の皆様 この度は、Hack the Cell 2009にご参加いただき、 誠にありがとうございます。 Hack the Cell 2009の課題について、お詫びと訂正をさせていただきます。 皆様から課題の検証方法に関して多数のご質問がありました。 課題内容が不明瞭であったことを深くお詫び申し上げます。 「課題の検証方法に関しては、チェックサムの整合性でのみ判断いたします。」 課題 kadai1.tar.gz に含まれるcompare関数が乱数列のチェックサムを検証するもので あったにも関わらず 「mt19937ar.cと同じ乱数列を生成してください」という定義のあい まいな表記がありました。 課題内容の不完全性を深く反省するとともに、既に課題を提出した方々を配慮し、 現段 階での課題プログラムの変更はせずに、乱数列のチェックサムの整合性により検証を行 い、順位を決めることにさせて頂きます。 自由な発想での最適化を歓迎いたします。 また予想以上の盛り上がりに感謝し、「実用性に優れている」と弊社にて判断したプログ ラムに対して「フィックスターズ賞」を追加することに決定しました。 「実用性に優れている」と判断する基準 * MT 乱数 (tempering された乱数) を生成している * オリジナルコードと同じ順序で乱数を出力している * MT 乱数を簡単に取り出せること (関数の戻り値, 配列に格納, など) * 高速である ※上記の基準をもとに総合的に判断します。
どう見ても出来レースの悪寒。
優勝よりフィックスターズ賞狙うほうが俺のポリシー的にアリだな。 へたに優勝狙って3位とかになるよりは歯切れもいい。
>>38 それには同意
しかしフィクスタ賞は倍率高そうだな
このスレは202と団子が反省し合うスレになりますた
主催者的にはフィックスターズ賞が優勝なんだろうなぁ。
>>35 tempering 前の乱数列はメルセンヌ・ツイスタの実装と同じ乱数列ではないよ?
順番を入れ替える(配置を変える)のは等価だけど、演算(tempering)を変えたら
そら違う乱数列でしょ。乱数列の使い方を変えただけなら価値は変わらん。
(endian 変えて使おうが、bit flip して使おうが、証明された乱数性は変わらん)
って結局おkになったんだけどw
いやー、でも、こうなると 579 のが本当ならやる気なくなるなー orz
ってか、フィックスターズ賞の賞品はなに?w
> 「実用性に優れている」と判断する基準 > * MT 乱数 (tempering された乱数) を生成している > * オリジナルコードと同じ順序で乱数を出力している > * MT 乱数を簡単に取り出せること (関数の戻り値, 配列に格納, など) > * 高速である さて、フィクスターズの暖めてたもはんかいとうを探ろうかw
>>44 YDL6.1(サポート版) とかwwww
>>32 注意事項の "似乱数列" が訂正線引かれてるのに擬似乱数に修正されてるw
どんだけここチェックしてんすかw
> 一回 genrand_mine() を呼び出す前には必ず一回以上 init_genrand_mine() が呼び出される あ、これ明記されたのね。前 688 をやる必要はなくなったな。
49 :
デフォルトの名無しさん :2009/01/28(水) 19:47:43
>>47 でも実質ここが一番活発なフォーラムじゃない?
良くも悪くも団子が参加したからだけど。
真の優勝争いは O(1) 計数を持ってきた者どうしとなる。
>>43 temperingって言ってしまうとbitの順番を入れ替えてるだけで情報的には等価なんだが
xor って順番入れ替えなのか? ってか情報的に等価ってなに?
> 予想以上の盛り上がり 爆笑した
あんまり書くなとか言われたのか?w ってか、こんだけ無用に情報垂れ流してれば、そりゃマークされるわなw
>>53 すまん、
>>51 みたいに言うと語弊があったな
bit入れ替えも演算だしxorとも大差無いって事がいいたかった
情報的に等価ってのは表現が違うだけで1:1で対応してて同じ情報を持ってるって話
2進数とグレイコードとかね
ただのビット入れ替えだったらもっと演算量減らせたんだが、全ビットにうまいことXORかけあわせてあんのな
>>56 前にも出たけど、tempering も線形写像だし、そりゃ情報量的には等価だよね。
俺が言いたかったのは、tempering 後の bit 入れ替えだったら乱数性に影響は
ないが、tempering(xor) を変更すると乱数性(均等分布)に影響がある、って事。
乱数性に影響ある変更加えたら乱数性の再検証が必要だけど、配置を変えた
だけなら、tempering 後の bit 入れ替え相当だから再検証は必要なしでしょ。
そこでTempering Functionの逆写像をだな
そこで tempering を LUT でだな
>>58 前提条件が大分違うな
上の方で出てたレイアウトが違うって話はそもそも1つの乱数を表すデータが連続した32bitに存在するとは限らないレベルだと思って話してた
>>61 ん?前提は一緒だよ? > "1つの乱数を表すデータが連続した32bitに存在するとは限らない"
レイアウト変更してから演算するのと、演算後にレイアウト変更するのは等価ってだけだけど。
こだわんなよ。優勝狙うにはレイアウトや演算順序なんて気にしちゃだめだぞ
transum組に勝てる気がしないので、今週末にレポートでっち上げて終了の予定。 前提条件が無茶苦茶だったとはいえ、ここ一ヶ月でかなりの知識を吸収できた 事には感謝しています。また来年も期待してますよー
>>61 それはそうだけどそれが良くてtempering前に演算するのがだめってのが納得いかないって話
結局話題の最初に戻ってきてしまったけど
tempering前とtempering後で乱数としての性質が変わってる事も乱数の性質上bitを入れ替えても乱数だって事も分かってるさ
でも少なくとも必要な情報が連続しない場所に配置されてた場合にはそのまま利用することは出来ないだろ?
tempering前の数列のレイアウト変えた数列も求める乱数列とは異なってかつ一定の操作でその乱数列に出来るって意味では大して違いはないんじゃないかって言ってるんだ
この一連の流れを読んで殆ど理解のレベルを超えてるが、 まぁ、Fixstarsが「ポーティングを最適化する」レベルのプログラマには 全く興味がないというのは理解したw。
>>65 "大して違いはない" ってのは主観だから、そう思うならそれでいいんでないかい?
ただ、wikipedia にも書いてあるが、
> 「調律」は生成された乱数のワードのうち数ビットだけを取り出したときの高次元超
> 立方体への均等分布(vビット精度n次均等分布)を改良して理論値に近づけるための
> 工夫である(メルセンヌ・ツイスタは「調律」がなくても623次元超立方体に均等分布する)
という tempering とレイアウト変更を大した違いと認識しないのは俺には理解できないかな。
>>66 だろうな。さすが灯台陶工台の博士を採ってるだけはある。
Googleとか入社試験に難解な数式解かせるらしいし。
それにしても >「実用性に優れている」と弊社にて判断した ~~~~~~~~~~~~~~~~~~ とか >※上記の基準をもとに総合的に判断します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ とかって何だろな?どういう重み付けをするかは主催者の エゴでどうにでもできるという意味か?
別に賞品出すわけじゃないから、良ければみんなにくれるんじゃん?w
>>67 temperingに意味がないって思ってるわけじゃないぞ
ただ原因が何であれ取り出せない乱数に意味なんて無いだろうに
・だんごやさんであること
>>65 > かつ一定の操作でその乱数列に出来る
レイアウト変更した乱数列は、"そのまま使ってもいい" って点が一番違う。
・2ch で無用に暴露してないこと
>>71 それもレイアウト次第じゃないか
さっき言った様に32bit連続で配置されない場合もあるし
>>61 すまん、読み違えてたかも。
> 1つの乱数を表すデータが連続した32bitに存在するとは限らない
の1つって、1回に作る 32bit の事だと思ってたんだが違ったかも。
>>75 ぬぉ、入れ違った。すまんかったっす。勘違いしてた。確かに、32bit 中に空きがある場合はだめっすな。
なんか、アンカーめちゃくちゃ。これは何かの暗号化?w
>>77 とりあえず納得してもらえてよかった
少しむきになってしまって恥ずかしい限り
それはそうと結局Fixstars賞狙うことにしたけど倍率が気になる
実行環境について特に触れてないけど、65nm版やPowerXCellを前提に ストール対策なしのコードを書いて、65nm版又はPowerXCellで実行して 下さいって書いたらそれで通るのかな?
大丈夫。ここに書けば近いうちに 90nm で実行します、って追記されるw
履歴書に書けるんじゃね? ニートはとりあえず挑戦しとけ
>>66 元々 579 的な解+Cell最適化を想定していたのだけど、
普通に高速化する人が多くて、そういう人達が気分を
害しそうだから賞を追加した、ってのが真相な気がしてる。
空気の読めるインテリw
>>80 無限ストールバグがないだけで、ストール自体はある
無限ストールは普通ハマることはない
>>84 をぃをぃ逆だろ
実用に使える高速なMTが欲しかった
>>579 なんて想定してなかった
が真相
しかし
>>579 の書いてた事は理解出来んのー。
嘘混ざってるせいなのか、単に自分がアホなのか。
GF(2^33)で計数はいいけど、そもそも何を集計すると
tempering 的処理がループ外に追い出せるかが思いつかない。
結局ハッタリって事なんじゃないの?なんかみんな揃って 引っ込みつかなくなってるようにしか見えないんだが…
少なくとも、数学的チートの方法をこんなに大々的にばらされる事は 想定してなかっただろうなw ここ見てる人たちが次々とチート方法で提出してきて慌てたに一票
90 :
22 :2009/01/29(木) 10:38:45
わかってないんだけど、 信号処理で、波形のままいじるか、周波数空間でいじって戻すか、の差みたいなもんでしょ? アフィン変換の4x4行列(の回転成分)とクォータニオンみたいなもんなんでしょ? 受け入れられない人の理屈が分からない。
技術的に受け入れてない奴なんていないとおもうけど 単に乱数列を生成って公式に書いてたから抵抗があっただけでしょ 今となっては公式見解も出たしなんの問題もない
S = Temper(x1) ^ Temper(x2) ^ .... ^ Temper(xn) = Temper(x1 ^ x2 ^ ... ^ xn) ならともかく、「+」で出来るってのが俄かには信じ難い。
インラインアセンブラ使わないほうがフィクスタ賞に選ばれやすそうだな もともと禁止だったし
>>92 S = Mod32( GF33( temper(x1) ) * GF33( temper(x2) ) * ... * GF33( temper(xn) ) )
こうですか!?わかりません!教えてください!
いままで触れられてきたどの戦略も、一長一短だなおい。
質問です、cellのソフトウエアをcygwinでクロス開発仕様と思っています。
http://cellbe-cygwin.cvs.sourceforge.net/viewvc/cellbe-cygwin/ こちらのページのrpmを使って、spu-gccは無事インストールできました。
しかし、ppu-gccは
$ rpm -i ppu-gcc-4.1.1-5.cygwin.i686.rpm
error: Failed dependencies:
ppu-sysroot is needed by ppu-gcc-4.1.1-5
ppu-sysroot64 is needed by ppu-gcc-4.1.1-5
と出てしまい、インストールできません。
ppu-sysroot-f7-2.noarch.rpmを探しだし、インストールしようと思いましたが、
$ rpm -i ppu-sysroot-f7-2.noarch.rpm
warning: ppu-sysroot-f7-2.noarch.rpm: V3 DSA signature: NOKEY, key ID 77550217
package ppu-sysroot-f7-2 is intended for a linux operating system
とでてしまい、やっぱり駄目です。いったいどうすればクロス開発ができるようになるでしょうか。
VMWareにでもLiunx入れたら?
PS3 買えば?w ゲームも出来るよwww
確かにな。クロス環境を自力で作れない奴が入賞できるわけないしw
>>97 は別にコンテストに出場しているとは言っていないと思うけど
あ、ここってコンテストのスレじゃないんだっけw スマソ
遅ればせながらギリギリでエントリ。
リアルで大事件が起こって困惑中。二ヶ月先すら見えない状況ですorz
>>90 2つの回転行列の補間をするのに、一度クオータニオンに戻して球状補間
するんじゃなく、行列同士を線形補完して直交させれれば終了、みたいな
ショートカットが出来るって事ですよね?
>>92 http://en.wikipedia.org/wiki/GF (2)
↑見てもさっぱり分からない罠。締め切り過ぎてからで良いんで、お勧めの
参考書とか有ったら教えてくださいな。
>>104 細かい事に突っ込んで悪いけど、それじゃ結果変わっちゃうので
例えとしてはいまいち。
「行列の積じゃなくてクォータニオンの合成で処理して行列に戻す」
とかがショートカット。
106 :
579 :2009/01/30(金) 00:29:43
なんか席を外している間に fixstars はじまったな。
>>579 ざまぁwみたいな展開を期待していたのだが。
コード公開するタイミング失ったではないか。
>>90 >>104 ニヤニヤ
>>33 >尤もハッタリだったら曝せないだろうけどなーwwww
もう少し上手く煽れよ。。。
107 :
579 :2009/01/30(金) 00:30:37
>>50 こうですね。わかります。
template<int s,int n,int p>struct M0;
template<int s,int n>struct MT{enum{N=M0<s,n,(n
>>31 )>::N};};
template<int s>struct M0<s,-624,-1>{enum{N=s};};
template<int s,int n>struct M0<s,n,-1>{enum{
P=M0<s,n-1,-1>::N,
N=(1812433253UL*(P^(P
>>30 ))+n+624)&0xffffffffUL};
};
template<int s,int n>struct M0<s,n,0>{enum{
P=MT<s,n-624>::N&0x80000000UL,
Q=MT<s,n-623>::N&0x7fffffffUL,
R=MT<s,n-227>::N,
S=Q&1?0x9908b0dfUL:0UL,
N=R^((P|Q)
>>1 )^S};
};
template<int s,int n>struct T{enum{
P=MT<s,n>::N,
Q=P^(P
>>11 ),
R=Q^(Q<<7)&0x9d2c5680UL,
S=R^(R<<15)&0xefc60000UL,
N=S^(S
>>18 )};
};
template<int s,int n>struct S;
template<int s>struct S<s,0>{enum{N=0};};
template<int s,int n>struct S{enum{
N=(unsigned)S<s,n-1>::N+(unsigned)T<s,n-1>::N&0xffffffffUL};
};
>>105 チートしないと60fps出ない環境なんで、誤魔化せる所を探すのに必死です。
今日も境界判定のif文取ったり、エルミート補間を線形補間にしたりとかw
>>107 残念ながらC言語onlyな大会でございます。
http://ja.wikipedia.org/wiki/ %E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%83%A1%E3%82%BF%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
コンパイラが氏ぬwww
fixstarsはメタプログラミングって使わないんだろうか? テンプレートによる再利用は俺も大好き
111 :
579 :2009/01/30(金) 00:46:35
MTの本質は均等分布性にあるんであって数値の出る順番は本質じゃないと思うんだ 実際64ビット用MTは32ビット版と生成する値の互換をとってない。
んで、ビットの配置方法が違っても分布の均一性は変わらないわけで 極端な話トランザム(笑)でも再利用性があると思う
まだ登録できたのか
多分、団子はふぃっくすたーずの中の人から盛り上げるように頼まれてる。
中の人も一応は最新のIntelチップ相手だと分が悪いのは認識してるらしい。 (当たり前だ) 性能を引き出すことは、弱点を認識することから始まる。
>性能を引き出すことは、弱点を認識することから始まる。 私の現場だと、最早「無駄な努力」と言われてしまう罠。 先日AMDの営業に話を聞いたのだけど、NVIDIAやIntelとの比較でしか性能を語れてないの。 ちょっと同情したw
未だに13Cycleの壁と闘ってるんだがこのあたりってもうだれもおらんのか? みんなこっちの道をあきらめてSUMを直接求める方向に行ってくれてるならそれはそれでいいんだけど そっちの方向はいくら頑張っても数学に弱いやつは勝てなさそうなんで早々にあきらめてしまった
>>118 比較的素直なSIMD実装でも頑張れば12切れる。
>>119 まじで!
じゃあ本番は11台入ってからか
先は長いな
項数爆発。こりゃだめだ・・・やり直し。
お前ら楽しそうだな・・・ 次があったら俺も参加したいぜ
今からでも遅くはないZE! 応募だけしてみたら?
私も参加賞狙いwで応募だけしてみました。
トリップって狙って取れるもんなの?
こら、そんなこと言うと五月蠅いのが飛んでくるぞ
ところで、優勝とフィクスタ賞を同時に狙う方法ってあるんじゃないの?
おっしゃ拡大体でトランザムktkr
うわさをすればなんとやら
あるかもしれんがそのトランザム次第じゃね 間違ってもO(1)で解ける様な話だとまず不可能だろ
ところでフィクスタ賞って乱数がレジスタに現れるだけじゃだめなのか? 配列に格納・関数の戻り値など などが何かはわからんがこれを見る限りじゃかなり厳格にやらないといけないかもしれんな フィクスタ賞は規定を満たす中で一番高速なのが選ばれるってわけでもなさそうだし 配列に格納はまだしも関数の戻り値なんてやってたら大分コスト掛かりそうだ
レジスタに現れるだけで実用性あるのかよ
stqd入れるだけで出力可能って意味でかなり目標に近いとは思うが そうじゃなきゃ完全にフィクスタ賞だけを狙うコードをつくらないといけないな
実用的っていうのも中の人の主観で決まることだから、悩んでも無駄だろ。 そんなのよりも優勝目指そうぜw
locate libspe2.h してみれば
/opt/cell/sysroot/usr/include/libspe2.h と返ってきました。 標準のインクルードパスに加えるにはどうしたらいいのだろう・・・。
試してないからだめかもしれないけど、環境変数 INCLUDEへのpathの追加とかは? だめなら、とりあえずはコンパイル時のオプションで指定しとけば? -I /opt/cell/sysroot/usr/include/
>>135 優勝目指したいけど勝てる気がしないんだw
だって無茶な実装は3倍速なってるとか言う噂がが
>>139 どうもありがとうございます。
単にMakefileの中身がppu-gccではなくgccになっていただけでした。
大変失礼しました
団子のハッタリに惑わされているようじゃ参加賞止まり。
ハッタリだと認識してるようじゃ参加賞止まり
だんごって学生部門に登録してるんだろ? この中の何人が学生部門なんだろうな 意外と社会人より学生のほうが人数多いかもね
だれが学生部門じゃ
前にそんなこと言ってなかったっけ
>>146 デマだよ。デマゴーゴスだよ
このスレ自体がな
コンテスト終了後なら、ソース見せてくれる? 純粋に興味がある。
ところでアセンブラ組はフィクスタ賞は諦めてるんだろ? むしろ眼中にないんだろ? ニヤニヤ
いつぞやの693だけど俺はアセンブリ組
正直どうしたもんかね
俺も少し前に書き込んでた人間と同じくレジスタにだけ乱数が出現する状態だ
Even,Odd共に1サイクルの空きも無いから配列にはき出すコード埋めるだけでもオーバーヘッドがかかる
このままやってても優勝が難しい様ならフィクスタ賞向けのコードに書き換えなくちゃいかんのだが…
乱数のレイアウト変更した方もある程度の設計はしたものの思った程速くならない
プログラムとしては前者の方が気に入ってるから出来ればそっち出したいな
>>147 ゴマソースだよ。
それはそうとだんごは学生部門じゃなかったんだな それは非常に助かる
今までの言動からすると、団子が本当のスタートラインに 立ててるかは疑わしいわけだがw
>>152 フィクスタ賞できたから、遅くってもフィクスタ賞狙いだったって言い訳はできるなw
団子には是非優勝を狙ってると宣言して欲しいものだw
再利用性にこだわってたからフィクスタ賞狙いでも別にいいけどね フィクスタ賞とりつつ優勝者を上回るコードを締切と同時に公開したらかこいい
10パターンくらい用意しててどれにするか迷ってる状態。
>>152 そう思わないとつらいことでもあるんですか?(笑)
10パターンってw 一番速いのか一番実用的なの 一番アルゴリズムが綺麗なの 3つ位しか選ぶ基準が思い浮かばねえ
何度も言ってるが出力が互換であることは実用性とはまったく関係ない。
ならなおさら10パターンも思い浮かばないな 一番速いの選べばおk
そこそこの性能を出しつつネタに走るとか
>>157 デコードに何十種類もかかるフォーマットじゃなければな
何十種類→何十サイクル 一体どんな残念な事が頭の中に起こってこの単語が出てきたんだ…
IOCCCばりのネタプログラムを希望する
>>160-161 ビット配列がどうなっていようと乱数は乱数なんだぜ。
たとえば公式のMTの64bit専用版は32ビットと生成式が違う
ビットの配列構造が違ってても乱数は乱数なんだ。
たとえば、32ビット乱数32個を行列転置したら乱数じゃなくなるのか?
多分レイアウト変更組がやってることってのはそれだよね みんな薄々気づいてただろうけど結局こうなったな 確かに転置したところで乱数であることには変わりはないね で、それを読みだすのに何サイクルかかる?って話だよ それとも0bit目を32個集めてそれも乱数って言ってる?
165 :
202 :2009/02/02(月) 10:26:06
>>164 MTの場合、それでも乱数といえそうな気がする。
bit単位のランダム性が特徴のひとつだから、ビットを特定の順序に並べ替えるだけなら
ランダム性が崩れない。
>>164 ん?0ビット目を32個集めても乱数として使えるだろ?
同じサマリになるようにしろってのはフィックスターズの都合であって
現実にモンテカルロなどに使う場合はビット単位でのランダム性を破壊するような改変でない限り
十分実用的といえる。
そうか 理解不足で混乱させてすまん って事はフィクスタ賞も危ういなぁ 純粋な互換で勝負するのは無理があるか
herumi氏が苦戦してるの見ると小気味良いな
>>129 あ り え な い 。それは。
GF2^33で tempering 処理を80%近くまで外部化してやらないと、そのトランザムは出来ない。
仮にビット単位の数え上げをMacWilliams恒等式で集中計算しても、ハミング距離が使えないその段階では
mod2^32 変換行列が手に入れられないはず。 妄 想 で つ か ?
とりあえず SIMD でループを大量にアンロールして合計値にどんどん足していけ。
アセンブラならABIに従ってレジスタ値取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。
キョッキョッキョッキョッキョ
171 :
デフォルトの名無しさん :2009/02/03(火) 04:29:05
スレ違いだったらごめんなさい。。 きく人がいなくてここに辿り着きました。 for ( i = iv->dim; i < new_dim; i++ ) iv->ive[i] = 0; こんな感じの構造体のループって普通にSIMD化できるんですか? 構造体とかよく分からなくて…汗。
172 :
デフォルトの名無しさん :2009/02/03(火) 04:30:51
それと、 register int i; for ( i = 0; i < len; i++ ) out[i] = s*dp[i]; 上の様なコードをSIMD化したかったら、 vector float *out_v, *dp_v; for(i = 0; i< len/4; i++){ out_v[i] = vec_misaligned_load(*(out + i*4)); dp_v[i] = vec_misaligned_load(*(dp + i*4)); out_[i] = spu_mul(spu_splats(s), dp_v[i]); vec_misaligned_store(out_v[i], *(out + i*4)); } for(i = 4*(len/4); i < len; i++){ out[i] = s*dp[i]; } こんな風にするしかないんですか? outとdpは引数で、16バイトにアラインメントされてるか分からなかったので、この方法しか思いつかなかったのですが、何かこれじゃ余計遅くなるような気がして;;
173 :
デフォルトの名無しさん :2009/02/03(火) 04:36:49
最後に、 for ( i = 0; i < px_size; i++ ) px_pe[i] = i; がSIMD化可能とコンパイラに言われたのですが、適切なintrinsicsが思い浮かびません。どうSIMD化できるのでしょうか? あと、signed int **a __attribute((aligned(16))); と宣言したら、**a, **(a+4), **(a+8),...が16バイトにアラインメントされてることになりますか? 長くて&初歩的な質問ばかりですみません。 よろしくお願いします。
なんだそのやる気のない記法は。 outとdpのアドレスを16バイト境界にあわせられない理由がある? 最悪ストアだけでいいから16バイト境界にあわせること。 合わない部分はループの外に吐き出してOK。
16バイトにアラインメントされてるかを検定する方法を知らないとか言わないよな?
>outとdpは引数で、16バイトにアラインメントされてるか分からなかったので、
>この方法しか思いつかなかったのですが、何かこれじゃ余計遅くなるような気がして;;
判定方法が解らないとか言わないでくれよ?
ループ回数が十分大きければ、ループの外側での条件分岐はトータルの計算時間に大した影響は無い。
(address + 15) & ~15 などとして、16バイト境界を検出する。
んで、16バイト境界に合った区間だけのSIMD化を検討しる。
>>173 ならねぇwww
そもそもaの指す実体は何だよ
そいつがアラインメントされてるかどうか次第だ
176 :
デフォルトの名無しさん :2009/02/03(火) 05:06:15
>174さん あ、すみません。少なくともoutは代入されるだけなので16バイトにアラインメントしても問題ないですね。 dpの方が理解できないのですが、引数として貰ってくるものなので…いつアラインメントすればいいのでしょうか? 宣言された後で、dp __attribute__((aligned(16)))って書けば行列の中身も全部グッと(?)移動するものなんですか? よろしくお願いします。
177 :
デフォルトの名無しさん :2009/02/03(火) 05:13:45
>175さん 同時にアップしてたみたいです;;前の質問消しておきます。 なるほど!そうやってSIMD化するんですね!コード書きなおしてみます…。 どうもありがとうございます。 aの指す実体…。う〜ん、実はポインタ一週間前に覚えたばかりなんです。汗 ちょっと考えてからまた質問させていただきます。 ありがとうございます。
言ってる意味がわからん。 dpの配列の実体はダレが決めるの?君以外が決めるの? 君が自由に決めることができるなら、その配列に、alignオプションを指定しておきなさい。 自由にならないのなら、交渉しなさい。 駄目なら、そこではじめてミスアラインロードを検討すればいい。 __attribute__((aligned(16)))という指定は、配列の定義を指定された通りにデータを配置されるというもので 元々あるデータ配置を移動するものではない。 ポインタにalignやってもポインタ型が16バイト境界に配置されるだけで 実体は実体の定義通りに配置される。
ポインタ理解してないのにSIMDとか無茶ですから
なんだかんだ言って親切だな。
181 :
デフォルトの名無しさん :2009/02/03(火) 05:34:33
ありがとうございます。 meschachというライブラリの中のループをSIMD化しているところなんです。プログラム自体をあまり理解してなくて。。 あと、また質問なのですが、SPEプログラムで実行時間を測りたい場合って、SPU Decrementerでprof.star()とかやるしかないですか? これってCELLシミュレーター上でしか使えないですよね? #include <time.h>でclock()とか使ってみたんですけど(ps3上で)、エラー出たので、サポートされていないのかなと。 よろしくお願いします。
time.hは使えない。 SPU DecrementerはPS3やSpursEngine上のSPU実機でもつかえる。
>>180 ば・・・ばか!だんごやさんはもっと殺伐としてるべきなんだよ!!!!11111
え、PS3上でも使えるんですか!?何でエラーが出るんだろう…。涙 ありがとうございます。
根本的にスキルが足りてない気がするが…… ツンデレ団子がフォローしているから任せておくかw
団子さんはherumi氏を超えた!
しかもはるか斜め上!!
ダンゴさんのネタ切れでスレが沈静化したな
189 :
デフォルトの名無しさん :2009/02/05(木) 14:24:50
荒らすな。団子のせいにするな。
んじゃネタ振り。 「任意の n に対し O(1) 解は存在し得ない。」 がんばって O(n) 最適化しよう。
o(n)とO(n)が別物と最近知った俺には ちょとむつかしすぎる問題だ
正直現状で構わん。やってたこと荒らしと変わらないし。
>>190 n<=INT_MAXに限ればあり得るだろ?速度はさておき。
そこはO(log(n))解を探せよチキン
おしまい
O(n)に実質的に落ち着くんじゃないの?
×O(n)に実質的に落ち着くんじゃないの?
○
>>195 がO(n)のロジックしか思いつかない
俺はO(n)で優勝する気満々だからおk
ヒントを書かせようとしてる奴がいるな。 そんな奴はもう参加賞で我慢しる。
>>197 無理だね。
気づいた人もいるだろうけど、O(n)を切るロジックは、ある。
どうしてもCellっぽく書けない・・・ これじゃまるでHack the MTだ。orz
なんか、13 も切ったしトランザムも(多分)解ったんだけど、なんか飽きちゃったw
ぶっちゃけCell自体に飽きた。 IntelのCtプログラミングの資料見つけたけどこれかなり面白い。 なによりC++ベースってのがよい。 CUDAやOpenCLよりよっぽど直感的に組める。__device__とか__gloval__とかアホか!
話を逸らし始るくらいなら帰れ。
Frameworkの話なんだけど。理解できない奴は帰れよ。 CellをOpenCL対応させようとしてるのくらい知ってるだろ?
SpursEngineで遊ぶかな
ところでCt使うと1000×1000の行列の逆行列が求められたりするわけ?
なんじゃそりゃ? Intel CPUでできることは一通り出来ると考えて良いんじゃね? 仮想アドレッシングをデフォでメモリの制約は プログラミングのノリとしてはThreading Building Blocksをもっと発展させたものって考えればいい。 見た目テンプレートベースのコンテナ、中身SIMD×マルチスレッドかな。 んで、中間言語がx86ベースで、ネイティブコードもx86。Intelベッタリ。 IntelのIntelによるIntel CPU/Larrabeeのための言語。
投稿ミス ×仮想アドレッシングをデフォでメモリの制約は ○仮想アドレッシングをデフォでサポートするからメモリの制約は基本的に無いと思って良いと思う
要はFortranのベクタ演算の自動SIMD化っぽいものをC++でも出来るようにって事? その程度のtemplateベースライブラリなら自作のがあるからなあ。 コンパイラの自動ベクトル化よりかは小回り利くけど アドレスが単調増加しないような複雑なことをやろうとするとやっぱりOpenCLみたいな方がいいと思う。 ってOpenCL使ったことないで言ってる。 でもCtに関しては古い記事一つしか読んでないけど、仮装アドレッシングじゃなくて疎行列をサポートするって話じゃないの?
仮想アドレッシングはx86自体が持つ機能なので言語処理系でどうこうの問題じゃない。 VRAMが足りなくなればメインメモリやHDDにスワップということも理屈の上では可能ってこと。 結局はドライバに縛られるわけで、どこまでやるかは知らないが。 疎行列ねぇ。 それっぽいハードウェア機能はあるけど・・・。 CtはC/C++じゃなくて中間コードを吐く言語処理系だからC/C++の考え方はちと違う可能性はある 動的な再構成が可能って点ではネイティブのC/C++より優位性があるかもしれない。 SIMDが128ビットだろうが512ビットだろうが、1コアだろうが16コアだろうが Ctのランタイムが動く限り、コアを有効に使うことが出来るって意味で。 CellでもSPMDのフレームワーク出てたよな?MARSだっけ? ちと性能的にイマイチなんだが。。。
212 :
209 :2009/02/05(木) 19:56:44
>>210 とは言っても新しいベクタ長が出たらSIMDの基底型クラス追加するだけだし。
templateだから外側の配列クラスには影響しない。
当然多くの人にはそれが面倒だろうから助けにはなるだろうけど。
>>211 いや仮想アドレッシングをサポートするなら問題ないよ。
でもそうじゃないんじゃないの?ってだけ。
そうすると32bitプロセッサでは科学計算に使うようなばかでかい配列は用意できない。
メモリ4GB搭載も珍しくなくなって、OSも64bit版乗せるメーカーが出てきてるから
頑張って仮想アドレッシングをサポートしなくても
案外64bitへの移行は唐突にやってくるんじゃないかという気もしている。
213 :
209 :2009/02/05(木) 19:59:51
> 助けにはなるだろうけど。 「Ctの存在は」が抜けた。
あー、ここでCtの話が始まってしまったか。 Intel某氏によると、CtのI/Fのオープン化を検討しているとか話があるようだから、 CellでもPLAでもなんにでも載せられる可能性はあるだろうね。 アーキテクチャごとに一一移植して調整すること考えたら楽になるよ。
Ct を Cell に移植して調整するのはだれが?w
まあ、「Microsoft Visual Ct」が出てくるだけだと思ってるわけだが。
>>213 現時点ではLarrabee上でマイクロOSなるものが動くことが明言されてる。
インオーダでSIMDバリバリやる以上は、論理レジスタ16本くらい最低限欲しいから、
最初から64ビットになるんじゃないのかな。
ホスト上のOSとカード上のOSは基本的にメモリ空間が独立しててドライバ経由での通信になる。
このへんはフィックスターズの売ってるぼったくりCellカード上でYDLが動くのと同じ理屈かと。
困ったことに、PS4はGPUにLarrabee採用なんて噂が・・・
んな話聞いたことねえよ。 中の人がお前にそう言ったのかもしれないし実際乗るかも知れないが、どう考えても(お前の/中の人の)脳内妄想の域。 開発するからにはあらゆる方法でスピードとコストバランスを検討するのは当然だから その程度の噂でいいなら俺だっていくらでもホラ吹けるぜ。
団子って、結構面白いところに居そうだよな。 そういうところに居る人間と居ない人間では触れる情報が全然違うんだから、 妄想だのなんだの言うだけ野暮。
居そうにみせかけてるだけで実は人一倍情報収集してるだけだったり。 Intelの開発者向けサイトなんて宝の山だぜ。
Cellってもう4年位前のCPUなんだな 最新のCPUと戦い続けるのは無理があるだろうに 新型Cellとか出る気配もないしFixstarsこれからどうするつもりなんだろうなぁ
1337ページってすごいな
>>216 独自拡張の Visual Ct/CLI ですね、分かります
アンローリング無しで20倍 HTC開始から40日。やっとここまでこれたわ
>>225 MPUとGPUとは別にCell搭載するんじゃないの?
sonyはCELLの為に工場作ったし、そう簡単にcellは捨てないだろう。
団子より速そうな人のブログ見つけた。 チェックサムチートはしてないっぽいけど 結果が凄すぎて何やってるか想像つかない
そのblog教えてください。
近頃の奴は・・ ぐぐって探せカスが・・ つ"hack the cell" それでも見つけられないならもう一度書き込め
みつからねーよ 教えろ、このヤロー
お前の書き方が気に入らないので教えない 1/31だ
インラインアセンブラ無しで9.5cycleって神がかってるような…。
ちなみに、Tempering+加算を「まじめに」やると11cycleかかるので、 トランザム組確定っぽいですな。
>>237 235は自分でたどりつけたぞ。
お前もやれば出来るはず。
hack the cell
でググレば50件以内には出てるぞ
ききっくすさんとかはまちさんとかその辺の人ことじゃないかなぁと予想
トランザム組かそうじゃないかは処理時間/処理数の切片を見れば大体分かる 235のは概算で3000ticks位かかってるからトランザム組とみていいんじゃね
>>236 なんか11である根拠とかあるのか?
15や13の壁だって破れるまではそこそこかかったはずだけど
と言いつつ俺は普通のやり方じゃ11.5も割ってないけど
>>241 y ^= (y >> 11); // 2
y ^= (y << 7) & 0x9d2c5680UL; // 3
y ^= (y << 15) & 0xefc60000UL; // 3
y ^= (y >> 18); // 2
r += y; // 1
なもんで、11cycle切ってればトランザム組と判断してます。
セカンドガレージってブログは団子さん家だったと思う。ちがったっけ?
むしろtemperingを59命令未満にする方法を考えないと
なんで「second」なんだろうな? たぶん、中の人の本サイトが別にあるからだと思うけど
>>229 あそにおると事件で有名な諫早のFabだろ?
既に東芝に1000億で売っちゃったよ。資金繰りに困って損切り。
東芝も高い買い物したよなぁ。
ソニーからすれば減価償却考えても1000億は安すぎるわけだが 切らなきゃ大損害を被ってたろうね。 この度の不況により東芝は諫早も含めて生産規模縮小中。
諫早はどうでもいいんだが、大分の縮小は困る。
>>246 本命がその方法なら同じことをアセンブリでやってる俺の勝ちなんで非常に助かるんだがな
O(n)を切ってる奴には残念ながら勝てないがソース公開は楽しみでもある
残念だが俺は君とは違う方法をやってる
団子さんの本サイトってどこ
団子の正体は日本史の二流研究者 "日本史" "排仏毀釈"で調べれば見つかるぞ
>>253 それは残念
3/20を楽しみにしとくよ
コンテストと関係なくて初心者質問で恐縮ですが SPEプログラムってマルチスレッドのみならず関数呼び出しの場合も レジスタ全部退避するんでしょうか もしそうなら全部main()で済ますのが正解?
70番〜127番までのレジスタは関数呼び出しの前後で保存されてなきゃならないって決まりがあるっぽい って事はレジスタが余ってる限りは退避しないようになってるんじゃないかと 確かめたわけじゃないから絶対とは言えんけどもレジスタ大量にあるのがSPEの特長だしね
そういうのはABIで決まってるから
小さい関数なら__inlineキーワード付けなくとも最大の最適化オプションならインライン展開される
素晴らしい解法を思いついたと思ったが 最終段がDLPだよ......orz.....検討し直し
DLPって何の略?
ありがと
普通にやって10%切るの難しいって誰か書いてなかったっけ? 土曜から始めて、今、mtテーブルの初期化が終わった。 ループ展開などする前でも10%切るんだけど。かなりハードル低くないか? それとも、このあとのTemperingがきついのかな?
10%切るの意味が分からないけど10倍速は素直なSIMD化だけでできる
268 :
266 :2009/02/10(火) 00:16:40
>>267 普通そうだよな。それに、今回の課題はオリジナルがいちいち
関数呼び出しているからオーバヘッドが大きい。
だから、オリジナルの3%を切るくらいが普通の書き換え組みの最低ラインだろう。
とはいえ、俺がそのラインに届くかどうかどうか知らんが。
3%はSIMD化してアンロールするだけで届く 普通の書き換えならそこからさらに倍速になってからが勝負
駄法螺吹きが多いな、ここはw
mt_mine.cをいじるだけで事足りるんじゃ?
>>272 spe 用の main を mt_mine.c に書くと一つのバイナリに二つ main が入ることになってシンボルが衝突してしまいます。
また、spe2 のライブラリにリンクしないと、spe_program_load などがリンカエラーを起こします。
Makefile を変更しないとどうにもならない気がするのですが、何か根本的に間違えているのでしょうか。
>>273 根本的に間違えてるよ
そもそもppeプログラムは不要で,speプログラムだけしかない.
コンパイルしてできた実行ファイルを実行すると1つのSPEにロードされて処理される.
たいして量ないから課題についてきたすべてのファイルのぞいてみな。 全体の構造がわかるから
>>267 ソース見せて?
いや、ホントに素直なSIMD化だけで?
SIMD化したら単純に4倍になるだけじゃないからな SPEでスカラ演算しようとしたらそれ以上のコストがかかる
デバッグプリントはさむと実行できるのに そのコードをコメントアウトすると10回に6回位実行が止まりやがる どうやらSPEがDMA転送するあたりで止まってしまっているみたいだ デバッグ難しいねえ
>>279 普通のPCではお目にかかれない現象だなぁ。
なんちゅうシビアな。。。
>>280 昔のPCだと、CPUクロックが上がった所為で周辺ICがついてこれず、ハングアップするなんてことがあった。
対処方法は、I/O制御インストラクションの間にnopインストラクションを幾つか挟むことだったり。
>>280 PCでもデバッグするのにprintf入れたらバグがでなくなるとか遭遇しないか?w
>>281 それもシビアですなぁ。CPUを待たせるっていうのは思考と対立するなぁ。
>>282 VCのデバッガ最強伝説。標準の関数消したら直ったっていうのはは今までないね。多分。
あ、printf入れたらか。そっちもないけどさ。 そんなシビアな環境でやってないからかな。。。
止まらなくなった。何が何やら分からない。きっと今日は風が強かったからCellBE様のご機嫌がちょっと 悪かったんだな、うん
>>279 同じような事で悩んだりしたのでヒントっぽいものを。
・align16 付けてますか?(SSE と違って実行時の例外は無し)
・アセンブラから書き換えるグローバル変数は volatile にしてますか?
今のところ spu-gcc-4.3 の致命的なバグに遭遇した事は無かったりもします。
>>282 割り込み属性を指定してる関数で破壊するレジスタを待避しないコンパイラや、
ABIを無視して呼び出し先関数で使用しているレジスタしか待避しないコンパイラなら
見たこと有りますよ。
と思ったけど止まったぜヒャッハァー
まぁ、アライメントだろうな。
>>283 デバッガ関係ないし。
シビアなマルチスレッドプログラミングしてたらよく起こる
printfでうまくいくケースはメモリ周りだろ アロケーションしてないとこの参照とかあるとそうなる
みなさんどうデバッグしてます?経験?デバッガ?
>>291 ただの趣味グラマだけど、基本はVCのデバッガで引っ掛けて、引っかかったらカンと経験っぽいもので何とかしてる。
一応、ユニットテストっぽいこともやるにはやってるかな。
今回はprinf( )デバッグだけで済んだ。 というか、リモート・デバッガ動かなかったから prinf( )デバッグしただけなんだな。
コンテストも終盤だし、スレの勢いも落ち着いてきたね
コンテストの目的って何なの? Cellでなければ不可能な最適化や高速化の技術があるはずだ、って事なの? SFMTとは違う事をやるの?
>>294 誰ももう手の内を明かしたくないってことだろう。
>>295 いわゆる惰性って奴じゃないか?
297 :
202 :2009/02/17(火) 10:57:17
F1みたいに厳しい制限の中でトップを争うレースかと思ってたのに、 何でもあり or 曖昧な評価基準 のレースになってしまって、やる気が 無くなった。ここ2週間何もしてない。 一応提出できるレベルには持っていく積もりだけど、Fixstars賞すら狙えない レベルに落ちぶれてしまった。
今はCell Challengeの方やってんぜ 提出締め切りがこっちの方が近いからな
>>298 俺もやってんだがこっちはツールキットの10倍すら厳しい・・・
しかもOpenCafe上でやるとたまにだが実行時間がめちゃめちゃ遅くなるし
今ホームページみたらQ&Aが更新されてた
遅くなる事象が報告されてるみたいだな
いったいどんな属性のやつが優勝するんだろう?
暇人である事は確かだろう
おれは暇人に該当するがさすがに職場からリモートでするほどの勇気or気力はないな。 つか不景気だし。 カレーだいすき れんこんだいすき
>>295 本来の目的は前者、つまり、あなたが言うような「Cellでなければ不可能な最適化や
高速化の技術があるはず」だと思うよ。そこら辺が曖昧になったから、
>また予想以上の盛り上がりに感謝し、「実用性に優れている」と弊社にて判断した
>プログラムに対して「フィックスターズ賞」を追加することに決定しました。
>
>「実用性に優れている」と判断する基準
>* MT 乱数 (tempering された乱数) を生成している
>* オリジナルコードと同じ順序で乱数を出力している
>* MT 乱数を簡単に取り出せること (関数の戻り値, 配列に格納, など)
>* 高速である
>※上記の基準をもとに総合的に判断します。
という具合に「フィックスターズ賞」を作ったのだと思う。
要は、即戦力になる人材に応募して欲しいんだろ。
.>「実用性に優れている」と弊社にて判断した
^^^^^^^^^^^^^^^^^^
という一文が重要なんだよ。
ノーベル賞も実用性、実効性が最初に問われるんだってよかったね。
プログラミングの質問なんですが、 DMA転送する際に構造体のメンバがポインタだとSPUで読み取れないんですか?
エスパーレスするが、 取得したポインタを用いてさらに別途DMA転送しろってことじゃないか?
おいお前ら メモリ足りてる?
>>307 とりあえずループ展開終わっただけの段階だけど、足りてる。
ファイルサイズだと253.0k。チューニングすればもう少し減ると思うが
コンパイラがどう最適化するか判らないから、増えるかも?
前スレの「ていうか頭足りてる?」を思い出した
IBMのCell Broadband Engine Programming Handbookがリンク切れなのは何故。。
あと2週間、だっぞ。 159-1名の君たち、せいぜいがんばれや。
159って何? そんなに参加してるの?
駄目だなぁ、どうしても3%を超える事すら出来ない。 命令順序を入れ替えても変化なしだ。
↑ ルイスvsホリフィールドを久々に見せてもらったよ
中の人が言ってたアレ完成したのか
[チラシの裏]
プロファイラの結果見ながら片っ端からソース書き換える仕事も一段落して、
次はOpenMPのマルチスレッド地獄。楽だと思って甘く見てたら、今日だけで
落とし穴に2回も落ちてしもうたよorz 目標の100FPSまでもう少し。
>>297 気力出なくて放置してるのはわっちも同じです。トランザムさえ無ければ
5位以内に入れる自信は有ったのになぁ…。
お互いに牽制し過ぎて、勝てないと思ってみんな提出しなくてノーマルな方法で優勝可能というオチだったりw
159名がどこから来た数字かやっと分かった。 これは見つかるのかw
SIMD化すると遅くなるんですがなぜですか?
依存チェンじゃね? とcellを知らないオレが答えてみる
なぜですかって聞いちゃだめでしょう。ルール的に
トランザムって何? 禁じてなのか
>>325 俺も何か高等テクニックなのかと思って近くの奴に
トランザムって知ってるか?
と聞いたら最近のガンダムがどれぐらい面白いかの話をされた
> トランザムって 厨二病
トランザムシステム(TRANS-AM) オリジナルのGNドライヴに予め組み込まれていたシステム。 機体内部に蓄積されていた高濃度圧縮粒子を全面開放することで機体が赤い光に包まれ、 スペックを3倍以上に上げることができる。しかし、このシステムは大量のGN粒子を消費し、 使用時間の制限と、時間終了後は粒子の再チャージまで機体性能が大幅に低下するなど、 諸刃の剣である。イオリアがヴェーダが何者かによって破壊、もしくは掌握されたときのために 温存していた最後の希望であった。
コンテスト終了後はソース公開されるんでしょ? それ見ながら、このスレでトランザムについて解説してもらったらおk
fixstarsが今度Cellプログラミング実践セミナーを開くそうだけど、行く人いる? 自分は考え中・・・
俺はトランザムって、てっきり車(スポーツカー)の事だと思ってた。 まさか最近のアニメ(ガンダム00)の話だったとはw。
>>332 それは元々、TRANS AMericanでアメリカ横断と言う意味だな。
>321 「俺がガンダムだ」の意味が分かったよ。 そんなもん分かりたくもなかったがw。
speedchallengeはもうだめだ 「他のジョブが動作中です」的なエラーがでて何も出来ない
Cell Challengeだけどまだプログラムを書いてる途中で一度も動かしていない\(^o^)/オワタ こんな長いコードのデバッグとか正直あと1日で無理だろ,常考…orz
俺はバグとり合戦開始した。コンパイラはエラーはかないけど、正しい結果が得られない 明日の夕方に間に合えばいいが
ぉぅ,こっちは今からやっとバグ取り合戦だぜ. 徹夜してがんばろう.しかしチューニングまでは到達しないかもしれn… Another jobが云々は他の人もがんばってるってことかな. がんばらないと…
>>335 ターミナルでcellunlockするといけるってどこかに書いてあった気がする
90%ぐらいの確率で答えを正しくだすけどっていう状況になってしまた\(^o^)/ それも実行する度に正しかったり1違ったり…orz DMA転送の付近で順序がおかしくなってるんだろうなー…
間に合わないだろう、さすがに。
あきらめってきもちいいです
別のバグを見つけて解決したけどなぜ時々正解していたかは未だに謎 とりあえず命令順序を良いように変えてくれるコンパイラに感謝 ところで Cell challenge って短い文字列でも勝負やるのかね もしかしたらそもそもSPU起動しない方が速いとかありうるけど まぁあまり気にしないでおくべきか
PS3に比べてOpenCafeだと全く速度が出ない サイズの小さい問題ほど顕著で 128x256:7.3% 5120x5120:11.6% 20480x20480:42.4% 73600x73600:90.1% の速度しかでない PS3で開発してたもんだから今提出してがっかりした 何が原因なんだ
実はPS3とOpenCafeのPPE-SPE間,SPE-SPE間通信時間を比べると OpenCafeのほうが1.5倍の時間がかかってるんだよな SPEプログラム呼び出しに至ってはOpenCafeのほうは絶望的に遅い
少なくともSPEの起動・終了を使い回したりはしてないんだがなあ SPE間通信とシグナル通知レジスタあたりが怪しい気がする
単純にコンパイラの違いとか
ゲハ厨?
350 :
314 :2009/02/28(土) 23:08:14
うーん、相変わらず駄目だ。2月に入ってから作成始めて、 出来るだけ土日のいずれかは使ってるんだけど、オリジナルの 3%を超えられない。 ぎりぎりまで頑張ってみるけど、コンテストに出さないかも。 いい加減、土日はフルに休みたいし、めんどくせぇなw
135 の扱いが厄介だ。
Cell Challenge予選の結果が発表された (入力をまだみれてないのでおそらくだけど) 2^34の問題が0.2秒で解けてるチームが1位っぽい
imosさんてチームimoか?はえーなあ
お察しの通りチームImoですー 2^34が1秒切ったと喜んでいたけども1位とは4倍の壁… evenの埋まってる率はおそらく7割以上なのでアルゴリズムの変更が必須で悩み中
1位のチームの人Anthyの開発者?
何気にハックざセルの提出期限近いな 優勝ラインはどれぐらいだろうな? 4.5Mぐらいだと予想しているんだが
# OpenMP で並列化出来るところが少なすぎて発狂しそう…。
>>354 今週の土曜日になれば Hack the Cell のネタバレ解禁だと思うので、
パイプライン両方埋めるテクニックが盗めるかもしれませんよ。
>>356 数字書いちゃうとアレな気もしますが、一月末の時点で3.5M突破
している方もいますよ。
それはすごいな。 でも、まだフィクスタ賞のチャンスは俺には残ってるはず。
ああ、ふぃく☆すた賞狙ってる人は、コンパイラを飼い慣らすテクニックのほうを重視したほうがいいかもです。
コンパイラを飼い慣らすって そんなに差がでるのですか
え、gccに限らずVCだろうがiccだろうがコンパイラとの格闘だぜ?
自分はオプションにアンロールとO3つけてstripぐらいしかしてないです。 さすがに-pgとかつけたままにしたりましませんが・・・ けどその位を殺っておけばいいだろうという認識です。 そんなに激しく差がでるのかー
コンパイルオプションはいじったらだめなんじゃ…
自分はcell challengeなので。
無意味なラベルを入れておくとかそういうおまじないレベルの事はやらなくて大丈夫なんだよね?
O3だと動かない\(^o^)/
今日でひとつの祭りが終わるなぁ。勉強になったし楽しめたよ。満足満足
残念なこともあるにはあるけどなかなか楽しめたな しばらくしたらコード公開されるのかな それとも20までお預けかな
へるみさんは80倍ちょっとか。
ビット入れ替え思いつかずに、12cycleの壁超えられなかったもします。 フィックスターズ賞狙いですが、99%越えの接戦に勝てるか不安…。
トランザムってどうやって加算したの? spu_cntbとかをうまく使うの? 締め切りすぎたけど、結果発表までは内緒なのかな…
372 :
202 :2009/03/07(土) 11:05:43
俺なんか12.3cycle/qwordだ。ランク外orz
で、トランザムって何なの? 俺が・・・が出自ってことは分かったけれど
>>371 spu_cntbは最初に思いついたね
たとえば、
cntb(a) << 24 | cntb(b) << 16 | cntb(c) << cntb(d)
を8組作って、左シフト+加算で畳み上げるってのはどう?
8ビット単位のシフト+論理和ならspu_shuffleでできるからOddパイプ側で処理を割り振ることもできるし
このへんはいろいろやりようは有ると思う。
どっちかというとmt[]の更新のほうがめんどいんだ。
どういうレイアウトを組むかによってOddパイプの演算量が全然変わってくる。
375 :
371 :2009/03/07(土) 11:51:50
>373 たぶんbitを90度回転したんじゃないかと。 01234... 01234... を 0000 1111 ... な感じに。
( cntb(a) << 24 ) | ( cntb(b) << 16 ) | ( cntb(c) << 8 ) | cntb(d)
に訂正しときます
>>373 俺が最初に言い出しました。transpose + sumだからトランザム(笑)
あと速いし。さすがにmt[]の更新のほうがネックで3倍にはならないようだけどね。
なんのことはない、1bit×128並列のSIMD演算ですよ。
暗号のクラックなんかでよく使う方法です。
>>376 やっぱり1bitx128並列の事だったか。
その方法ならshift無くせるしxorとかの回数も減らせることは気が付いてたけど
めんどくさいからやらなかった。
やった場合には1要素平均何cycleまでいくものなんだろう?
>>377 ブログなんかで「大台」って言ってる人がいるけど、これは100倍のことだと思うよ。
だから2クロック切るくらいかな。
鬼すぎるw
The Art of Multiprocessor Programming 届いた。普通に神本っぽい。
ところで、KLabの中の人ってこのスレの住人だったりするのだろうか…。
>>372 12.3は何とか超えたけど、その少し先で詰まっていたりもします。
>>376 普通に translate + sum だと思ってましたo r z
temperingはそれこそすげー速くなるんだけどMT[i+1]とMT[i+M]のロードがなかなか難しいよね いろいろやったけど命令数的に90倍速程度が理論限界で諦めた コンパイラはレジスタ足りないってわめくし 結局普通の方法で11.75/cycleの68倍速で提出したよ こっちのコードの方が最適化自体に手間掛けたから気に入ってるんだ
11.75cycle/QWORDだた
ところでオレ以外に学生部門の人はいないの? 学生参加は手を上げて!!
>>382 mt[i+1]のほうは奇数・偶数みたいな分け方をすればpermuteの回数を「減らす」
くらいは出来るという結論に達した。
幸いなことに先頭から226個まではは並列実行できるし。
ただ、128ビット全部使うことは諦めないといけない。
1レジスタにビットを限界までの6分割とか8分割とかにしないといけない。
参加者が少なかったせいか10倍すら超えなくても参加賞は貰えることになったらしいので
ウケを狙うのもアリだったな。
○1レジスタにビットを限界まで詰めることを諦めて104ビットずつ6分割とか78ビットずつ8分割とかにしないといけない。
>>385 全員参加賞もらえるなんてどっか出てたか?
フィクスタの社長ブログとかには参加者159人とか載ってるし、参加者少なすぎとかは無いんじゃないか?
>>388 ほんとだ。疑ってすまんかった。
いつの間にか変わっていたんだな。
「トランザム」 = 「とらん、sum」かとおもてたよ Tempering後のchecksumをとらないのかと。どやってやるんだそんなのと
kikxさんとこのが良く分からない 乱数生成の順番は入れ替わりそうだけど転置ではなさそうだ
> z = si_lqx(spu_slqw(spu_gather(y), 4), mag_lut); > r = spu_xor(spu_rlmaskqw(y,-1), z); 懐かしい 左4ビットシフトもspu_shuffleでできるよね? このへんはみんな気づいたかなと思うけど。
シャッフル1回でってこと? 想像もつかない
何となく11.75になる方法分かったorz
>391 mt[]の中の順番が入れ替わるだけ、かな? >392 団子さんは結局何倍までいけました?
spu_gatherやるとさ、プリファードスロットの下位4ビットにLSBが集約されるじゃん。 で、他は0になるじゃんじゃん。 spu_shuffleの第一引数に { 0x00, 0x10, 0x20, 0x30, 0x40 ,,, 0xF0 } ってベクトルブッ込むわけだ。 spu_shuffle( pattern, pattern, (vec_uchar16)spu_gather(y) ) これで spu_slqw(spu_gather(y), 4) とまったく同じ結果になる筈。
shinhさんが俺をオフ会に誘ってるようですなwww
>>396 なるほど
そういえば最初のうちは似たような使い方することで
shuffleの定数生成機能を利用して1bitシフトしようとかしてたなぁ
でも、フィックスターズで会合セッティングするって、 社長blogに書いてあったよね。
団子の自演か。
入賞者以外も招待されるとしても気遅れしてしまって行けそうにない
そもそも人材スカウト前提のプログラミングコンテストじゃねーの? shinh氏はGoogleだから興味はなさそうだなー
>>403 おたくは誘われたら行くの?
それとももっと良いとこに勤めてたりすんの?
そもそもFixstarsっていいところなのかね? Cellに将来性を感じない
なんという正直な意見
現状じゃCellにいいことないよね LarrabeeとかGPUとかにも浮気するのかCell自身の発展があるのかどちらかじゃないと それに >経験、能力を考慮の上、当社規定により決定 は怖すぎる
団子の自慢か。
shuffleでシフトって意味あるの? 命令数も使用パイプラインも変わらない気がするんだけど…
要素単位のシフトはevenでshuffleはodd
すると
>>396 はこういうこともできるってだけで
別に意味はないのか
ところで貴様らソースコードの先頭ってコレ入れた? /* * Copyright 2008-2009 ***********. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: (中略) */ いや、BSDLで公開するなら常識だよな?
>>411 あるよ。普通の方法でやるとevenが余る。
evenでもoddでも等価な演算が出来る場合は、パイプラインの充填率をみて微調整ができるだろ。
そしたらslとslqwの使い分けでいいような
それもそうだな ケースを選ぶけどvec_uchar16に対応するシフト・ローテート命令としても使えるんだよ
これって優勝と準優勝しかないんだろ? せめて参加部門中で自分が何位くらいだったか知りたい
それでもFixstarsならブービー賞を用意してくれるッ!
>>417 あるかもなそれも。あったとして賞品はなんだろう?
てか俺は賞はいらんから純粋に自分がどのくらいの実力なのか
相対的な位置を尻たいのさ
>>415 ああ、確かにslqwでできなくてshuffleでできる演算はあるな
参考になった、ありがとう
トランザムはともかくアルゴリズムについてはもともと分かってた人間もいると思うぞ
cntbだけじゃなくsumbのことも忘れないでやってくださいです…
ってよく見たら本文に書いてあったね,すませ. しかしできればコード本体も書き直したのを載せておいた方が後の人のためにも.
書き直したやつ上げといた
shinh氏のはsumb使うときにオール0のレジスタ指定とかやったらしいが 実はそれが敗因だったんじゃねーのか? いや、mt[]のほうが大変なんだけどね
すばやい対応乙です しかし実はこのスレに圧倒されてHack the CellからCell Challengeに逃げ(ry とまぁそれはさておきここのsumbの引数の活用は意外と大きいかも? 単純計算0.5cycle/qwordは変わるし
あれ、cntb はレイテンシ4じゃねの。そしてsumbはevenじゃねの。
スループットのみを考えての計算だったのだけど 128個に対して16命令余分→4個に対して0.5命令余分みたいな もしevenが余ってたらあまり増えない可能性も十分にあると思うが
コメントはかなりいい加減です。
>>428 mt[i+1]なんかの算出の平均コストはそんなもんじゃすまない。
>>430 というかトランザムって言ってるなら+1なんてローテートの長さが変わるだけなんじゃ?
自分の書いた古いメモには128個の生成に1行あたり
LD,LD,ROT(16),ROT(16),SEL,XOR,XOR*.5(mag01),(*tempering),ROT*2(29=256-227),SEL,ST
(*tempering)=XOR*2.5,CNTB,SUMB,ADD
みたいなことが書いてある
実装してないので抜けや間違いがあると思うが
静かになるな 当分はこんなところか ・Cell Speed Challenge参加組 ・shinh氏主催のオフ会ネタ ・Cell@ム板スレのみんなで何か作ろうぜ
作ろうぜってw 実質 PS3 環境で価値のあるものって何かあるか?
PS3持ってる人でなおかつLinux入れてる変態専用だからなぁ その意味じゃGeForceさえ刺さってれば直ぐ試せるCUDAは敷居が低い にしても NVIDIA CUDA質問スレッドとくだすれCUDAスレが同時進行してる様は気味が悪かった。
kikxさんとこのが想像以上に頭良すぎてわろたw これは勝てないわ
fixstarsのチュートリアルがつながらんのお
> 松本先生の書いたドキュメントを読んでると、状態空間は624ワードじゃなくて623ワード+1ビットであることが分かります。 > これをワード単位に切り上げた実装が624ワードになってるだけです。 32 * 623 + 1 = 19937
>>376 前スレ1000に "let's transpose!" って書いてある件w
>>438 いやそれ以前に俺はbitsliceって単語出してるけどなwww
っていうか、団子がずっと bitslice に気付いてなかったっぽいのが・・・ 自分であんだけ色々弄ってるんだからとっとと気付くだろー、ふつーw
ひょえー、120倍でも勝てないのかよw
cell challengeのほうは予選の時点でおそらく220倍ぐらい いかないと勝てない件
120倍で勝てないってHack the Cellの話?
懇親会の連絡来たお
446 :
202 :2009/03/12(木) 15:35:12
fixstarsとshin_hさんの、両方参加する。
これみんな参加するの?正直気が引けるというか・・・
フィックスターズさんへ 首都圏限定の懇親会楽しいですか? 次のコンテストから応募要件に「首都圏在住であること」って 入れておけばいいよwww
地理的にも精神的にもイナカモンなんだな
優勝して交通費請求すれば出すんじゃね?
都民にあらずんば人に非ず。 というか、普通に考えたら首都圏在住の人間が一番多くなるんだから当然でしょ。 他にふさわしい所があるってんなら言ってみ?
沖縄
>>450 舐めんな。平日じゃなきゃ、のぞみでも使って自腹で逝ってやんよ
そうだ!関西にLarrabeeトータルソリューションカンパニーの設立を!
梅田の空中庭園あたりでなんかやるっていったら集まる奴おるか?
交通費出してくれたら行ってやるよ
つまり団子が自費で全国から招集のオフ会でも開くのか?
ええわ。誰も来るな。 一人でCUDAまいてやる
誰が上手い事言えと
CELLを使った電子会議システムでバーチャル懇親会をやればいい。
団子の起業フラグだな
本当に行きたかったらどんなに遠くても行くだろう まぁ行く気が起きない遠さなのも確かだが
かおでかいよ てか人集めたいなら休日にやればいいのに
平日だと何ででれないんだ? どうせ暇だろ?
暇など無い
いつものようにインフルエンザのふりしたらいいじゃん
悪いな。今度のプロジェクトは必ず成功させなきゃいけないんだ。
休日出勤したらいいじゃん。
別にいらねーよ景品なんて
平日はないよなー。何を思って平日にしたのだか
そりゃ主催側社員が休日出勤したくないからだろ
フィクスタも企業として勉強が必要ですなぁ
>>474 だが、心配のしすぎではないか。
_/_ |/
/_ __/- ―‐、 /
_/ /_/ヽ _/ |__
__ / / / ̄//> _ __/_ ヽ / __ _/_
/// 7" / / /\ /| 三/三 / /、_
//| / /-/_\ / / / // | ヽ//  ̄ ̄/ ̄ ̄ / \
/_,/ \_  ̄ ̄ /__/ \/ _/ / /_/ ヽ _/ ヽ_
/ ̄ ̄/ // ―― ___ / ___
/ ̄ ̄/ / ― // ―― / / /
/ ̄ ̄/ / / /  ̄ ̄ヽ / \ / ̄ ̄ヽ
_フ"て_ レ \ / _/ _/ \_ \ <二/
だけだぜ?
>>472 休日は場所押さえられなかったとかもありえんじゃね?
団子は平日無理ならshinhさんの反省会の方でればいんじゃね?
>>478 呼ばれてたけど参加の返事出す前に定員超えちゃったらしくて。
もっとも、メルセンヌツイスタとかの話題なら、全くの素人同士で議論交わすよりも
東広島の某大学にメール投げてたほうが収穫有りそうだし
どのみち話すことはないな。
レス早いなw まだ募集してるみたいだぞ。 まあ興味ないなら行かないほうがよいと思うが
松本教授あたりが招かれてるならさすがに逝く価値あると思うが Cellに特化した話題なら別に興味ないよ。 会場がなぜかFixstarsの本社になってるあたりでテンション下がった。
平日にしたのは平日にも来られるような現在プーの奴らを安く雇うためでないか? ただし使えそうな奴限定で。
483 :
202 :2009/03/14(土) 11:37:46
>>482 東京のIT業界では、平日の7時くらいからいろいろな勉強会、懇親会が各地で
開かれてる。大阪から東京に出てきたクチだけど、この勉強会の多さには驚いた。
まぁ、その前日はLLVM勉強会があったりして、平日の方が多いとは言えないんだけど。
げっそり
>>482 shinhさん主催のほうもなぜか会場をFixstarsが提供してるのは
つまりそういうことだろうね
団子厨はビビってるんだろ?
そしてリバウンド こっちだって近場でいろいろセミナーあるからね。 交通費出すのも馬鹿馬鹿しく思えてきた。
団子さんは大阪かー
太りすぎだぞ、デブ
仕事のプレゼンと被ってしまったんで両方とも不参加です。 アセンブラのスケジューリング+レジスタのカラーリングまで自前で やっている人が多くて驚いています。今回は完敗ですなぁ。
【告知?】 関西慰労会は日本橋のベヒんもスで開催なのは確定的に明らか。
fixstarsで働きたい輩は参加すべきなのだろうなぁ。やっぱり でも参加できねぇえええ
団子さんはintel以外アウトオブ眼中なんで
インテルハイッテル! インテルハイッテル! インテルハイッテル!
ネタも尽きてきたことだしこいつで遊ぼうぜ
http://www.kurims.kyoto-u.ac.jp/~ooura/pi_fft-j.html pi_ca 4194304桁でベンチ
Total 96 sec. (real time), chksum= 14fa @PPE
Total 104 sec. (real time), chksum= 14fa @Atom N270 @1.6GHz
SPEへの移植だけど、スワップするのにDMA使わないと無理だと思うんだ。
でも、DMAが使えなきゃCellを使いこなしたことにはならないんだぜ
cellスレ的には素敵な燃料投下ね 興味は、ある
>>490 いや、そことっくに閉店してますしおすし。
DMAとか面倒くさいですぅ
fuck the cell 2ch
むしろ、なんでI/O禁止だったのか考えてみようぜ。 CellのもっともCellらしいところじゃないか。 (GF拡大体による解法は想定外ということにして) DMAを使いこなすテクニックより、SIMDレベルでの最適化ができる 人材の発掘を重視したんじゃないかと思うわけで つまり、フィクスタはCell専業やめようとしてるんじゃないのかと 邪推してしまうんだが
そういや45nmプロセスの話はどうなったんだろ。
DMAからむと毎回実行クロック変わるからそれが嫌だったんじゃね?
敷居を下げて参加を増やすためじゃないんかな Cell Challengeの方はCell全く知らない人が参加しようと思うと結構面倒だ
>>499 現時点でのCellに関する知識量に依存しすぎるからだろ。
そんなピンポイントの技術で人材採用してたら、会社続くわけないじゃん。
邪推しすぎ。
そもそも人材を手に入れるってのが邪推じゃなかろうか
別に何も意図していなかった、というのはどうだろう? Cellプログラミングやってる人なら制限付きのお題投げとけばあとは勝手に最適化するよね、と。
これまで fixstars 知らなかった者としては、売名のためとしか思えんのだがwww
Cell Challengeそろそろ高速化のネタが尽きてしまった Hack the Cellに比べると難しいな 1位とかほんとにアルゴリズム一緒なんかと
予選の結果とか参考にしてどのチームが勝つか予想しようぜ
上位3チームは変わらないようにしか思えない今日この頃だ… 2^34に対してどれくらいのチームが1秒を切れるかが気になるかな # しかし自分は別の大会の〆切りの方が先なので今はそっちをやっていたり…orz
上位3チームも速度の傾向違うから違いそうだけども
上位早すぎて自分早くならなすぎで萎えてきた 自分の能力では張り合えない Cellアンチになってしまいそうだ
これって4位以内なら入賞出来るんよね いけっかな―
ハックザセルの結果出てる 団子入賞できてないんじゃね?ww
実を言うと、参加資格なくなったんだ 意味解るよな?
あまりCellの悪口を書けなくなったのかよw
というのは冗談で、トップ争い馬鹿馬鹿しくなって匙投げた。 仮に優勝してもテレビとPS3程度じゃ馬鹿馬鹿しいだろうと思った。 いや、たとえばの話だよ。 某GPUメーカーが、Tesla搭載のXeon DP機を無償提供してくれる とかいう美味しいシチュエーションになってみろよ。 いちいちPS3 2台目狙いの商品レースなんて馬鹿馬鹿しくなるだろ ・・・いや、あくまでたとえ話だよ。実際そうだなんて言ってないんだからね>< もちろん中の人に干渉されるのは嫌いですよ。 ええ、 『あ な た』 のことです。
Wiiタクティクスオウガの死者の宮殿ばっかしやってましたよ
hack the cellの結果、70倍と90倍の間に壁があるな。 そこがトランザムの壁か?
CellよりGPUのほうが効率いいんじゃないの?
もちろんCUDAのMTのサンプルほぼそのまんまで菊やん氏のコード超えると思うよ。 まだ試してないけどCore 2/i7だと150倍相当いくんじゃないかと思う
しかもそのCUDAすら団子さんの本命じゃないんだよね cellに興味持てなくて当然だね
いや、いかなる条件でも最善を尽くすのがプロでしょ。 俺は選り好みしたがる時点で負けてるよ。
つか、総評とかコンテストレポートって出ないの? どっかに出てるけど俺が見落してるだけ? 1位2位は単純に速度で優劣つくから納得だろうけど ふぃくすた賞選別とかは流石に釈明が必要だと思うんだが。
なんかみんなすげーわ。 プログラムの書き方が根本的に違う。 つかプログラムに見えないwww
>>525 所詮学生主体のコンテストだからなって妙に納得したけど
社会人凄いなぁ。学生と比べると圧倒的じゃないか 学生でトランザムっぽいのは一人だけか・・。
来年あったら放送大学の学生として参加しようかなwww
SPE1基で120倍ってことは6基使ったら720倍か・・・
ならねーよ。 状態に依存関係があるし
うむ、「1/6の稼働で120倍」と言えば嘘じゃない。
学生部門の課題提出者は16人か 少ないなぁ。スピードチャレンジもあったしなー
正直最後までインラインアセンブリの使い方わかんなかったよ ていうかまじめに調べてなかったけど。
536 :
202 :2009/03/20(金) 15:07:13
団子イタイなぁ…
うん、いたいよ。
んで、団子は何倍出たんだい?
bitsliceで100倍まではいけたけど、提出したのは従来の方策。
ああ、やっぱり100倍は越えれたのか
(笑)
bitsliceなんていう手法があったのですね・・・!!
なんかfixstarsの結果発表あっさりしすぎてるな なんかこう、、、ないの? なんのためにやったんだこれ?
フィクスターズ賞は何が決め手だ?
枕
アッー!
気になるなら来週のMT勉強会に出る人に聞いてもらえば
別にMTの高速化方法なんて無駄知識なんだしいちいち拘ったって意味ないぜ 来年同じ問題が出る訳じゃ有るまいし。 まあ、x86バイナリアンが上位に残ってるのは感慨深いね。 職業Cellプログラマってそんなに居ないのかな?
ゲーム屋以外にどこにいるんだ?w ゲーム屋もミドルウェア買ってるところはSPUあんまり叩かないんじゃないか?
上位者にゲーム屋は(ほとんど?)居ないっぽい
レポートは後で公開されるみたいだね。 まずはとりあえず結果とソースだけって感じか。
表彰式はやらないのかな
>>556 勉強会に優勝者くるっぽいから参加者で表彰してあげればいいんじゃね?
準優勝の人がキャメロットのプログラマだね。 Cellのコンテストなのに任天堂系の開発会社の人が入賞してるところがなんともw 任天堂的には良い宣伝になりそう。 ゲハネタにももってこいだなw
キャメロットはみんごる5なんかも開発してるぞ
すまん違ったわ。 いま開発してるのはキャメロットから独立したクラップハンズって会社だね。
みんゴル5はクラップハンズだよ キャメロットは初代みんゴル 公開情報を見る限り、最近はPSの仕事はしてないはず
SCEはこの結果を見て歯ぎしりしてるかもw また一つネタが増えたね
っていうかむしろSCEは参加禁止なんじゃないの?
Fixstars社員じゃないから応募は可能
今日はビルド待ち時間に入賞者のコード見てニヤニヤしてましたが、
両パイプライン埋めただけじゃ歯が立たないと言うことを痛感してます。
>>554 ゲーム屋(今はDirectXで3D)ですが、仕事でCell触ったことは有りません。
なんというゲハ脳。 業務上 Cell を扱った事のある人は、守秘義務契約上 参加出来ない、或いは非常に参加しにくいのは当たり前。
ま、テクニックを不特定多数に公開することになるから、そう言う意味ではまずいかもしれんね。 まあ、連中の実力も大したことはなさそうだが。
最後の一行が余計だよ
SPU一個のDMAなしでしょ? ゲームやさんはタスク並列にチャレンジしてるわけだし その先に行ってると思うけどな。 むしろタスク並列やっていたらあんまりタスク内の最適化は しないかもね。 ボトルネックにならない限りやっても意味ないことが多いだろうし。
んなこと言うならSPE6コア全部使って200倍でも出して見やがれですぅ
俺もその方法ちょっと考えてみたんだけどね。 全部同じmt[]に対してまったく同じ更新処理をする。 んで、tempering + sumだけを分担して処理する。 N = 624だから104ずつで並列化できるでしょ わざわざDMA使ってMTの状態をコピーするくらいなら それぞれで独自にテーブル持ったほうが速いんじゃないかって思ったんだ あ、もっといい方法があるなら指摘ヨロ
>>571 使用目的にもよるけど、それぞれ違う初期値で別々に動かせばいいんじゃない?
そうすればSPEの数に合わせてリニアに性能伸びるよ
新しく組んだプログラムのバグが直らず前のままですたorz 縦方向で各マス2ビットを用いた方法を使ったんだけどなー…うーむ
今年のCell Challengeの問題はデバッグが大変だったな 局所的に何か間違った結果が出ていても計算結果の距離は合ってたりするから困る 練習問題と予選問題だけではバグが取りきれない
うーん、斜め上の回答ありがとう。 「同じチェックサムになるような疑似乱数を生成する」って縛りがなければ ハッキリ言ってなんでも出来るだろ。
問題設定自体に現実味が無いな それと違う初期値で別々に動かすのは乱数が被ることもあるからNG
577 :
572 :2009/03/21(土) 17:53:09
>>576 だから「使用目的にもよるけど」って書いてあるだろ。
意味なくね?
mtの更新については、累積変換行列をひとつ用意しておけば ワープは比較的容易じゃないかなぁ。で、各SPUに時間差を 付けた集計を割り当てておいて最後に足すと。どの位の単位で 割るかや、勿論にテストケースにもよりますが、SPU数分-α 位の倍率はそんなに非現実的でも無い様な気はします。気が するだけだけど。
>累積変換行列 どのくらいの規模になるんかね? HDDにスワップするような規模なら本末転倒だが
つか並列は可能。 SPU単位でも、8並列すればselbを追放できる。 そうすればODD側がネックになってくるけどな。
>>580 大きく見積もっても32*19937bitじゃないかな。
行列うpきぼんぬ
やっぱり目的は乱数の発生じゃなくてチェックサムの計算なのかw
pmt(笑)は結局無かったことですか?
前出の人の話は私もわかっていませんよ。 mt の更新は本当に線形変換するだけなので、 出来ると思いますが…ちょっと実装してみますが それなりに手間かかるかも。
>569 に対する >570 がおかしいでしょ。
>>573 それってバグ直れば上位に匹敵するタイムを出せる方法?
>>587 ごめんね。
いや、要するにさ、経験がないことを言い訳にしてるんだよね。
そりゃ詭弁だぜ
今回のコンテストで初めてCellに触った人すら上位に入ってるわけで。
まあなんにせよCellプログラミングの経験を重ねた人間よりも
地頭のある人間を選別するテストとしては、Fixstarsの今回の課題は有効だったわけだ。
このスレ監視されすぎです KOEEEEEEEEEEEEEEE
実力ある人は実に謙虚だ
>>592 だんごやさんから傲慢とったら何も残りませんよ
じゃあCELL2になったら1/4時間でエンコ終了するのか
いいこと考えた SPEベースに普通のCPU作ったら良いじゃん
なんだ、ただの神か # 京大マイコンクラブってよく名前聞くよな
>>597 Spursエンジンですね。わかります。
あれだけ偉そうなこと書いてるくせに KMC知らないとか…
なにをおっしゃいますやら PLAMOが初めて使ったLinuxディストロですよ。 例の本の初版も持ってましたよ。こじまみつひろ氏ね。
一瞬殺人予告にみえた。Orz
Plamoとか東広島ネタとかやめてくれw 自分が書き込んだかと錯覚してしまう
>>601 > 例の本の初版も持ってましたよ。こじまみつひろ氏ね。
なんぞ恨みでもあるのか?氏ねなんて・・・。
それはさすがに2ch語に毒されすぎだ
最近ぬるぽしても叩かれないから淋しい
Cell Challengeの結果が出たけど 10問中5問がSPEの起動すら不要らしい Cellでやる意味が無いな
ソース
あのプリントTシャツどうする?おまいら
Larrabee新命令のプロトタイプ仕様出ました。
http://software.intel.com/en-us/articles/prototype-primitives-guide/ Prototype Primitives Guide
This .inl file provides a C++-implementation of the Larrabee new instructions.
Cellがコアを構成するトランジスタを削ることSIMD利用時の電力効率を向上させているのに対し、
Larrabeeはスカラ演算・マスク演算を活用し、データバスの電力をカットを減らすことで
結果的に電力効率を上げる方策のようですな。
さて、32コア時代のCellはどんな拡張やってくるんでせう?
×データバスの電力をカットを減らすことで ○データバスの電力をカットすることで
IBMがCell/B.E.およびPowerアーキテクチャから撤退か?
IBM DeveloperworksでのCell,Powerコーナーが終了する。
サイトには夕日の絵が描かれURLには「pa-goodbye」(pa = Power Architecture)の文字が。
投稿日は3月13日の金曜日とされている。(実際に掲載されたのはもっと後。)
ttp://www.ibm.com/developerworks/power/ DeveloperworksでのPowerに関する記事は2008年11月25日で更新が止まっていた。
今なら言える! Fixstarsさん、LarrabeeやろうぜLarrabee
YDL6.1をUSBメモリにインスコ中。 使えるようならHDD全部ゲーム用にまわす。
developerWorks Multicore acceleration zone changes
http://www.ibm.com/developerworks/library/pa-goodbye/index.html Summary: The Multicore acceleration zone on developerWorks is no longer
publishing weekly content.
Soon the Multicore acceleration zone will no longer be an official
developerWorks zone with weekly content publishes. We will continue to offer
and update Cell/B.E. resources in the Cell Broadband Resource Center. You'll
see Multicore acceleration removed from the zone table of contents, and
you'll see the link to the Cell Resource Center with the Related Links under
the zone table of contents.
どういう事? Cellリソースセンターで更新するからそっち見ろよ、って事? つうか、Cell/B.EやPowerアーキテクチャからの撤退とか関係無くね?
Cellリソースセンターも去年から更新されてない。 結局Cell、POWER関係は過去の主要コンテンツは残しとくけど 新規コンテンツの追加はもうやらないよって話。 アーキテクチャ全般のページも削除するようだから、 今後はアーキテクチャに関してはx86で行くんだろうと見たが。 今回のHack the Cellはこのスレのおかげで盛り上がったけど、 最後の打ち上げ花火だったかなと。
PS3みたいなオープンプラットフォームはPS4時代では実現しそうに無い (PS4があるのかってのも疑問だが)
しかしFixstarsとかどうすんのかね? Larrabeeはまだ無理としてもGPGPUとかやっとかないと Cellと心中だぞ
別にCellだけの能力の奴らじゃないだろ なんだったら今度俺が奴らを使ってやるけどな
ビッグなマウス入りましたー
プレゼン延期で本日も出社\(^o^)/ まだヒープ破壊バグ潜んでるっぽいし、 おまけにデバッグせずに機能追加してる人ばかりで、もう何もかもだめっぽい。 という訳で、PostMortemな人は楽しんできてください。レポート待ってます。
新しいアーキテクチャが出てきたらいち早く参入して次々に乗り換えていくのが 一番おいしいような気がするな。 一つのアーキテクチャに固執したらだんごやMACオタみたいな人になってしまう。
でもCellはやっといて無駄じゃないよ。 特にマルチコアでの並列化のスキルは今後どのアーキテクチャでも 必ず必要になる。 Cellを使いこなせる人はLarrabeeも使いこなせる。
CUDAやATI Streamが出てもCell専業に拘ってる時点で心中する気満々だと思うが 俺はいちいち固執してねーから某社の開発者支援プログラム(仮)に選ばれてるわけだが。
>>625 x86のSSEと比べてCellのどこが弱点なのか見抜けない人には
Cellと心中するしかないと思うよ。
Larrabeeの組み込み関数、なんでああいうインターフェイスになってるのか俺は一発で理解できたよ。
Larrabeeの先行学習するのにSSEならまだしもCellを勉強する意味はないと思う。 SIMD・マルチコアならCeleron・Atomでも充分だし。 むしろスカラの扱いがアレだったり、ローカルストレージとDMAとか つぶしがきかないような蛇足な知識が多いぞ。
まあ今からCellやる意味は皆無だけどな。 でもLarrabeeは100%性能を引き出そうとするとCellと同じようなことやらないといけないんだ。 ちゃんとLarrabeeのこと調べてる奴なら分かるはず。
きちんと調べてる奴なら、TBBを使ったCore 2等向けのプログラムをほぼそのまんま利用できて 車輪の再発明がほとんど必要ないことも知ってるだろう。
まあ、そもそも守備範囲が違うだろう SCEと東芝が辞めなきゃCellは続くかもね ま、どっちも辞めそうだけどな
そういえばCell Challenge 2009と同じ課題のGPU Challenge 2009の結果発表がもうすぐあるな。 Cellがどれだけ差を付けられてるか見ものだわw だいたいGPGPUが出た時点でCellの存在意義なくなってるんだよな。 応用範囲も同じぐらいだしプログラミングのしやすさについてはすでにGPGPU勢に抜かれてるし。 優位なのは消費電力ぐらいか?
>>631 ちゃんと嫁おばかさん
100%性能を引き出そうとすると
別に電力効率も良くないよ。 「汎用」をうたうプロセッサの中ではトランジスタあたりのSIMD演算性能が比較的高いだけ。 そりゃスカラ演算専用の機能を削ってるから当然だけど。 家電用には過度な汎用性といわれるし、PC用としてはSIMDに特化しすぎて使えない。 HPCも単純にLINPACKで計ったFLOPSだけで実効性能が決まるわけではない むしろFLOPS値すら、128ビットSIMDベッタリのSPEが、2年以内には出てくる 256-bit/512-bit SIMD拡張を備えたCPUに対抗できるのかという疑問もある。
>>634 性能を100パーセント引き出すためのノウハウはCellとIntelアーキじゃ全然別物だぞ
レジスタの本数も演算ユニットの構成も全然違うもの。
共通してるのは、「泥臭い努力」が必要なこと。
それを言ったらARMだろうがZ80だろうがみんな同じですよ。
あと、Intelがかねてから用意してるCtはJavaライクな動的コード生成をサポートするぞ。
しかしIntelのCPUも急激に速くなったよな。 今まで出し惜しみしてたとしか思えない。 GPGPUやCellが出てきて本気出したんだろうな。 敵が追いついてくるまでは100%の力は出さないのがIntel
一つのSIMDレジスタ上で{x, y, z}からなる3次元座標をSIMDレジスタでどう表すかってのも 一つのテーマだぜ。Cellならそのまま[x, y, z, *]だろう。 しかし512ビットだとさすがにそういうわけにもいかないだろ。 Intelの例のカンファレンス逝った人なら知ってるだろうけど、たとえばLarrabeeなら v0 = [x0, x1, .... x15] v1 = [y0, y1, .... y15] v2 = [z0, z1, .... z15] みたいにワード配置を変換して使ったりします。 データ構造を変換するために膨大なPermuteパターンが必要かって?いいえ、ケフィアです。 Larrabeeはgathering/scatteringを命令として備えてますから それぞれのベクトルごとにロード・ストアは1命令ずつですみます。 あと、ベクトルが長くなれば、どれかは演算を行いたくない要素があるかもしれないね。 そのために16要素それぞれに独立に作用するマスク機能がほぼ全ての命令に備わってたりします。 この辺のプログラミングパラダイムの「違い」は認識しておかないと、100パーセント云々は 語れませんぜ。 個人的にはIntelの用意してくれるフレームワークで富豪的プログラミングでも満喫すれば 充分だと思うんですが。
>そのために16要素それぞれに独立に作用するマスク機能がほぼ全ての命令に備わってたりします。 生半可な知識の私が見ると、この辺りはCUDAっぽいと思った。 まぁ、某芝がCellをCPUとしては見限っているのは間違いないでしょ。 # スパースエンジン使ってHPCとか言っているらしいけど。
スタンフォードの同じ研究室の出身者がIntelとNVIDIAという別の会社で 同じようなアーキテクチャを作ってるって話になってたかな。 似てるところも出てくるでしょうね。
>>638 誰も突っ込んでくれなかったらちゃんと自分で自演して回収しろよw
いつものように
はいはい
何でこのスレの人はまだ、ここにいるの? Cellは産廃だと思うんだけどw
>>644 「Cellプログラミングは非人間的」なって書かれているなw
たしかにCellは変態的脳みそ持った連中向けで、世の多くのプログラマが使いこなせるようなもんじゃないな。
しかも、苦労して書いた割には全体で10倍とかの性能しかでないし、作り上げたソースは保守性なんて、
あったもんじゃなくなる。あと、ハードウェアやOSも実績がたくさんあるものじゃなくて、
Cellが使える専用のもの使わなきゃならない。
「普通」のCとかC++で組めて、たいした苦労せず性能あげられて、
x86系の環境が使えると来れば、普通のプログラマでも、すごいありがたいと思う。
今までと同じスタイルで数倍でも高速化されるのであれば、それはすごいメリット。
広く普及すれば、Cellみたいに新しい製品がででこなくなるようなこともないだろうし。
ハードウェアの性能をフルに引き出せるかどうかとかは期間とか保守のことも
考えなきゃいけないし、別次元の問題。必要性があれば、徹底的にチューニングすればいいだけで、
今のCellは何でもかんでも、かなりチューニングしないといけないのが問題だと思う。
...と、元プログラマで趣味でCell触っているだけの俺が熱く語ってみる。
cellはspe使うと早いけど使わないとアホの子だから扱いづらいわ
期待とは常に裏切られるものである。 その殆どは失望によって。
また井の中の蛙の残念な子が来たよ。 GeForceのLSUですらscatter/gatherをサポートしてんのに。
SPUの場合、LSUとshuffle、MFCIOが同じOddパイプだから 内積や回転を多用しないならPermuteせずに128ビットアラインされた 3(4)ベクトルとして使った方が速いんだが
652 :
デフォルトの名無しさん :2009/03/30(月) 22:18:27
OpenCLはIBMが入ってたんだが、そのIBMがもうCellには注力していないようだしな。 IBMがCellから撤退したらCell SDKの開発も止まるしCellによるグリッドコンピューティングも 日の目を見ないまま終わるだろう。 東芝のSPURS搭載PCもさっぱりだったしSPURSカードも肝心のエンコード品質が低くてお通夜状態。 極めつけがSCEまでPS4でLarrabee搭載を検討する始末。 オープンソースのCellプログラマもネットを見渡しても100人いないような状態。 しかもほとんどのプロジェクトが2007年あたりで開発がストップしている。 数千億円かけた巨大プロジェクトの結果が3社の経営を傾けただけだったなんてのは笑うに笑えない。
Macpro買う金無いからPS3ほしい、自作ベンチマークでニヤニヤしたいんです>< でも、バイトもしたことないんで貧乏なんですう><
まず自分のLinuxでも入れてCellのSDK突っ込め。 んで、シミュレータ使ってみろ。 あまりの融通の利かなさにガッカリするのは買ってからでは遅いぞ。
ubuntuのリポジトリにあるやつでいいの?
シミュレータ類はIBMからじゃないと落とせないと思うが・・・ Fedora推奨
あーこれはちがった^q^
IBMなりfixstarsみたいなCell向けソフトやっているところが、 もっと広く使えるような普及活動すりゃよかったんじゃね。 今は、研究者のおもちゃになっている状態だし。 一般人がPS3にLinux入れても、それで何に使えと・・・?
参加賞の商品とどいた?
660 :
デフォルトの名無しさん :2009/03/31(火) 19:01:19
なにあのTシャツ
>>658 ゲームOSからLinuxを仮想マシンのゲストOSとして起動できて、
データのアクセス以外は制限がなかったら・・・。
>>661 たとえRSXが使えてたって盛り上がってねーよ
根本的に足りないのはSCEのやる気
お祭りの音頭をとる人物の不在
音頭とってた人首切られてるからねぇ。
一般人の定義によるけれども、一般人なんて全く関係無い。 どんなプログラムするのが一般人なんだ。 非共有メモリ型マルチプロセッサの、ラジカルな一つの形態が Cell だろう。 それと、 Larrabee の話だけど、検討はするだろうけど、ライフサイクルの関係で、 発売後何年も経った後に、Intel が同等品を生産してくれるか、生産プロセスが進化 したんだから安く生産してくれるか、ということを考えたら、まともに取り合おうという 気は失せるんじゃないの?
>>664 いまだにXBOXのカッパーマイン生産してるって話が前あったなぁ。
MSは箱○をシュリンクしてるみたいだけど、契約によっては同等の事ができるんでないかな??
>> 664 普及さえすればってことだと思う。 いいのか悪いのかは何とも言えないが、Powerやx86のように積極的に上位互換で、 世代が進んでいく。量産もされ、製造コストも価格も低くなる。元々、製造コストが 高いMPUだから、これは必須だと思う。 現実的には商売なんだから、どんな形にせよ、一般人でも恩恵を得られるような ものにした方がいい。
>> 626 プレスリリース出てんぞ。
2009年4月1日 [プレスリリース] フィックスターズ、NVIDIA CUDAによるGPUソフトウェアサービスの提供を開始 Cellトータルソリューションカンパニー→マルチコアトータルソリューションカンパニー さてはエイプリルフールネタで団子の中の人を釣る気だな! 釣られないぞ! 俺の時代ktkr 来年はHack the CUDAですか?
Hack the OpenCLだったりしてw
Teslaの提供も始めてるし。 いつから決まってたんだ?
673 :
202 :2009/04/02(木) 18:03:59
Cell専業をやめること、懇親会・反省会参加者にはプレスリリース前に教えてたよ 転職しちゃいなYo > だんごさん
仕事だけはやり遂げるぜ
Fixstarsか、HPを見た時に「そのうちに上場」とか書いてるのを見て 所詮山師集団だと思ってたが、どうやら間違ってなかったみたいだなw
hack the cellとcell challengeが終ってからのスレの流れが… 掌返したってレベルじゃねーぞ
なんか、みずほ証券に入ってるCellはFixstarsのライブラリを使って 一秒に108.8億の乱数を生成してるらしいぞ おまえら作ったのは何個くらいなんだ?
そのCellは何Gで動いてるのさw
>>678 知らん
普通のやつじゃね?
ソースはグリッド協議会のサイトで見つかるぞ
680 :
202 :2009/04/04(土) 19:55:17
>>677 それがあるから、今回の課題にMTを選んだんだってさ。
最初はこんなに盛り上がるとは思ってなかったから、自分らのコードよりも
速いコードが出てくるとは思わなかったそうな。
まあ、いろいろ文献漁ったけど暗号的強度はダメダメですがな。
暗号にMT使うわけねーじゃんバカじゃねーの?
わかるよ。 暗号的強度ってのは乱数の質を語る上でも重要なんだ。 長い零超過状態がある時点で質はあまりよろしくない。 Cellでも一応整数乗算は使えるんだからMTに拘る必要もないと思うんだが。
証券会社+MTって言ったら結論は一個しかないだろ
モンテカルロだろ。
686 :
デフォルトの名無しさん :2009/04/04(土) 21:32:23
>RSX側の頂点シェーダーは活用せず。実は、最近のPS3タイトルはこの実装が多い。 >RSXは評判が悪いが、SPU頂点シェーダーはすこぶる評判がいいのだ 最初からGPUに使ったらどんな?
着眼点は良かったが、まだ時代が追いついてなかった。 DX11が出てきて、追いついてきたと思ったらCellが既に時代遅れになってた。
そりゃ高々2億5千万Tr規模のプロセッサだしな ネタで良いから時代に合わせて4チップ密結合させて 6〜8億Tr規模の性能評価に使えばいいのに
別にチップ数だけの問題じゃないよ。 たとえばLarrabeeは10:10:10:2とか11:11:10とか、32ビットフィールドに固定小数データを3〜4個 詰め込んだような形式とか、16ビット浮動小数に対するロード・変換を一発で行うことができる。 DirectXやOpenGLでは普通にデータ形式として使われてるものだよ。 スカラデータのロード命令すら備えないCellの出る幕はないのよ。 力技で構造体解析してやればいいだろうって? そういっちゃうRISC脳は嫌いです>< 何サイクルかかんだよ。 ハードウェアとして備えるべき機能の取捨選択を見誤ってはいけない。 なんにせよ垂直方向の演算を一纏めにできるというx86命令セットの相対的利点を 見失ってないLarrabeeは流石だと思った(ようやく命令仕様読み終えた)
比べるべきはCellじゃなくてGPUでは? half float、 sin、 cos使えるの?
なんにせよ技術サイクルが早すぎ。
>>690 ベクトル高級関数は、ハードワイヤードではなく、ユーティリティとして
提供されるとある。
んで、
float16, float11, float10, *norm16, *norm18, norm10, norm2, srgb8
このへんのロードあるいはストアは、モダンDirectX/OpenGLの要件だから
必要に駆られてLarrabeeがサポートしたわけですよ。
中にはGPUではシェーダではなく専用ハードウェアでやってた処理もあるだろうよ。
でもLarrabeeは全てソフトで記述する必要があるからね。
NVIDIAもGPU固定機能のソフト化を進めてる段階だから方向性としては正しい。
Vertex Shaderの代替そのものはSIMDが遅くなくて物量さえあれば
どんなCPUでも出来る類の処理なので別にそれが出来るからって
どうってこともない。RSXがショボすぎただけ。
CellがGPUの中核を賄えるかって言うと、足りないものが多い。
Intelはx86をGPUとして使うために命令セットの大拡張を行ってるわけだが
果たしてSPEの命令セット符号化方式でそれだけのことをやる余地があるか?
もうCore2Duoのコアを16個乗せた方がよかったんじゃね
今日も団子の後出しっぷりがいい感じだ
それと、Vertex ShaderってあくまでPixel Shaderの機能補完的なもので VSだけでGPUが作れるわけじゃないんですぜ。 RTRTとかA-Bufferみたいな近未来的なレンダリングアルゴリズムを使うにしても テクスチャなしに何かしらできるもんでもない。 んで、PSには圧縮テクスチャを高速展開・あるいは圧縮して書き戻す機能が必要。 無圧縮の単精度ベクトルデータそのままメモリ流せばいいとか思うだろ? メモリの帯域・容量どんだけ必要なんだよ。 norm16(short)とfloat32の変換機能を兼ねたロード・ストア命令はゲームキューブの CPUであるGekko(今のWiiのBroadway)にも搭載されてるもので GPUにかかわらずゲームで使われだした AMDもSSE5でfloat16データのロード・ストアをサポートするけど、Xbox後継機を狙うだけあって当然ですな。 ゲームにかかわらずオフラインの画像処理分野においても、(A)RGBデータは整数(固定小数)じゃなしに float16で扱ったほうがいいなんて言われてたりします。
スレチな上にかじっただけの知識ばかりでクソワロタ。
CellがGPUとして使えるかどうかの話をしてるのにスレ違いだと認識しちゃうほうが よっぽどシッタカですけど?
使えないって事でいいんじゃないの?
PPEのAltiVecのほうで1:5:5:5のピクセルフォーマットを扱えるけど既に時代遅れの代物ですしおすし
自分でもGPUで大昔から当たり前だって分かっている(軽く触れてる)のに 今更Larrabeeで10bitとか11biなんてどうでもいい話を持ち出している時点で話が破綻している。自分が知ったことを喋りたいだけ。 単にIBM他2社がタコなだけなのに、RISCとかCISCに分別したがるし。 人を見たら文系と理系に分けないと気が済まない人でしょ。
否定することで自分のポジション作る人なんでしょきっと。 口開くと最初に「いやそれは違うんだよ、」って言うんだぜ。
学がないね(笑) LarrabeeはCRISCなんて言われたPentium Proより前の P5アーキテクチャをベースにした純然たるCISCだし CellのSPEはどっからどうみても古典的なRISCですよ。 固定長命令でデコードが楽なのがRISCだし 可変長命令で垂直方向の演算密度を高くできるのがCISCです。 vfmadd231ps v1{k1} v2, [rbx+rax*4+12345678]{float16} ・[base + index * scale + displacement]によるメモリアドレッシング ・float16からfloat32に型変換してロード ・積和算 ・マスク なんて芸当ができるのはCISCならではですよ。凄い演算密度だろ? 固定長命令でこういうことはできないんだ。 IBM筆頭の3馬鹿がどうかってより、RISC型の命令セットがそういうもんなんだ。
すげぇな団子 話の流れが全然読めてねぇw 薬足りないんじゃないか?
レベル下がったな。 残念だがお前は話の流れを作れてないよ。
705 :
690 :2009/04/06(月) 01:50:25
>>692 >
>>690 > ベクトル高級関数は、ハードワイヤードではなく、ユーティリティとして
> 提供されるとある。
>
> んで、
> float16, float11, float10, *norm16, *norm18, norm10, norm2, srgb8
>
> このへんのロードあるいはストアは、モダンDirectX/OpenGLの要件だから
> 必要に駆られてLarrabeeがサポートしたわけですよ。
それを要件というなら、sin、cos、tan、とその逆関数、log、expもろもろ
すべてプログラマブルシェーダで要求される機能だよ。
そうそうsrgb8があるなら、その逆変換も必要だな。(expでいいけど)
多分それら全部ソフトウェア的にテーブル実装で提供されると思うけど
使うたびに各コア256KBのL2がよごれるってのがいやだね。
SoAでばらばらな16wayの各要素を変換する場合のオーバーヘッドがでかそう。
Larrabeeはテクスチャフェッチは専用ハードなのにROPはソフト実装という
ところが、現実的なんだろうけど、アーキテクチャ的になんか中途半端だと思うな。
データ型変換の機能はきっと重複してるよね。
いずれにせよ、上記はCellとLarrabeeを比べて言ってるわけではなく
既存あるいは近い将来のGPUと比べてのことなのであしからず。
スレ違いだな、すまん。
> 使うたびに各コア256KBのL2がよごれるってのがいやだね。 全てのメモリアクセスにノンテンポラル指定ができますがwww
あと、Pentiumそのものは8087 FPU命令があってスカラでなら高級関数命令は使えるから、 同じルーチンを使うことはできると思うよ。 それこそ、命令セット側からは見えないROMと裏レジスタを使って、だな。
それってなに? キャッシュ(L1, L2)に残らないってこと?
Yes, ガチROM 除算や数学関数はx87はROM上の定数テーブルを参照して処理する。 テーブルのバグ騒ぎで回収になったのもP54Cだったな。 それがあったからそれ以降のIntelプロセッサの内蔵ROMはフラッシュメモリになった。 命令セットの解析結果をもうじき俺のサイトに上げておく。
普通ストリーミングデータならキャッシュに残さない制御やると思うけど テーブルデータとかはどうだろね。
ん?テーブルの書き換えが必要なの?定数テーブルなら内蔵ROMでよくね?
団子の都合のいいように呼んでるだけだろ。 SSE5が発表されていない世の中だったら三項演算を指してRISCだって喚いていたに違いない。
団子相手にそんな話をしても無駄 一連の書き込みを見てわかるとおもうけど 誉めてほしいだけなんだから そんな不器用な団子萌え
団子はその時最も活気づいてるスレに行って同じ持論を延々繰り返すだけだよ。 どのスレ行ったって面子は殆ど同じなのにね。
ぶぉ〜んが勝ったのか
>>713 はい問題
lea eax, [ebx, ecx*4 + 1234]
これは何項演算ですか?
まあ、とりあえず君の脳内ではSuperHやMIPS16は2レジスタオペランドだから
CISCでなんでしょうねw
可変長フォーマットにものを言わせてレジスタオペランドを増やし、
演算密度を引き上げるなんてのは、CISCならではのアプローチですよ。
CISCとRISCの違いは、可変長か固定長か、
ロード・ストア以外でメモリアドレッシングできるか、レジスタ間演算しかないか
それによってデコーダの負担が重いか軽いか、そういったもっと根本的なところにある。
こうだった lea eax, [ebx + ecx*4 + 1234]
なこたわかった上で世が世ならと言っている。 お前は先週まで自分でさえ知らなかった事を、今日知らない人を見つけて 「そんなことも知らないの?この業界じゃ当たり前だよ?」って言うような奴だって言ってるんだよ。
自己紹介すんなよ。
丁寧に説明する為にかみ砕いて説明するならいざ知らず 馬鹿にするために相手を無知な奴だと落とし込むのはどうにかならんのかなあ。 このスレや他のお前が出入りするようなローレベルのテクニックで盛り上がるスレで そこまで無知な奴は荒らし以外レス付けないと思うんだが。 荒らしだと思うなら無視しろ。 そうでないなら自分だけが分かっているという選民思想を捨てて話せ。
>>722 とりあえず、アンタもトリップつけるなりすれば?
人間性の問題だし説得は難しいと思うがなぁ。 団子のこと知らないなら過去ログ見ればどんな人間かわかるよ。 このスレの書き込みはまだ可愛い方。
しかし団子のこのスレ上でのCell challenge参戦が コンテストを盛り上げたという事実
スレ違いで申し訳無いんですが、LarrabeeのDriver Timeってどれくらいに なるんでしょうかね。シングルスレッドで秒間10万回程度DrawPrimitiveを 呼び出すと、処理の1/3位がGeForceのドライバに食われたりもします。 実際シングルスレッドアプリではRadeon(ドライバレベルでの並列化有)の方が GeForceよりも速度出てますし、GeForceは描画を別スレッドに切り離しただけで フレームレートが4割上がったりもしました。 Larrabeeのドライバが重いようなら、処理を隠蔽するのがこれまで以上に 大変になるので、その点だけが気がかりだったりもします。
GeForceは1SMあたり8SPで1ワープ=32スレッドだから、最低4回クロック単位で インターリーブすることになる。 んで、アクティブワープは1〜16ワープまで(GPUとして使った場合の限界は24あるいは32ワープ)だろ。 だから、シェーダコアが1.2GHz前後で動いてても実質シングルスレッド性能は数十〜百MHz程度分と考えたらいい。 Larrabeeは1コアあたり4スレッドのFGMTだけどスレッド間切替はソフト側で制御できるらしいので シングルスレッド性能はクロック数相応ってことになる。 4つのスレッドも同じタイルに対する処理を分担するために設計されてる。 餅つきのごとく声を掛け合いながら連携して動く、的な。 んでも、CellもGeForceの悪いところと似たようなもんだと思うよ。 128ビットSIMDの3.2GHzだと思ったら命令間のレイテンシ大きくて、 8並列くらいにインターリーブしないとレイテンシ埋まらないから 実質400MHz程度だろ。 ってのはさすがに極論か。
ごめん、よく読んだらドライバの話ね。空気よめなかった。 GeForceはドライバ機能のCPU依存度が一番高いね。 Larrabeeは独立したメモリ上でLarrabee専用のOSが動いて、 自分自身でドライバ相当のソフトウェアを動かして自律処理できるらしい。 ホスト側のドライバは最低限の手続きと、あとはメッセージパッシングを やるだけで良いみたいな感じになる。 CellのSPEもホストのメモリ空間と独立した別のマシンみたいなもんだが、 各コアごとに256KBのローカルメモリと、数百MBのVRAMじゃえらい違いでしょ。
これでもちゃんとCellの話を絡めてやってるんだぜ><
癪だけど、まぁ、ためにはなっているよ。
お前らがそうやって甘やかすからw
>>778 疲れが溜まってたみたいで、寝ぼけた文章書いてましたorz
> Larrabeeは独立したメモリ上でLarrabee専用のOSが動いて
Intelなら毎秒10000回以上のCPU-GPU同期処理を楽々こなせるようなドライバを
書いてくれると願うばかりです。
放置してたって勝手に暴れるから、だったらこっちの役に立つ情報でも書かせた方がいいってもんだ。
あればそれは使えるんだから、足りなくなってからSPEで補えばいいだけだよね。
>足りなくなってからSPEで補えばいいだけだよね。 GOW3がそういう感じなんだっけか
SPEって何で頂点には使えて、描画には使えないの? 例えばPPEのキャッシュに描画できるようになるとか、 そういう簡単な機構でGPU的に動けそうなもんだけど
ランダムアクセスするわけじゃあるまいし、 バースト転送でどこにVRAMあろうと影響少なそう。 実は当初の予定だと、RSXにもXDR採用する予定で、 二つに分かれてなかったのかも。そうすると ROPはたとえ少なくとも、書き込みにしか使わないだろうから、 合計読み25GB/s、書き25GB/sって帯域得られる。
CEDEC 2006 - CellプロセッサをGPU的に活用することができるのか
ttp://journal.mycom.co.jp/articles/2006/09/14/cedec3/index.html 13380ポリゴンの恐竜モデルを1280×720ドット解像度で描画したときのパフォーマンスは14fps〜33fps。
なお、これは2.8GHz動作のCellの4基のSPEのみを活用した時の結果だそうだ。
今回、併せて4基のSPEの稼働率(ロードバランス)を表した性能解析図が示された。
SPEはインオーダー型の2命令同時発行型のアーキテクチャになっていて、
2つあるパイプラインのうち片方が演算系、もう片方がその他の実行系(読み書き、分岐など)というふうに、
パイプラインごとの分担が明確化されている。
なかなか2命令同時実行を行わせ続けることは難しいはずなのだが、それでも15〜30%と、
そこそこ高い2命令同時発行(Dual Issue)のパーセンテージが実現できていて興味深い。
レイテンシが読めるという点もSPEの強みだね。
>>739 レジスタ読込時に圧縮テクスチャデータを展開する命令とかあるなら多少性能出るけど、無いだろ。
無圧縮状態で128ビットアライン状態で並べておけとか、EIBの帯域いくらあっても足りない。
つ PhyreEngine つ Edge てかSPU使ってエフェクトかけてて、 帯域ネックになったことはないな。
>>739 描画にも使ってますよ。うまく使えばRSXより綺麗ですよ。
>>745 ,746
ソフトパーティクルに必要なのは (1280/2)*(720/2)*4(RGBA)=900KB なので、
テクスチャを含めて何とかLSに載る大きさですね。
パーティクルなんてどうせモヤモヤさまーず状態なんで 1/4レゾでもいいと思いますよ。Zでジャギは出るけど。
もしかしてどこもXDRの帯域使い切れて無いんじゃ?
帯域より容量が足りてない気が
団子は自分の能力の限界と物自体の限界の区別が付かないから困る。
俺は限界のない自分の才能が怖い
>>747 そっちですかいな。各値8ビットのデータなら確かに収まるだろうけど
packed-normやfloat16はどう扱うんでsky?
>>748 たまたま上手く収まる例だけで万能だと思うおまいは無能だのう。
それで納得しちゃうおまいは要するに話を理解できてない。
各要素がunsigned charなら攪拌処理+浮動小数変換だけで展開出来ちゃうんで
その辺は楽に出来て当たり前なんだよ。
しかし、PS3リリース前の公称の1920x1080にはその程度ですら2M必要だから、
タイルレンダでも使わない限り無理。
9400Mクラスのモバイル向けGPU積んだ2kg未満のノートですら出せる720pほどの解像度に
パーティクル被せるくらいで妥協して貰ったって困る。
PS3の発売前もそうだったけど、出てないものが優位なのは当たり前じゃないの? 単に無い物ねだりして叩きたいなら「SSEには要素ごとのシフトがないいぃぃ!」とかいくらでもコケに出来るけど。 でも、「で、あったところで何に使うの?」って言われて終わりでしょう。
>要素ごとのシフトがない スカラでやって挿入すれば?
要素単位で別々の〜って要求をしだすときりがなくて 「別々のアドレスとってきたい」って場合は、スカラロードと挿入が重要になる。 んで、究極の形はLarrabeeのようなGather/Scatterだ んで、更には要素ごとに別々の命令ポインタが必要だって思うわけだよね それSIMDやなくてMIMDやんけ
かみ合わんな
なぜタイル分割してはいけないと思うのか 逆に知りたい
SpursJobQueで充分並列だけどなあ 16msに間に合えばいいんだから
んで、その60fps出てるゲーム見せてよ。 600p@30fpsとかばっかしなんですが。
逆でしょ まず自分から タイリングしない理由を 示さないと。
どういう時に帯域ネックになるのかも知りたいなあ
360の場合は10MBのeDRAMでメインメモリの帯域をセーブしてるよね ついでだから聞こう。 Cellを拡張していくとしてLSを増やすことってあると思う? LQD/STQDって、なんでディスプレースメントの下位2ビットを捨てる実装にしたの? 上位2ビットを無視って仕様なら、そのまま1MBまでは拡張できるでしょ。 そもそも256KBが上限としか考えてないんじゃないかと
話そらさないでよ
話にすらなってませんが。 1080pで60fpsコンスタントに出てるゲーム見せて?さっさと見せて? 存在してねーじゃん。
wipeout Edgeつかってるよ で、なぜタイリングしないの? どういう時に帯域ネックになるのかな?
SCEA渾身のKillzone2が720pの30fpsだよ。 おまいらどんな凄いゲーム作ってるんだよ。 オラわくわくしてきたぞ。
> で、なぜタイリングしないの? これは逆じゃね?タイリングする「しかない」んじゃね?
Kz2はSCEAじゃないんですが… もう知ったかぶりはやめようよ
SCEEのほうだったね。ごめん。
あと、ソースコードうpお願いね
Deciかsnで確認すればいいじゃん
で どんなエフェクトだと 帯域ネックになるのかな? EIBが帯域ネックになるんだよね?
EIBの帯域が足らないエフェクト(笑)
早くエフェクト教えてよ
他が足引っ張って720p・30fps以下しか出ないから 結果的にネックにならないんですね、わかります
実在するかは知らんが、物を見せればいいだけだろ。 ソース晒せとかクレクレにも程がある。
言いだしっぺ自身の作品が見たいのだよ
言い出しっぺのエフェクトが 知りたいんだよ。
結局60fpsはハッタリなのね 実際見たこと無いし そもそもなんで「エフェクト」になってるのか意味不明なんだが GPU自体の代替だろ? SPU単独でテクスチャの取得からフレームバッファへの描画までやるそのレベルの話かと思ったら パーティクル限定とかさ、一体何なのよ
PSSでワイプアウト買えよ 1080 60pだぜ
何さりげなく単独SPUの話に変更してるんですか? 後だしジャンケン以外できないんですか?
帯域ネックの話で なぜパーティクルがでてくるかも わからないんですか?
ワイプアウトくらいその筋の人で話題になってそうとは思ったけど 知らなかったのはちょっと残念
>>787 団子は「その筋の人」じゃないんで…
いくつか仕込んである、「その筋の人」なら
すぐに気づくウソにも全然突っ込んでこないし。
たぶん次は「ゲーム屋ごときが」とか言ってくると思うんですが、 他人の批判の前に、まず知ったかぶりやめろと言いたい。
で、えらそうなクチを叩いても 自分で作ったゲームでは60fps出ないんですね(泣)
俺は最初からpacked-normとかfloat16に言及してたわけで その時点で、GPU全処理について言ってるのだと足りないと言ってたんですよ。 帯域ネック以前に演算ユニットが追いつかないでしょうけど。 エフェクト1個限定とか、後出しじゃんけんなのはどっちですかww
792 :
デフォルトの名無しさん :2009/04/11(土) 01:30:38
プレイステーションエッジやファイヤーエンジンというのを使って 中小のソフトハウスでも低予算で最低限見栄えのするゲームは作れるの?
まとめ。
739「描画にSPUを使うことはできないのか?」
団子「EIBの帯域がいくらあっても足りないから無理だ!」
745「PhyreEngineとかEdgeとかで描画もSPUでやってるし、帯域ネックになったことはない。」
747「ソフトパーティクルも解像度の設定とかうまくやればLSに載せられるね。」
団子「
>>747 packed-normやfloat16はどう扱うんですky?」
団子「
>>748 お前はバカだ。パーティクルごときで妥協するな。タイルレンダしないと無理。」
団子「1080 60pのゲームは存在しない!!」
団子「ソースコード出せ!あとお前の勤務先も教えろ!!」
団子「どうした?出せないのか?やっぱり1080 60pのソフトは存在しないじゃないか!!」
回答。
・wipeoutを購入してください。1920x1080 60fpsで滑らかに動きますよ。
GDCで直接プログラマと話しましたが、SPUでEdge使ってますよ。
・ソースコードは出ません。勤務先も教えられません。まず団子さんの勤務先を教えてくれたら教えますよ。
・ソフトパーティクルの描画に通常、"packed-norm"や"float16"という単語は出てきません。
そもそも映像産業従事者は通常、"float16"とは呼びません。
・帯域ネックになりやすい描画の代表例として、パーティクルエフェクトで話をしているのであって、
「パーティクル描画」と呼んでもいいですよ。それで満足するならば、ですが。
・「GPU自体の代替をSPUで行う」などという会話は、団子さんの発言以外どこにも出てきません。
「描画をSPUで行うことはできないのか?」という問いのみが存在します。
・パーティクル描画を例にとっても、
SPU単独でテクスチャの取得からフレームバッファへの描画までやってる例はあります。
すでに発売されている Killzone2が代表例ですが、wipeoutのパーティクル描画もSPUで行われています。
>そもそも映像産業従事者は通常、"float16"とは呼びません。 悪かったwwwD3Dでは「FLOAT16」だったねwww ASCII文字でも5文字も0x20ほど違えばえらい差だね。 っていうか映像産業(笑) おもちゃ産業だろ(笑) 日本の税関の扱いがゲーム機=玩具だし
相変わらず病的
halfがどこから来たのかすら知らないのかこの人は…
うちもある意味映像産業だけど何か?
団子センセーがバイトでかかわったゲーム教えてください>< 「業界に携わったものとして云々」とか豪語しちゃうんだから さぞ凄いんでしょうネ
ちなみに本物の映像産業では16ビットFloatなんて低精度データはゴミだよ
pixarとILMのレンダリング結果はゴミということがたった今決定いたしました。
都合の悪い質問には 一切答えないよなあ
なんでそうなる。ピクセルデータとして使う分には8ビットや10ビットRGBよりも有効だが 座標データとしては使えないね。
団子描画まわり詳しくないんだからやめとけw
ぷ
使えないことも無いか
HTCにカスリもしなかった連中が声がでかくなるのはどういうわけだろうな まあ、アレに関しちゃ俺も手抜いたが
俺最強を豪語していていながら結局途中で逃げ出したコンテストの名前を自分で持ち出すなんて墓穴にも程がある。
ギスギスしすぎわろた
IBMのCell SDK3.1をUbuntu 8.10 on PS3に入れた人います? YDLは何かいろんなパッケージが古過ぎてムカついたんでUbuntuにしようかなと 思ったんですがUbuntuはUbuntuでspu-timingとかどのパッケージから持ってくれば いいのかわからないのでCellSDK入れちゃおうかと思ったんですが・・・やっぱ無謀?
rpmコマンド追加すればいけると思うよ。 rpmをdeb形式に変換するコマンドがあったと思うが。 YDLが旧いってことならFedoraでいいと思うが。10でSDK 3.1動くし。 軽量インストールしないと酷いことになるけどね。
>>808 そして逃げ出した奴がリークした水準にすら到達してな(ry
てか、俺より上の人はほとんど知ってるんだがwww
GLの起源がSGI云々なんて最早どうでもいいけどね。 潰れる前から空気化してたし 別のSGI(池田大作ファン倶楽部)のほうがよく聞いたくらいだ。
> てか、俺より上の人はほとんど知ってるんだがwww kwsk!
散々話をすり替えて、今度は僕ちゃんの知人はエラい自慢ですか。
数少ない60fpsを自分の手柄にしちゃう子って一体www そもそもレンダリング対象のオブジェクト出さなきゃ120だろうが1000だろうが余裕ですけどね
> 数少ない60fpsを自分の手柄にしちゃう子って一体www 団子が言うと重みが違うな
セガ(笑)とかその下請け零細あたりの子なんだろうなとは思うけどね
団子さんはどこで働いてるんですか? やねう企画ですか?
あそこ計画倒産じゃね どこでって、巨大資本の真下で働いてます。
巨大資本キター! さすが帝王学を学ばされた社長の息子w
> GLの起源がSGI云々なんて最早どうでもいいけどね。 何に関連してOpenGLの話してるの?
>>820 お前は俺か。
長けている部分とイカれている部分が被るんだよな。
社内にインド人がいたっけな まあ最近は珍しくもないが
カレーやさんだよ(嘘)
ちょっと磯崎さんこんなところで何してはるんですか
だれが磯崎じゃ
2009/04/10 21:45:22 ホスト名gatekeeper1.scei.jp 2009/04/10 21:45:22 ホスト名gatekeeper1.scei.jp 「本物」が見張ってるねwww
懐かしいなぁ。 俺も中学生時代は、自分のblog(当時はweb日記だったけど)に scei.jpとかSony.CO.JPとかあるとワクワクしたもんだったよ。 今も中学生と同じ感性を持ってる団子さん素晴らしいです!
>>829 そういう露骨な嘘を書くのはやめとけ。
というか、それ自分自身じゃないのか?
これだけは絶対に言えるけど、 どう見ても団子はSCE関係者じゃないですよ。 fixstars関係者ですらないと思う。
団子、もしかして本当にやねうらおなんじゃねーかな?
>>831 嘘じゃないだろ。
何もない俺のサイトでさえ来るぞ。
そんな報告しても恥ずかしい自己紹介してるだけだから
>>830 みたいのが煽りになる。
が、団子も830も荒らしだ。スルーしろ。
巨大資本の真下のプロジェクトのナンバー3なんでしょ。 やっぱ団子ってすげーんじゃねーの?
俺なんか自称は世界的大企業のバイスプレジデントだぜ
会社から団子のブログ読んでるのおれだわw じゃあ来週は15:00きっかりにアクセスするからよろしく!
団子は某芝だよ
間違いなくこのスレからのアクセスです。ピンポイントですね。 なんでまったく同じ時刻に2つもログ残ってるかようやく理解できた。 「記録」されてますよ。お気をつけください。 #現在の .htaccess deny from geakeeper1.scei.jp 別に.go.jpとか??tel.comとかからアクセス来ても今更驚かないよ。
↑おっと、これじゃ弾かないなwww
>>842 Xbox360が22fpsまで落ちているのは計測誤差?
wii 61万本 PS3 30万本←wwww xbox360 44万本
童貞もたいへんだ。
結局団子はどの質問にも 答えてないよね。
はっきり言います。 R S X を 一 切 使 わ ず に 60fpsでお願いします。 丁度いまのPS3 Linuxが、フレームバッファにCPU描画してる状態だけど、 「SPEだけでここまで出来る」の魅せ所じゃないでしょうか
何勝手に問題セット変えてんの?
勝手なこといって逃げてるのはどっちですか? GPUの代用できるんだろ?やってみろよ 以下に性能足りないかが解るはずだ
739のどこに 「RSXを一切使わないで」 って書いてあるんですか?
やってもみないうちに、できない言い訳ですか?w
礒崎さん はよ答えてくださいよ
磯崎じゃないから答えません 磯崎のブログに凸してこいよ
vui8 outL=shufb(madd(shufb(in1,in1,shuf00010203),alpha,mul(shufb(in2,in2,shuf00010203),(256-alpha))),shuf12340000) 同様にRも計算してorするだけでなんとアルファブレンドが。 19201080でも2spuで60出るよ。 次はRGBA8888の文句でもいうのか?
もちろんラスタforとDMAは省略した
それを実際やってみてよ
>>856 sRGBのデコードなんてどうせハードワイヤードロジックに勝てないだろうから
10:10:10:2おながいします
> どうせハードワイヤードロジックに勝てないだろうから ……え?
おやおや後だしジャンケンですか? 色空間のsRGBと テクセルフォーマットの10:10:10:2を 混同してるのも謎
え?はこっちだよ。 Larrabeeでは組み込みのNumeric Converterで処理できるんですが。 命令もこんな感じで記述できます。それ専用の命令がある?とんでもない 既存の命令のビットフィールド変えるだけです。 fmadd231ps v1, v2, [mem]{srgb8}
そしてRGBA8888とsRGBを混同してるのも謎
864 :
860 :2009/04/13(月) 01:05:17
そうだね、Larrabee最強だね。よしよし。 って煽り書いて送信しないで思い留まったのに、 本当にそこまで馬鹿だとは思わなかった。 うわぁぁぁん。
>>861 いいえ、sRGBだと苦しいのかなと思って。俺は慈悲深いのでな。
その反応見る限り、もっと無理だった?
俺もそう思うよ。
で、
>>739 のどこに
fp10限定って書いてあるんですか?
GPUの代用ができる云々言うなら当然備える機構でしょ 性能おかまいなしにソフト的にやればいいってならCore 2 Duoで充分じゃん
>>863 読み間違えた。RGBAフォーマット自体はいいと思うよ。
そうだねやっぱりsRGBは無理だよね
ごめん変なこと言って。アハハハ
>>746 >
>>739 > 描画にも使ってますよ。うまく使えばRSXより綺麗ですよ。
こいつが言葉足らずなのも確かだな。
いわゆるポストエフェクトに限ればSPUはGPUの代わりとして使えるし、
実際に使っているタイトルもある
ってことでしょ。
これは認めた上で話をしようじゃないか。
>>868 LarrabeeはsRGBデコード/エンコードの命令なんてあるのか?
テクスチャユニットにはあるだろうけど、CPUに。
いずれにせよ、sRGBデコード/エンコードなんて重要性0
sRGBは色空間 fp10は数値表現形式 物理次元の違う単位同士を比較されても 意味がわからないんだが
>>871 どっちも32ビットの構造体にパックする方法だよね
っていうか、もちろんテクスチャユニットの処理もCellでやるんだろ?
>>872 ,873
確認だけどsRGBのデコード/エンコードには実数指数のpowの計算が必要
ってわかってるかい?
どんどん条件が 追加されてきましたね
>>870 そういう問題ではないだろう。
>>739 の言う「GPU的に」の解釈がそれぞれで異なっているのと、
団子が論点ずらしまくってるのと、勝手なルールを作っているのが問題なんだ。
全員一旦頭を冷やそう。
それこそスレタイを見て来た人がホビーで言ってるんだったら
1080pである必要性も60fpsである必要性も無いだろう。
そしてRSXやCellがクソであることと
>>739 への回答には関連性があるが、Larrabee信仰は何の関係もない。
そもそもLarrabeeが出てくるならGPUの領分だろう。
GPUでは無いから「GPU的に」と言っているのに、GPUが土俵に上がってくる意味が分からん。
>>878 結局都合が悪くなるとGPUじゃないって言うんですね
ちょっと待て、いつGPUだって言った。
結局都合が悪くなると 後出しでルール変更するんですね。 結局都合が悪くなると 質問にも答えないんですね。
ルールなど変えてない。一貫して、GPUの代用になりませんよねって言ってるだけ
でもSPUでGPUの代わりにポスト処理ができている事実はあるわけで そこは否定できないよ。 またフラグメントシェーダの完全な代用になると思っているやついないと思う。 ようするに団子は誰に反論してるのかがわからん。
それは739に対してのレスとしては おかしいだろ 「CELLで(何らかの)描画ってできないの?」 「GPUじゃない!!一貫して!!」 って日本語不自由すぎるだろう
このスレのカオスっぷりにはワロタ。 とりあえず、RSXとかXBOX360とか触ったことのない人から見たら、1920*1080で 60fps出そうとすると、500〜600BatchでGPUが限界になってくると思うんですよ。 そこで、前フレームの結果+Zバッファを元にSPUでエフェクト出せれば、その分 GPU側の負荷が減って…、とか考え出したら思考が止まらなくなってきたんですね。 あと、それ以上に怖いのがDriverTime。あくまで予想でしか無いんやけど、 PS3はGeForce系だから30%以上食われてるんじゃないかなぁ…。 まぁ、デザイナーさんからの要望で上司が突然FarClipを2倍にしたりとか コンシューマー組からしたらアリエナイ事を平気でやるのがWindowsですよw DualCore -> QuadCore でフレームレート2割上がったとか喜んでいても、 次の日にはその苦労が水の泡になってしまうんですねorz
>>884 その程度ならx86はWin95のDirectXの時代から、前半部分をMMXや3DNow!でやってきたわけで
むしろ今のPCの場合は「グラボ差し替えろ」で終わるからやらないだけだろ?
ていうか、NVIDIAやATIから金貰ってもっとグラボの性能必要なゲーム作ってくれって頼んでやってる状況。
そして、GPUで出来る仕事をとってやるよりAIや物理演算にまわしたほうが有意義だからCPUでやらないし
やる必要も無い。
GPUとして設計されてないプロセッサでGPUの代替やるのは不幸でしかないだろう。
それにしても、自称PCの20倍の性能を誇るゲーム機が、Call of Duty 4を
1024x600pの30fpsだとかなんの冗談かと思ったが。
だってさ、ASUS N10J並みだぜ?
じゃあRSXを叩きなよ CELLを叩くのは筋違いじゃん
Cellだけでやろうとして破綻したからNVIDIAに泣きすがったなんてのはゲイツですら知ってるだろ
そうだね、Larrabeeえらいね。で?
キャッシュに対するスクラッチパッドメモリの優位性ってどこいったんだろうね。
>>889 の前提がある俺と、経緯を知らない(あるいは知らないふりをしてる)おまいらじゃ、
話がかみ合わないのだろうな
>>891 トランジスタ数つまりダイサイズの優位性かと思った
どのみちララビで非マルチコアプログラム走らせても、大して性能伸びない、
最適化が必要、最適化すりゃもうキャッシュもいらなくね?って発想でさ。
>>889 破綻というより、スケジュールの都合だったんじゃないかなあ。
IPとか。ソフトウェアで解決したとしてIPも同時に解決するとは限らんから
個人的にはララビだろうとCellだろうとGPUとして動くのを見て見たい。
Nvidiaすっかり嫌いになったし。
LarrabeeってあれSPEじゃねえの?
仮定として、例えばCellがどのくらいの規模になったら、 せめてRSX程度にはエミュレートできるようになるんだろうか? 現行Cellだけで考えようとする発想の幅も狭まってしまうんじゃないかな。
>>839 何処の誰だかわからんのだし、守秘義務がらみだと思う。
足跡残してるのもそのためだろう。まあ企業防衛的にちゃんと仕事してる…
っていうか三菱UFJの流出あれ企業テロだろ
>>893 キャッシュの方が独立メモリのローカルストレージより理屈の上でトランジスタ食うのは
間違いないけど、その差は多寡が知れてる。
ディレクトリやコントローラ、あと仮想記憶をサポートするならTLBが必要だけど
このへんはそんなにトランジスタ使うわけがないし使えるわけもないんだよね。
たとえば、Core 2 Duo E8000シリーズの約4億1千万トランジスタのうち
IntelいわくL2を除いたロジック部は1コアあたり約1900万トランジスタ程度。
それが2つだから3800万程度。残りは3億7千万ちょいになるはずだ。
で、L2の実際に記録する部分は、6T SRAMが、1byte=10ビット構成(ECCのため)
として、6MBで3億7748万7360トランジスタ。
つまり、それ自体、誤差の範囲ってこと。
もちろん実際にキャッシュにしようと思ったらL1とL2に分ければその分は増えるんだけど、
L1命令とL1データとL2に分けることで、命令フェッチとレジスタ間ロード・ストア、DMAを
同じタイミングで行うことができるというメリットが出てくる。
トランジスタ効率のこと言うなら、むしろMFCって本当に1コアごとに必要だったのかと。
全体で一つの共有分散型L2キャッシュとして使えた方がLUTとかに使う幅ができて
性能的に有利ということもある。
L1命令キャッシュの帯域は他に取られることはないから、フェッチもクロック毎
1〜2命令ずつでよくなって、分岐ミスのペナルティも少なくなるかもしれないね。
ローカルストレージを採用したのはコーディングの手間とかだけじゃなしに
性能面でもトレードオフがあると見てる。
ごめん大嘘ついた。8ビットに対して6ビットで容量2倍で2ビット追加だから 64byteごとにECCフィールドは18ビットで結局3億1260万6720程度。 1バイトごとに2ビット付加するのは別モノ ただバスコントローラとか電源管理ユニットとかも食ってるから6千万トランジスタあまりが まんまL2のロジックとして食われるってのは断じてない。
>>889 > Cellだけでやろうとして破綻したからNVIDIAに泣きすがったなんてのはゲイツですら知ってるだろ
某芝系の社員なら破綻させたのが誰かよくご存知では?w
>>898 MFCがなくて共有L2だと、ISAもがらりと変わるしシングルスレッドなのもまずいね。
で結局普通のCPUになりそう。
SPUはそのままでもMFCがもっと賢くなったら使い勝手はあがると思うけどな。
寝てた間に進んでるな。
>>891 また違う話題に持っていって誤魔化すか。
優位性はレイテンシ。でもキャッシュの方が遙かに便利で盲腸。こう答えれば満足ですか?
>>892 実際にその場にいないから事実は知らないが噂程度なら知ってるわボケ。
>>893-895 同じ課題に対してSPEはLSと128本のレジスタ、LarrabeeはキャッシュとSMTを持ってきているので方向性が真逆。
俺は断然Larrabee派。削られる性能は微少で、命令の拡張性と浮く開発コストは膨大。
開発コストが浮くという事はエコシステムが回るということ。
つまりピークに近い性能を出すまでの開発期間が短くなるということ。
結果的に真のピークが高いはずのSPEよりも速いソフトウェアがゴロゴロ出てくる。
で も そ う い う 話 題 じ ゃ な い だ ろ
何故Larrabeeが土俵に上がってくるのだと言っているのだ。
釣られてるだけだぞ。
>>898 俺はトランジスタの詳細は知らないんだが、MFCは各コアに載っているのか?
ドキュメントには各コアに載っているかのように振る舞わなければならない、としか書いてないが。
やっぱ団子ただのワナビーだよ 知ったかがひどすぎる
900はわかってそうだが、 889とか爆笑モノの発言だよなあ
SPUを頂点シェーダとしてつかって、 RSXのそれは使用しないって方が性能高いって話 これって本当? 単純に、頂点シェーダでやる仕事を2つに分けて 前半SPU、後半RSXの方が効率よさそうだけど
RSXも使用したほうが効率いいと思うけど? キャッシュを最大源に活用すればRSX単体でも実用に十分な性能を発揮するし。 元々SPEを汎用シェーダとみなして、処理能力足りない時に頂点シェーダや ピクセルシェーダとして使う設計なんだし。
rsxのキャッシュ?
>>906 Cell の話じゃないからヨソで聞いた方がいいと思うけど。
描画負荷のチューニングでは、結局 ROP ユニットをどれだけフル稼働に近づけるかという話になる。
頂点シェーダがネックになると、ROP どころかピクセルシェーダまで働かなくなる。
もし頂点シェーダがネックになることがあるのなら、その程度の部分は CPU で事前処理した方が描画性能が上がる。
さらに、背面カリングや画面外カリングは、GPU のみで行う場合には頂点シェーダの出力を待ってからでないとできないが、
カリングされた場合にはピクセルシェーダが待ちになる確率が上がる。
事前に CPU でカリングしておけば、この待ち時間が削減できる。
という一般論もあるが、実際のところ、計測しないと、何をどれだけ CPU に持っていくべきかは分からない。
面倒なことして CPU に割り振ったのに性能上がらないなんてことにもなるからな。
というわけでその質問の回答は「嘘」。
>>886 > PS3はGeForce系だから30%以上食われてるんじゃないかなぁ…。
仕事で PS3 やれば、資料も計測ツールもあるよ。
自分で 30% 以上食うドライバ書かなければそんなことにはならないよ。
ROPってWriteのみでしょ? テクスチャをメインメモリに置いとけば、 RSX側の帯域全部Writeに使えるんじゃ。
ttp://www.nicovideo.jp/watch/sm6730346 ジオメトリ処理関連のSPU委任の定番と言えば、ソニー謹製のSPUベースのジオメトリ・プロセッシング・エンジン「Playstation Edge」(PS Edge)だ。
「GOW III」では、頂点データはすべてPS Edgeで処理してしまい(≒SPUでの頂点シェダー処理)、PS3のGPU(RSX)に受け渡している。
つまり、RSX側の頂点シェーダーは基本的に活用しない実装としたのだ。
リンク間違えた
ttp://game.watch.impress.co.jp/docs/20070316/pe.htm 「GOW III」では頂点シェーダーはSPUで代行。RSX側の頂点シェーダーは活用せず。
実は、最近のPS3タイトルはこの実装が多い。RSXは評判が悪いが、SPU頂点シェーダーはすこぶる評判がいいのだ
ジオメトリ処理関連のSPU委任の定番と言えば、ソニー謹製のSPUベースのジオメトリ・プロセッシング・エンジン「Playstation Edge」(PS Edge)だ。
「GOW III」では、頂点データはすべてPS Edgeで処理してしまい(≒SPUでの頂点シェダー処理)、PS3のGPU(RSX)に受け渡している。
つまり、RSX側の頂点シェーダーは基本的に活用しない実装としたのだ。
PS2エミュに帯域が足りないってあるけど、 GSの仕様どおりテクスチャをメインメモリに置いて、 タイルレンダリング分必要な枚数だけ頂点をSPUに垂れ流させとけば、 GDDR3のDRAMの帯域ではない書き込み効率は上がってるのかしらんけど、 上がってれば何とかなりそうな気がしないでもない。 GSだってWriteは19GB/s程度だし。
ごめんタイルレンダは関係ないや LSをVRAMとして使う場合とごっちゃになってた
15時に本当にくると思ったら15時31分だったでござるの巻
>>911 それは理論値? 実測? あてずっぽう?
リアルGKといえば品川のほうに今年入社した後輩がいたな 私用ノートはVAIOっていう筋金入り
かわいい後輩だなw
>>919 次からはその後輩のことをちゃんと○○さんって呼べよ
おう、鏑木さん
今日は17:17ごろにしておいた
// vp1とvp2は__vector int*型 if(!(*vp1++ == *vp2++)) return 1; gcc43ではエラーでてコンパイルできないんだけどなんで? vectorは比較しちゃだめなの?比較したい時はどう書けば?
なんで != じゃないのか気になった俺は負けか?
ってのは置いといて、分岐命令が判定するのは32bitだけだから vector 比較はだめかもね。cmp, gather, cmp とかするのかな。
こんな感じにしてみた。 if(!(spu_extract(spu_gather(spu_cmpeq(*vp1++, *vp2++)),0) == 15)) return 1; なんか嫌だ。
extractはcastに。
複数台のPS3繋げられて処理能力が向上するとかだったら面白いんだが。
>>930 SPEはネットワークでグリッドするのも一役狙ってたんだが、肝心のソフトが出てこないね。
SPEってどっちだよ
SPUだった。そーりー。
ソニーピクチャーズ
936 :
デフォルトの名無しさん :2009/04/22(水) 18:14:33
>>936 それって3Dライブラリじゃないの?良く知らんが。
Cellでエンコするなら別のコード書くんじゃない?
ミスタエッジ
.
長い実行時間のJOB を流しながら短い時間のプログラムのデバッグを していたら長い方のJOBが引っかかって停止(ループ)したようなんですが そんな経験ありますか。
と言うか、タスク切替えの時にSPUの情報は退避されないとかの仕様ですか。
>>940 あります
>>941 普通のコアならレジスタさえ退避しておけばメモリ勝手に流れるけど、
SPEは独立メモリだからそういう細工が出来ない模様
それがネックになってCELLの評価キットでの開発が頓挫した経験ならあります。 要は、SPEを使うようなプログラムを複数動かさなければいいんだろうけどねぇ。
まさかの団子の低脳レス
回答ありがとうございます。思い切った仕様ですね。 あれから実験してみまして表と裏で流すSPEの数の合計が6を越えなければ 避けて実行してくれるみたいなんでしばらくそういう形でいきたいとおもいます。
SDK3.2まだー
Xserver を SPE 使って書いたりできないってことですよね。
>>947 いいえ、どんなプログラムであろうともSPEを使うように書くことはできます。
SPEを使ってXServerプログラムを書くことも、難しいかもしれませんができないことではないと思います。
どちらにしても、意味がないだけで。
spuでls内の数kバイト連続したベクタデータを何回もコピーする必要があるのですが、memcpyでコピーするよりも、DMAでコピーしたほうが速いですか? memcpyだと3GB/sec位しかでませんでした。 ちなみに、ベタでループで代入する方法で、-funroll-loopsオプションをつけたら、memcpyよりも高速でした。 これは、memcpyが1バイトごとにコピーしているのに対してベタなのはベクタデータでレジスタ沢山使ってコピーしているからですかね。 memcpy意外で、賢いやり方はありませんか? DMAだと、レイテンシが馬鹿にならないので。
ループ代入でコピーする方法では25.6GB/sec近くのコピー速度になるとは思いますが それでも不満でしたらコピーしないですむ方法や同時計算を考えるしかないと思います。 どんな処理をするのかはわかりませんが 例えば、コピーした後何らかのデータ更新をするというなら コピー元からロードして、更新したらコピー先にそのままストアするといった具合にです。
>>950 ここで仰る25.6G/sというのはDMA転送のことなのでしょうか?
それとも、LS内部でのことでしょうか?
やりたいことは例えばベクタ配列A[1000]とB[1000]があって、
下記の様な処理を行いたいと考えています。
(DMA転送部分は簡略化しています。)
for(i=0;i<1000;i++){
DMAGET(A, MainMem_Addr+i*addr, 1000*sizeof(vector float));
for(j=0;j<1000;j++){
A[j] = A[j] + B[j];
}
B[0] = A[j-1];
memcpy(&B[1], &A[0], 999*sizeof(vector float));
DMAPUT(A, MainMem_Addr1+i*addr 1000*sizeof(vector float));
}
ここで、memcpyを行うよりもDMAの方が高速であればそれでよいのですが、
このような処理が各SPUで行うので、帯域が足りなくなり、そこがボトルネックになります。
極力DMA転送を減らしたいと思ってこのような方法を考えたのですが、
memcpyが思ったよりも速度がでないのでは、DMAでやった方がいいのですかね。
Aと同じ大きさのバッファをもう一つ持ってダブルバッファリングして、 Bはなくしてしまえばいい。memcpyが不要になる。 vector float A[2][1000]; int idx = 0; int offset = 0; A[1](旧B)の初期化処理 for(i=0;i<1000;i++){ DMAGET(A[idx], MainMem_Addr+i*addr, 1000*sizeof(vector float)); vector float *temp_0 = A[idx]; vector float *temp_1 = A[idx^1][1000-offset]; for(j=0;j<offset;j++){ temp_0[j] = temp_0[j] + temp_1[j]; } vector float *temp_2 = A[idx][offset]; vector float *temp_3 = A[idx^1][0]; for(j=0;j<1000-offset;j++){ temp_2[j] = temp_2[j] + temp_3[j]; } DMAPUT(A[idx], MainMem_Addr1+i*addr 1000*sizeof(vector float)); idx ^= 1; } ちゃんと確認してないから間違いはあるかも。 トリプルバッファ使ったりすればDMA転送の時間も一部隠蔽できるけどね。(余裕があれば試してみればいい)
>>952 が難しければ16byte単位でコピーするmemcpyを自作して置き換えるだけでも少し早くなるよ。
LSに余裕があるなら、ここに特化した999のvector floatをループ無しでコピーする専用の処理を作るのもありだw
「笑えよベジータ」←いまここ
なにこの癒されbar
/opt/cell/sdk/src/demos/FFT16M の実行された方いますか。サイズを変えたりとか。
DMAって同じLS内にかけられたっけ?
やったことないや。
EAにマップされてるから指定自体はできそう。
DMAかけるとそこは並列に動くのでパフォーマンスあがる可能性はあるかもね。
それよりまず
>>951 はダブルバッファからだけどw
SPE で処理をさせている間に PPE でも処理をさせたいので PPE で生成した子スレッドで spe_context_run() を呼び出そうと 思うのですが子スレッドがSPEの処理を待っている間は PPE のCPU時間 の半分を使ってしまうのでしょうか。
スレッドはブロックされるとのことで CPU 時間はほぼ消費しないようですね。 おさわがせしました。
> リアルSCEIの人 インソムニアックがLarrabeeの調査してるみたいだね。 いろいろ勘繰りたいこともあるんだが、おまいら、本当にそれでいいのか?
そりゃ調査させるくらい安いもんだろ
LRBは使えないってことで結論でたよ
残念、現在進行形
産業で大胆仮説いっちゃうよ インソが ゲイツ(Xbox陣営)に NTR
そのLarrabeeですら現在進行形 まあ、幾つかベンチスコアでっちあげて お蔵入りになるだろうね。Intelではよくあること。
グランツーリスモ5のことですね。よくわかります。
次世代XBOXのGPUは継続してAMDって話をきいたが
誰に聞いたの? 君のおとうさんの知り合いのインターネットの会社の人?
>>968 お前と同じくインターネットの情報だよ。
ついでだからここで君のループアンロールの知識を披露してくれ。 袋叩きにあうから
>>952 >>951 です。
ありがとうございます。
既にダブルバッファを使っていて、DMAがいっぱいいっぱいになってしまっていて、
SPUが遊んでいて、DMA帯域にを少しでも軽減できればLS内でのmemcpyと思っていました。
>idx ^=1
こんなやり方があったのですね。
idx = (idx+1)%2
とかやっていました。
こいのぼりやさんだよ
今日も団子さんのリファラオナニーが冴えてるな
うるしあこいのぼりぶつけんぞ
gatekeeper2.scei.jp ↑ねえこれ新しいサーバ?
名乗ってるだけマシ
団子さんを毛嫌いしている訳じゃないし、 実力のあるお方だとは思うけど、 その実力以上の口だけ者感は否めなかったなぁ〜 なんだかんだでスレは(前々からの事で)勿論、こないだのコンテストにも貢献してたと思うけど
SPE から呼び出せるLAPACKとかがないとつかいにくいね。