元スレcellプログラミングしちゃいなよ3
cell覧 / PC版 /みんなの評価 : ☆
501 = :
つまり切ったんだな
502 = :
2人参加が優勝してたらまず団子だろw
503 = :
なんか・・・インパクトに欠ける予想だな・・・
504 = :
>>500
今の実装でも (Odd + Even) / 2 < 13clock だから否定は出来ないなぁ…。
505 = :
2人参加が優勝したら、両方名前&社名出すようにfixstarsに働きかけようぜw
506 = :
>>504
多いほうの命令ひとつ減らすのに、少ないほうの命令が3つくらい増える悲惨な事態に陥ってますが。
507 = :
ってか、2人参加の片割れがfixstarsの関係者かも知んなくね?
508 = :
>>506
判る判るw
もう、1サイクル減らすとかじゃなくて、0.3サイクルとか0.25サイクルずつ減らす
領域なんだよね。
509 = :
>>507
fixstars 関係者は参加できないよ。
中の人は、仕事の片手間に応募者より速いコードを目指して実装中。
たぶんまだ5M切れてない。
このスレみてガクブルしてるよw
510 = :
参加できないんだから、参加してない事を証明しなきゃダメだろ。
ってことは、チームの場合も両方名前&社名出さないと。
511 = :
>>509
そんなしょーもないことしてどうすんねん
優秀な学生の確保と活力ある社会人の引き抜きが目的だろ
512 = :
うーむ・・・もはや手詰まりか
513 = :
>>511
別に非関係者装って参戦してるとかそーゆーんじゃなくて、純粋に遊びで
挑戦してるらしいよ。
Cellのプロフェッショナルとしてのプライドをかけたお遊びねw
マイミクのfixstars社員に「社内で5M切った奴いる?」って訊いてみたら?
514 = :
まあプロが俺に負けるわけにはいかんだろうがなぁ
515 = :
ちょ、だんごさん4.8M切ってるのか。スゲー!
516 = :
そこは驚くところじゃない
まだ上はいるんじゃね?何となく。
517 = :
>>473のコードを1命令変更しただけで4.8M切れたw
さて、これをアセンブラに移してループの調整でも始めるかな。
518 = :
だんごやさんピーンチ
519 = :
>>518
ちょっとワロタ。14cycleの時は1位との差が10000tick行くか行かないかの所まで
詰められたけど、ここまで来るとさすがに自信無いなぁ…。
520 = :
>>479
実は載ってるところ少ないんだけど8サイクル以上位連続でロード/ストアしようとするとストールした記憶がある
そこでいったんぶった切ってoddでそれ以外の事するかあけてしまった方が速くなったりとか
自分も去年かおととし気づいたことなんで厳密な事は覚えてないんだけど
521 = :
↑の制限は8サイクルよりは長いよ。でも 227 はそんな load/store はしてないと思う。
522 = :
>>520
へぇ。
命令のバッファが空になるとLS命令をストールさせて命令をフェッチする
とかそういうのがあるのかな?
523 = :
>>520
SPEのLSはポート一個しか無いので、DMAやload,storeが頻発すると、命令フェッチができなくなる場合がある。
Handbook の 3.1.1.3 に、優先度は、 DMA > load,store > 命令フェッチ と書いてある。
命令フェッチが必要な場合は、hbrp命令すると優先度が上げられる。
詳細は、
http://cell.scei.co.jp/j_download.html
「プロセッサにおける命令枯渇に起因する Synergistic Processor Elementの無限ストールの防止について」
あたりに書いてある気がするが、読んでもよくわからん。
524 = :
とりあえず詰ませてみたけど、asmvis 見てもどこでストールが起きてるのか
分からない状態。片っ端から nop/lnop 入れて検証するのかぁ…orz
>>521
カンで16か20とみた。調子に乗ってループ展開しまくっていた頃だから、
知らない間にリミットを追えてしまったのかもしれませんね。
525 = :
>>524
分岐ヒント命令のレイテンシが15cycleだから、それ以下の可能性が高い。
12cycle=24命令か8cycle=16命令分でオチるんじゃないかな。
526 = :
>>523
DMA 用と load/store & ifetch 用の2ポートだった希ガス。
今回は DMA 関係ないけど、DMA は待たせられないからね。
で、load/store と ifetch でポート共有してるから、ifetch が
ストールしないように、load/store は続けちゃだめよ、と。
527 = :
謎のデチューン(笑)で性能改善された説明になるな。
メモしておこう
528 = :
学生でやってるけど10倍すらキツい
アセンブラ命令と複数対1命令で対応している組み込み命令は
どの程度コンパイラによる最適化の影響を受けるの?
基礎的な知識が圧倒的に足りていない件・・・orz
529 = :
要するに128バイト分の命令(32命令)をこなす間に8サイクル以上
LSにロード・ストアしないタイミングを確保すればいいらしい。
完全にEven/Oddが同時実行されてる場合はロード・ストアが1バッファあたり8命令を越えるとアウト。
2命令同時発行できないサイクルがあったりすれば1バッファを使いきるサイクル数が17以上に延びるので、その分は延びる。
たとえばEven側20命令、ロード・ストア12命令の32命令でも、バッファのフィルに必要な8サイクルを確保できる。
530 = :
>>529
Handbook によると
「SPU instruction prefetches are 128 bytes per cycle.」
らしいので、32命令中に1サイクル空きがあればいいはず。
531 = :
>>528
結果さえ同一ならバカ正直に「SIMD版MT」を実装する必要がない
533 = :
そういえばDMAと命令フェッチが同じバスなんてことが書いてあるような
534 = :
>>531ありがとうございます。>>209で言ってたようなことかな・・・
もういちど見直してみます
535 = :
536 = :
>>530,532
LS の読み書き単位が 128byte だからね、たしか。
ただ、読み込み自体は 1cycle で終わっても、SPU の pipeline は
結構深くて、15cycle くらい前に fetch されてないとダメなはず。
他にも ifetch 起動条件とか色々あるよ。どっかに資料あると
思うけど、リンクとか張らないでみんな自力で頑張ろうぜw
537 = :
.html
上から下までこうなってないところ捜す方がしんどい
538 = :
あ、当たり前では?
539 = :
俺も参加したいけど、どうせなら1位2位を争いたい。
でも団子屋さんみたいな暇人じゃないから勝てるわけもないので高みの見物。
540 = :
ひまじんとはしつれいな
541 = :
>>531
それ考えてるんだけど思いつかないんだよな
アルゴリズム同じのまま使う命令の入れ替えと並び替えで15サイクルまでは来れたんだけど
しかも現状じゃ隙間は残ってるのに依存性で詰められないところがあってもったいない
ここにいる優勝候補さんたちは社会人部門だと信じてる
543 = :
!!!いままで使ってなかったんか!!!w
545 = :
だんごうぜー
546 = :
ふゅーじゃーねいざん?
547 = :
ループ内側の最適化は投げ出して、外側の整形作業に移るとしますか。
知らない間にリアルが2末マイルストーンとか言う無茶苦茶な事に
なってたんで、現実逃避も程々にしとかないとマジでヤバイかも。。。
548 = :
なんで、こんなところに節穴がいるの?
550 = :
今更になって>>389見て幻滅してきたorz メモリが無いと勝てる気がしない…。
みんなの評価 : ☆
類似してるかもしれないスレッド
- cellプログラミングしちゃいなよ4 (607) - [97%] - 2009/3/24 11:04 ○
- CELL鬯ッ?ゥ隰ウ?セ??ス??オ????コ?????ッCore2 QX6700鬯ッ?ゥ隰ウ?セ??ス??オ????コ???? (92) - [18446744073709551581%] - 2012/1/21 0:39
トップメニューへ / →のくす牧場書庫について