のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,836人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレcellプログラミングしちゃいなよ3

    cell スレッド一覧へ / cell とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 : ,,・´∀`・, - 2009/01/16(金) 03:09:49 (+70,+29,-70)
    >>446
    それならそれでソースコード公開できるんだけどね。

    行動とは裏腹に誰にも気づかれることもなく優勝するシナリオを望んでる。
    矛盾してるな。
    452 : 202 - 2009/01/16(金) 03:28:27 (+3,-30,-98)
    インラインアセンブラ版動いた。
    効率はこれから詰めていくけど、とりあえず適当な詰め方でも98%行く。
    デバッグが超面倒だった。

    これからインラインアセンブラに手を出す人にヒント。
    .balign 16
    というディレクティブを使って、命令のアドレスを16byte境界にalignしないと、
    Dual-issue ねらってた命令が全部single-issue になってしまう。
    めっちゃ遅くなって、間違ってループカウンタ壊したかと思った。
    453 : 227 ◆eZQ - 2009/01/16(金) 21:47:01 (+79,+29,-117)
    今週末は2日間とも強引に休む事にしたんで、インラインアセンブラにでも
    手を付けてみます(ちなみにVCの奴は経験有るけど、GCCの奴は初)。

    98%超えが4人いる事が判明しているので、まだまだチキンレース続けますよw

    >>428
    インラインアセンブラ解禁されたので、既に意味無くなった情報でも投下。

    volatileによる制約は、メモリアクセスの順番を守る制約でも有ります。
    組み込みプログラミングでメモリ空間が外部バスにマッピングされてると、
    アクセス順番が狂う=バグ、という死活問題に繋がってくる訳です。

    >>439
    gcc のコードを並び替えるだけで終わりような予感。
    454 : 202 - 2009/01/16(金) 21:55:23 (+50,-30,-85)
    >>453
    俺だって元組み込み屋だ。volatileの意味くらい知ってる。

    でも、ひょっとしたら、register volatile vector unsigned va; とか書いたら、vaが適当な
    レジスタに固定でマッピングされてくれないかなと思って実験してみたくなるのは判るだろ。
    455 : 227 ◆eZQ - 2009/01/16(金) 22:16:02 (+69,+29,-72)
    >>454
    その道のプロの方でしたか。これは失礼いたしました。

    > vaが適当なレジスタに固定でマッピングされてくれないかな
    幾らハッキングが好きなゲーム屋だからと言って、割り込みから
    メインスレッドのレジスタ葬るような事はやったこと無いなぁ…。
    456 : ,,・´∀`・, - 2009/01/16(金) 22:49:32 (+3,-29,-72)
    SPUのABI仕様書読んでみると面白いね。
    vector型をメンバに持つ構造体も、レジスタ本数に余裕がある限りレジスタ上に展開できる。
    これによって複数の返値を持つことができる。

    SSE(VC++)だと構造体を返値にすると無条件でスタック返しになってたような。
    457 : デフォルトの名無 - 2009/01/17(土) 02:14:37 (+57,+29,-11)
    高速化がこんなに楽しいものだとは知らなかった。
    どんどん速くなっていくのは快感だね。
    458 : 227 ◆eZQ - 2009/01/17(土) 02:31:13 (+45,-30,-53)
    なんか手詰まりの予感orz

    mt_mine.c:93: internal compiler error: Segmentation fault
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <http://gcc.gnu.org/bugs.html> for instructions.
    make: *** [mt_mine.o] Error 1
    459 : 227 ◆eZQ - 2009/01/17(土) 03:57:00 (+57,+29,-29)
    拡張アセンブラが腐ってたっぽい感じです。レジスタの待避まで手動でやれば
    大丈夫になるのかなぁ…?
    460 : ,,・´∀`・, - 2009/01/17(土) 14:30:48 (+57,+29,-16)
    まさにチキンレースだな。
    究極的には両方のパイプを埋めきるまでやるんだろこれ。
    461 : sage - 2009/01/17(土) 14:58:35 (+57,+29,-22)
    団子さんは今どんなスコアですか?
    今までの勢いだと4.5M切ってたりして…
    462 : ,,・´∀`・, - 2009/01/17(土) 15:40:52 (+52,+29,-2)
    そろそろ詰んだかも
    463 : デフォルトの名無 - 2009/01/17(土) 16:17:21 (+57,+29,-25)
    今まで仕事でHTCできなかったから今から本気出す
    ASM禁止→解禁のごたごたの間に手を出さなかったのは逆に勝ち組なんじゃね
    464 : デフォルトの名無 - 2009/01/17(土) 16:27:20 (+158,+29,-27)
    >>202>>227>>団子厨
    が優勝争ってるんでしょ~~
    結局だれがいちばん強いわけ?
    どれくらいとればこの人たちに勝てるかおしえて
    465 : ,,・´∀`・, - 2009/01/17(土) 16:31:54 (+125,+29,-24)
    たぶん一番上の項目で5Mくらい出せれば準優勝狙えると思うよ
    優勝は無理だろうけどね。
    466 : 464 - 2009/01/17(土) 16:40:34 (+70,+30,-32)
    >>465
    SUGEEEEEEEEEE自信だけど自分はどれくらいまで行けそうなの?
    もし準優勝すらできなかったら何してくれんの?


    まぁおれは7M切るので精一杯だから関係ないけど。。。
    467 : 202 - 2009/01/17(土) 18:21:39 (+72,+28,-3)
    >>465
    つまり、だんごさんは5M切ったとw
    468 : ,,・´∀`・, - 2009/01/17(土) 19:19:57 (+57,+29,-14)
    さあそれはどうだか
    少なくとも細かいチューンでの対決に持ち込めば勝てる自信がある・・・かもしれないね
    469 : デフォルトの名無 - 2009/01/17(土) 20:54:41 (+52,+29,-2)
    60倍越えたんですね。わかります。
    470 : 464 - 2009/01/17(土) 21:46:34 (+57,+29,-3)
    だんごさんの優勝はもう決定事項なのか。。。
    471 : 227 ◆eZQ - 2009/01/18(日) 00:43:53 (+77,+29,-37)
    インラインアセンブラを駆使しても>>389に勝てないという現実orz
    今日一日アセンブラ触ってみて、gcc43の凄さを感じ取れました。
    472 : 202 - 2009/01/18(日) 00:57:32 (+112,+29,-54)
    アイデア出すたびにガンガン速くなってた時期と違って、5M近くにたどり着くと
    苦行になってきたな。
    1%未満の調整は投げ出して提出する時期かも。

    下馬評では、1位だんごさんで、2位は俺と>>227の対決か。
    チキンなので俺のticks数は書けない。
    473 : 227 ◆eZQ - 2009/01/18(日) 01:13:21 (+33,-28,+1)
    >>472
    インラインアセンブラ使用前で5119021。
    474 : デフォルトの名無 - 2009/01/18(日) 04:12:17 (+61,+29,-46)
    好きに使っていいレジスタって何番~何番だっけ
    なんかコンパイラが予約してるとことかあった気がするんだけどどの資料を見たのか忘れてしまった
    475 : デフォルトの名無 - 2009/01/18(日) 05:59:54 (+28,-30,-45)
    >>474
    http://cell.scei.co.jp/j_download.html
    「SPU Application Binary Interface Specification」の 「2.2.1 レジスタ」(日本語だと P8) の表
    476 : デフォルトの名無 - 2009/01/18(日) 06:08:38 (+72,+6,-28)
    >>475
    ありがと
    普通にR80~を使ってた
    なんか普通に動いてるけどたまたまなのかコンパイラが退避してくれてるのか…
    できるだけR10~79位を使う様にするかな
    477 : 202 - 2009/01/18(日) 10:56:45 (+67,+29,-46)
    >>476
    拡張インラインアセンブリ構文を勉強すると良いよ。
    コンパイラにどのレジスタ使うか教えると、変数割り当てがかぶらないように
    してくれたり、必要ならレジスタ退避もやってくれる。
    478 : ,,・´∀`・, - 2009/01/18(日) 12:15:37 (+52,+29,+0)
    敢えて言う。
    俺には無理。
    479 : 227 ◆eZQ - 2009/01/18(日) 18:13:28 (+38,-29,-64)
    nop/lnop を入れると早くなる謎。レジスタの依存関係は無さそうやし、
    LSの帯域制限とかいう隠れ仕様でも有るのかなぁ…。
    480 : デフォルトの名無 - 2009/01/18(日) 18:39:43 (+57,+29,-5)
    隠れ仕様なんかじゃないよ。もっと勉強しましょう。
    481 : ,,・´∀`・, - 2009/01/18(日) 19:01:48 (+107,+29,-39)
    これ以上性能伸ばすにはOddパイプの命令数削減する方法を本気で考えないといけなくなった。
    #トップを目指してる人はどういう状況かわかるよな?
    482 : 202 - 2009/01/18(日) 19:27:18 (+23,-8,+0)
    >>481
    wwww
    483 : 202 - 2009/01/18(日) 19:28:25 (+34,-29,-19)
    >>479
    dual-issueとかじゃなく?
    484 : ,,・´∀`・, - 2009/01/18(日) 19:29:49 (+47,+24,-1)
    策はある。足りないのはメモリ。
    485 : 227 ◆eZQ - 2009/01/18(日) 19:49:31 (+84,+29,-28)
    >>483
    ちょっと違うっぽい。nop+lnopを入れると1クロックのロスで済むものの、
    何も入れないと2クロックストールしてるような感じです。

    >>481
    今のところ Odd 余ってるんやけどなぁ…。まさか限界突破したとかorz
    486 : ,,・´∀`・, - 2009/01/18(日) 19:51:25 (+55,+29,-23)
    ループ後半のどうでもいいようなところしか余ってない。
    無理になんか処理入れたら逆に性能低下するし、そろそろ別の方針が必要っぽい


    #意地でもCでがんばるぞ
    487 : デフォルトの名無 - 2009/01/18(日) 20:04:38 (+20,-13,-4)
    >>485
    ヒント欲しい?w
    488 : ,,・´∀`・, - 2009/01/18(日) 20:12:08 (+62,+29,-25)
    今なら言うけど、>>394は限界ではない

    ラチェクラとか作った会社がまとめたSPU命令のレイテンシ一覧あったんで貼っておきますね。
    なんでこういうわかりやすい資料が公式に無いのか疑問。

    http://www.insomniacgames.com/tech/articles/0907/spu_instruction_cheat_sheet.php
    489 : デフォルトの名無 - 2009/01/18(日) 20:15:02 (+57,+29,-6)
    まーた、フカシが始まったよ… なんで黙ってられないんだろう。
    490 : ,,・´∀`・, - 2009/01/18(日) 20:24:07 (+36,-30,+0)
    別に信じなくてもいいが、現実を受け入れなきゃ優勝が無い、それだけの話だ。

    ↓これはまだパイプラインに余裕があったときのスコア。

    spu-gcc43 -std=gnu99 -O3 -g -c -o mt_mine.o mt_mine.c
    spu-gcc43 -Wl,-Map,mt_kadai.map mt_kadai.o mt_mine.o mt19937ar.sep/mt19937ar.o -o mt_kadai
    ./mt_kadai
    ORIGNAL: sum=3c927c56, 294032967 ticks
    MINE: sum=3c927c56, 4967580 ticks
    ORIGNAL: sum=2e987a4d, 424158953 ticks
    MINE: sum=2e987a4d, 7165990 ticks
    ORIGNAL: sum=ef1b6aef, 312105208 ticks
    MINE: sum=ef1b6aef, 5272912 ticks
    ORIGNAL: sum=eedd2516, 290057341 ticks
    MINE: sum=eedd2516, 4900408 ticks
    ORIGNAL: sum=f7e967a8, 14366933 ticks
    MINE: sum=f7e967a8, 242775 ticks
    ORIGNAL: sum=1f37a7db, 214217873 ticks
    MINE: sum=1f37a7db, 3619145 ticks
    ORIGNAL: sum=c7d41f36, 294966530 ticks
    MINE: sum=c7d41f36, 4983349 ticks
    ORIGNAL: sum=aa9d2e9f, 259567100 ticks
    MINE: sum=aa9d2e9f, 4385307 ticks
    ORIGNAL: sum=8abd398a, 250846200 ticks
    MINE: sum=8abd398a, 4237963 ticks
    ORIGNAL: sum=a374bd58, 6110333 ticks
    MINE: sum=a374bd58, 103279 ticks
    491 : デフォルトの名無 - 2009/01/18(日) 20:30:40 (+57,+29,-8)
    こんなとこに情報出しまくる奴にも優勝はないと思うw
    492 : ,,・´∀`・, - 2009/01/18(日) 20:32:00 (+57,+29,-6)
    だろうね。用心深いから常に古い情報ばっかし出してる。
    493 : デフォルトの名無 - 2009/01/18(日) 20:32:48 (+57,+29,-31)
    それで大丈夫と思ってる井の中の蛙は負けると思うw
    494 : デフォルトの名無 - 2009/01/18(日) 20:33:22 (+52,+29,-2)
    お前らひがみはみっともないぜ
    495 : ,,・´∀`・, - 2009/01/18(日) 20:33:44 (+52,+29,-5)
    いったい誰に負けるって?
    496 : 227 ◆eZQ - 2009/01/18(日) 20:36:40 (+62,+29,-23)
    >>490
    またCに戻って戦略練り直しかorz チキンレース面白いから大歓迎だけどw
    497 : デフォルトの名無 - 2009/01/18(日) 20:36:47 (-6,-29,-13)
    井=2ch
    蛙=団子
    498 : ,,・´∀`・, - 2009/01/18(日) 20:38:49 (+52,+29,-3)
    敢えて言う、これは出来レースだ。
    499 : デフォルトの名無 - 2009/01/18(日) 20:43:09 (+57,+29,-1)
    負けた時の言い訳ですね。わかります。
    500 : ,,・´∀`・, - 2009/01/18(日) 20:45:33 (+60,+28,-15)
    ん?俺が勝ったか負けたかをどうやって確認する気だ?wwwwww

    じゃあ予想だけしておこう。
    優勝者は、13clk/qwordを、切る。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / cell スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について