- 1 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 08:55:08 ]
- 前スレ
Cellプログラミングしちゃいなよ2 pc11.2ch.net/test/read.cgi/tech/1183091522/
- 357 名前:202 mailto:sage [2009/01/13(火) 12:50:07 ]
- どうしても0.3命令くらいはオーバーヘッドが消えない。
15.3 * 100 /15 = 102 だから、2%がオーバーヘッドか。 コンパイラに99%以上の効率のコードを吐き出させるだんごさんは神。
- 358 名前:202 mailto:sage [2009/01/13(火) 13:17:14 ]
- >>355
ちょっと待ってろ、fixstarsにインラインアセンブラ使って良いかどうか訊いてくる。 だんごさんに勝つにはもうそれしかない希ガス。
- 359 名前:250 mailto:sage [2009/01/13(火) 13:34:00 ]
- >>358
おぉ!よろしく頼むっす!でもさすがにダメな気がするw おいら今 1.66% のオーバーヘッドまできた。5.54M でもなんか全然本質じゃない事ばっかでちょっと虚しい… orz
- 360 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 13:45:11 ]
- これからチュートリアル読み始めるんだけど、10倍くらいならいけるかな
- 361 名前:202 mailto:sage [2009/01/13(火) 16:11:14 ]
- 5M台何人いるのか判らなくなってきたな。
5.6M切ってるのがこのスレに4人くらい居るのかな?
- 362 名前:202 mailto:sage [2009/01/13(火) 17:30:57 ]
- >>322,324 さん、fixstars社員ですね、わかります。
- 363 名前:,,・´∀`・,,)っ-○◎○ mailto:sage [2009/01/13(火) 17:52:24 ]
- VISEO MDT243Wだったら2位も悪くないなと思ってるんだぜ。
ってか、42インチのテレビなんて使わねー PCモニタとしてつかうにはでかすぎるし。
- 364 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 21:17:18 ]
- 15命令切る方法思いついたかも知れない
- 365 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 21:27:21 ]
- うはwwww
みなぎってきたwwwwwwwwww とりあえず目標修正 5Mな!
- 366 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 21:28:57 ]
- と思いきや、それをやるには spu_and が必要だから減らないんだなー
- 367 名前:202 mailto:sage [2009/01/13(火) 21:29:45 ]
- wwwwwwwwww
びびらせやがって!
- 368 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 21:31:56 ]
- いや、>>366 は適当に書いただけだってばw
- 369 名前:202 mailto:sage [2009/01/13(火) 21:32:43 ]
- 試しにインラインアセンブラつかってみたんだけど、
asm("lqr $50, mt+16") みたいにすると、コンパイラに怒られる。 mt+ って書式は使えない?
- 370 名前:202 mailto:sage [2009/01/13(火) 21:33:45 ]
- ちょっwww
だんごさんに追い抜かれる!
- 371 名前:202 mailto:sage [2009/01/13(火) 21:35:12 ]
- インラインアセンブラ無しでどうやって5M超えようか
- 372 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 21:35:43 ]
- 202 さんは現段階で抜いてたの?
- 373 名前:202 mailto:sage [2009/01/13(火) 21:42:09 ]
- たぶんね。15cycle は少し前に突破してる。 >>326
だれも気づいてないっぽかったから、その後は 15cycle前提で会話してた。 gcc43に行く手を阻まれて、理論値に全然近づけてないけど、>>316 の時点で >>312 は抜いてた。
- 374 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 21:57:26 ]
- って事は、>>357 は本当は 14.3 ってこと?
- 375 名前:202 mailto:sage [2009/01/13(火) 22:00:39 ]
- >>374
それ、実は、アセンブラを自動生成する簡単なプログラム書いて、 その出力したコード(未テスト)のサイクル数の話。15はウソ。 本当のオーバーヘッドは0.3どころじゃない。もっとデカイ。 んで、アセンブラ禁止された。 ... 質問しなけりゃ良かったorz
- 376 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 22:15:21 ]
- というわけで俺だけ次のステップに逝く予感
- 377 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 22:15:31 ]
- アセンブラ禁止意味不明。最早 Hack The spu-gcc43 じゃん。
- 378 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 22:17:56 ]
- パイプラインを埋める方策考え直さないといけないな。
- 379 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 22:19:54 ]
- 方策は・・・あるんだなこれが。
- 380 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 22:25:49 ]
- >>377 うまいw まさしくそのとおりだとおも
- 381 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 22:25:50 ]
- これは15cycleを切れないコードの最高スコアだ。もちろんアセンブラなど使ってない。
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, 294035297 ticks MINE: sum=3c927c56, 5466192 ticks ORIGNAL: sum=2e987a4d, 424162315 ticks MINE: sum=2e987a4d, 7885270 ticks ORIGNAL: sum=ef1b6aef, 312107681 ticks MINE: sum=ef1b6aef, 5802168 ticks ORIGNAL: sum=eedd2516, 290059639 ticks MINE: sum=eedd2516, 5392281 ticks ORIGNAL: sum=f7e967a8, 14367047 ticks MINE: sum=f7e967a8, 267131 ticks ORIGNAL: sum=1f37a7db, 214219571 ticks MINE: sum=1f37a7db, 3982409 ticks ORIGNAL: sum=c7d41f36, 294968868 ticks MINE: sum=c7d41f36, 5483545 ticks ORIGNAL: sum=aa9d2e9f, 259569157 ticks MINE: sum=aa9d2e9f, 4825469 ticks ORIGNAL: sum=8abd398a, 250848188 ticks MINE: sum=8abd398a, 4663339 ticks ORIGNAL: sum=a374bd58, 6110381 ticks MINE: sum=a374bd58, 113635 ticks
- 382 名前:202 mailto:sage [2009/01/13(火) 22:29:57 ]
- 多分、もう、次のステップはない。
Hack the spu-gcc 4.3 '09 優勝争いのステージに、いま、俺とだんごさんが立っている。 このステージを制するのは、俺か、だんごさんか、はたまた新たなる チャレンジャーか!!!
- 383 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 22:33:16 ]
- 我ながら恐ろしい。15clk/QWORDに対する実効効率99.74%の基地外スケジューリング
俺に勝てるかなククク
- 384 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/13(火) 22:43:37 ]
- ヒント:最適化が糞なら、無効にすればいいじゃない
- 385 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 23:46:28 ]
- 今更?
- 386 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 23:58:15 ]
- この課題説明でインラインアセンブラ禁止なら、
pragma も使用禁止でしょうな。
- 387 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 00:03:42 ]
- それって、なんてコンパイラハッキングゲーム?w
- 388 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/14(水) 00:41:47 ]
- わっちもようやく>>282のスタートラインに立てたので一応報告。
ちなみに、何故かコンパイラの最適化無効にしたらコードの質が良くなってるし、 コンパイラとの戦いの意味合いの方が強いような気がするなぁ…。
- 389 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 01:01:21 ]
- ハッキングなどしてない
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, 295486875 ticks MINE: sum=3c927c56, 5093390 ticks ORIGNAL: sum=2e987a4d, 426256300 ticks MINE: sum=2e987a4d, 7347483 ticks ORIGNAL: sum=ef1b6aef, 313648483 ticks MINE: sum=ef1b6aef, 5406455 ticks ORIGNAL: sum=eedd2516, 291491590 ticks MINE: sum=eedd2516, 5024518 ticks ORIGNAL: sum=f7e967a8, 14437972 ticks MINE: sum=f7e967a8, 248913 ticks ORIGNAL: sum=1f37a7db, 215277119 ticks MINE: sum=1f37a7db, 3710802 ticks ORIGNAL: sum=c7d41f36, 296425055 ticks MINE: sum=c7d41f36, 5109559 ticks ORIGNAL: sum=aa9d2e9f, 260850588 ticks MINE: sum=aa9d2e9f, 4496367 ticks ORIGNAL: sum=8abd398a, 252086563 ticks MINE: sum=8abd398a, 4345293 ticks ORIGNAL: sum=a374bd58, 6140545 ticks MINE: sum=a374bd58, 105884 ticks
- 390 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 01:02:58 ]
- やべぇwww笑いがとまんねーwwwww
- 391 名前:202 mailto:sage [2009/01/14(水) 01:17:46 ]
- 抜かれた・・・完敗だorz
- 392 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 01:19:03 ]
- ん?まだもう一段階いけたよ
- 393 名前:202 mailto:sage [2009/01/14(水) 01:23:53 ]
- 5M切れそう?
- 394 名前:202 mailto:sage [2009/01/14(水) 01:25:36 ]
- ちがうか、5088682 が下限なんだな。
- 395 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 01:34:03 ]
- >>389
逆汗しないから、その実行ファイルうpして?
- 396 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 01:34:04 ]
- ニヤニヤ
- 397 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 01:35:32 ]
- >>395
優勝すれば公開されるんだからそのときに見ればいいじゃないか。 種も仕掛けもない
- 398 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/14(水) 02:09:28 ]
- >>389
さっき98%超えたけどさすがにそれは神の領域だわ。
- 399 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 02:14:08 ]
- ttp://cell.fixstars.com/ps3linux/index.php/3.8%E3%80%80%E6%BC%94%E7%BF%92%E5%95%8F%E9%A1%8C_(3-3)_%E5%8C%BA%E5%88%86%E6%B1%82%E7%A9%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0_(%E8%A7%A3%E7%AD%94)
- 400 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 02:17:55 ]
- 途中で投稿してもうた・・・
cell.fixstars.com/ps3linux/index.php/ ここにあるプログラミングチュートリアルの演習3−3の回答で、SPEの個数を変えたいんですが #define NUM_SPE * の*だけ変えてもだめですよね・・・ 性能がどんなもんかみたいんですが…どの点を変更すればよいのかご教授いただけませんでしょうか
- 401 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 02:20:52 ]
- 2のべき乗ならいいんじゃないの?
テキトーに言ってみるけど。
- 402 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 09:07:02 ]
- >>400
そこだけでいいと思うけど・・・ PS3なら個数は1~6までSPEが利用できる
- 403 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 12:06:10 ]
- >>389
SFMTより速いんじゃね?
- 404 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 12:42:54 ]
- >>401-402
ありがとうございます。 変更箇所はこちらであっているみたいですね タイム関数を利用して処理時間を測定しても、逆にSPEを利用したほうが時間が延びてしまいます。 理論上ではSPE1からSPE4にしたら1/4になるはずですよね? ppeのメイン関数にあるresultをかこって測定しているのですが適切ではないのかな すみません、出力に要した時間を測定するにはどこが適切なのでしょう cell.fixstars.com/pukiwiki/index.php?tips_timebase タイム関数はこれを使用しています
- 405 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 13:21:25 ]
- >>404
そもそもこの問題ってそんな大規模な数を計算してないから 下手にSPE増やすとデータ転送時間やらその他もろもろが増えて 逆に遅くなる可能性のほうが高いよ
- 406 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 14:42:22 ]
- そうですか…わかりました。測定するプログラム自体が間違いだったんですかw
性能を見るために適したプログラム・・・どっかありますかね? 探してみます。
- 407 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 16:03:39 ]
- 質問です。
CELLとLarrabee ってどの程度性能差があるんですか? 大して性能差がないとしたら、仮にPS4が出るとして、 ソニーがCELLに拘る意味って、もはや無いのでは? むしろPCの世界で主流になるであろう、Larrabeeに 切り替えた方がコスト的にも有利なのでは?
- 408 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 16:50:01 ]
- ゲハ板にお帰りください。
- 409 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 17:16:08 ]
- >>403
逆説的だけど、並列演算を前提にした場合、実はオリジナルのMTのほうが並列度の高い (高くしないと性能の出ない)アーキテクチャに向いてるってのはある。 MTの配列のうち、先頭から224個、残りの400個は並列演算可能だ。 これはCUDAの実装についての説明。 ソースはCUDA SDKのサンプルにも入ってる。 developer.download.nvidia.com/compute/cuda/sdk/website/projects/MersenneTwister/doc/MersenneTwister.pdf それに対して、対してSFMTは4要素(=128ビット)の計算をしないとその次の4要素の計算ができない。 要するに依存関係があって、128ビット性能が出ない。 各命令のレイテンシが大きいとSFMTは相対的に不向きってことになるかもね。
- 410 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 17:18:53 ]
- × 要するに依存関係があって、128ビット性能が出ない。
× 要するに依存関係があって、128ビットSIMD演算を低レイテンシで実行できるアーキでないとが出ない。
- 411 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 17:38:23 ]
- つっこみたいんだが
- 412 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 17:44:30 ]
- どうぞ
今回の課題のMTはSFMTと比べてレイテンシを埋めるためのテクニックが使いやすいのは事実だよ。 っていうか誰かCUDAにSFMT移植してごらん?4論理スレッドしか並列実行できない悲惨なことになる。
- 413 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 17:45:45 ]
- いや、どっちも×なところになんだがw
- 414 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/14(水) 17:48:20 ]
- ○ 要するに依存関係があって、128ビットSIMD演算を低レイテンシで実行できるアーキでないと性能が出ない。
タイピングしすぎで腱鞘炎になりそう
- 415 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 18:36:35 ]
- >407
Larrabeeはまだ世の中に出ていないので誰にも分かりません。 性能比較は用途によって変わるので今、Cellが使われている用途に そのままLarrabeeが使われたらどうなるかなんて仮定の話は Intelの中の人ですら分からないでしょう。 またPC用のCPUの世界でLarrabeeのような シンプルなコアをたくさん集積したメニーコアが すぐに流行る事も無いでしょう。 流行るとしてもだいぶ先の話(10年先か20年先か?)
- 416 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 20:19:04 ]
- >>409
速さもランダム性も優れているなんて虫が良すぎるんじゃないかとは思っていたんだ。 ふつーなら、どっちかのはずだもんな。元がひどくない限りは。
- 417 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/14(水) 22:15:12 ]
- 99%超えたおー
- 418 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 10:44:32 ]
- cell.fixstars.com/challenge/faq.html#kadai4
> インラインアセンブラは使用してもよいですか? > インラインアセンブラは禁止としていましたが、使用していただいて構いません。(1/15 更新)
- 419 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 10:46:52 ]
- 中の人このスレ見てるな。
- 420 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 11:23:12 ]
- なんか、いきなり競争のルールが変わってしまったな。
- 421 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 11:33:29 ]
- いちいちルールなんて再確認しないだろうから、このスレ見てない人が可哀想だよな。
- 422 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 11:38:36 ]
- 迷走してるな。
アセンブラレベルでCellを熟知してない人間にはチャンスを与えない試験に成り果てた。 コンパイルオプション変更許可しない意味が既に無い。
- 423 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 11:58:29 ]
- >アセンブラレベルでCellを熟知してない人間にはチャンスを与えない試験に成り果てた。
そのレベルの人には元々「勝つ」チャンスは無いと思います。 参加する事に意義がある。
- 424 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 12:05:30 ]
- アセンブラ許可自体は歓迎だが、こんなことをやると
「受賞者は最初から決めてあったんだよ!」 と言われかねない。
- 425 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 12:11:38 ]
- >>アセンブラレベルでCellを熟知してない人間にはチャンスを与えない試験に成り果てた。
>そのレベルの人には元々「勝つ」チャンスは無いと思います。 202がんがれ、超がんがれ
- 426 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 12:18:14 ]
- >>425
いやいや、202は既に熟知「した」だろ。
- 427 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 12:19:00 ]
- うーん、確かにコンテストを始めてからルールを変えるのはなんだかな。
再提出のチャンスがあるとは言えど。 主催者はルールが変わった事をメールなどで周知徹底すべきだろう。
- 428 名前:202 mailto:sage [2009/01/15(木) 12:25:20 ]
- ちょ、許可になったのかよ!!
アセンブラを生成するスクリプトをCソース吐くように改変して、 どうやって最適化昨日によるデチューンから逃れるか試行錯誤してたのに! #pragma GCC optimize ("-O0") も、 __attribute__ ((optimize(0))) も使えない、 変数をvolatileにしたらスタックにpush/popするから超遅い、etcetc、、、 俺の2日間かえせーー!
- 429 名前:250 mailto:sage [2009/01/15(木) 12:45:16 ]
- まぁ、でも本当に Hack the spu-gcc43 になってたからな…
おいらも 4.1 だとうまくいった最適化抑制手法が、4.3 だと 使えなかったりして結構虚しくなってたからよかったかも。
- 430 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/01/15(木) 12:48:42 ]
- 敢えて言う。
今までのは全部Cだ。
- 431 名前:250 mailto:sage [2009/01/15(木) 12:53:01 ]
- あ、コンテスト終わったらでいいから、だんごさんがどうやって
最適化抑制してたのか教えてほしいかも。おいらがやってたのは 4.3 にしたら even にまで命令追加されて使えなかったっす。
- 432 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 12:54:18 ]
- どうせ、そこまでやるんならコンパイラオプションも変更可能にして
何でもアリアリの条件で競争させて欲しい。
- 433 名前:202 mailto:sage [2009/01/15(木) 12:57:42 ]
- >>432
インラインアセンブラ解禁=何でもアリだよ。 別のコンパイラで、別のコンパイルオプションでアセンブリソース吐かせて、 それをインラインアセンブラで埋め込めば良いんだから。
- 434 名前:250 mailto:sage [2009/01/15(木) 12:58:21 ]
- >>431
あ、even に追加されたのは、ori $n,$n,0 ね。 even に追加することねーだろ、って叫びたいw
- 435 名前:202 mailto:sage [2009/01/15(木) 12:58:23 ]
- あ、ごめん。
実質なんでもアリなら、本当に何でもアリにしてくれっていう意味ね。
- 436 名前:202 mailto:sage [2009/01/15(木) 12:59:15 ]
- >>434
ありすぎて困るwww ソース破壊しない命令ばっかだから、絶対いらないのにねー。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 13:00:04 ]
- >433
うん、だからもはや意味の無い形式だけのコンパイルオプションを いじるなと言う制約を外した方が分かりやすいだろ?
- 438 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 13:19:20 ]
- やるなら mt_mine.c だけオプション分離しないと、
オリジナルの速度とかテストベンチにまで影響が…
- 439 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/01/15(木) 18:47:17 ]
- SPUのアセンブリ言語はちょっとだけ読めるけどあれだけのコードをまともに書ける気がしない。
うまく飼いならせばspu-gcc43こそ最強の高級アセンブラ
- 440 名前:250 mailto:sage [2009/01/15(木) 19:30:29 ]
- 未だに 4.3 は飼いならし方がわからんす。attribute とかじゃないんすよね?
- 441 名前:250 mailto:sage [2009/01/15(木) 19:47:31 ]
- って、コンテスト前なんだから聞いてる場合じゃないかw
おいらは asm 行くけど、やり方が気になって気になって。 ちなみに 4.1 なら >>383 の率超えました!! 意味ないけどw
- 442 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/01/15(木) 20:54:44 ]
- >>441
>>383は超えたところで意味が無い数字だぞ。 実は>>389もだけど
- 443 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 20:59:19 ]
- なんでそういうの黙ってられないんだろう。
- 444 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:07:59 ]
- 俺SUGEEEEEEEEEE だからじゃん?w
- 445 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:12:55 ]
- せめて締め切られてからにしたらどうかね。
- 446 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:33:05 ]
- 締切後フカシだった事がばれて「俺参加してねーし」とか言いそうな感じ
- 447 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 21:37:21 ]
- ここらで擁護がきそうな感じ
- 448 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 23:48:57 ]
- いやいい加減うざいと思ってただろみんな
- 449 名前:202 mailto:sage [2009/01/15(木) 23:53:34 ]
- Cellプログラミングに関係してるだけマシだと思ってたんだけど、
ウザかった? 他になんか話題ある?
- 450 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 00:34:34 ]
- 糞団子に餌を与えるのはいかがなものか。もそもそ。
- 451 名前:,,・´∀`・,,)っ-●◎○ mailto:sage [2009/01/16(金) 03:09:49 ]
- >>446
それならそれでソースコード公開できるんだけどね。 行動とは裏腹に誰にも気づかれることもなく優勝するシナリオを望んでる。 矛盾してるな。
- 452 名前:202 mailto:sage [2009/01/16(金) 03:28:27 ]
- インラインアセンブラ版動いた。
効率はこれから詰めていくけど、とりあえず適当な詰め方でも98%行く。 デバッグが超面倒だった。 これからインラインアセンブラに手を出す人にヒント。 .balign 16 というディレクティブを使って、命令のアドレスを16byte境界にalignしないと、 Dual-issue ねらってた命令が全部single-issue になってしまう。 めっちゃ遅くなって、間違ってループカウンタ壊したかと思った。
- 453 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/16(金) 21:47:01 ]
- 今週末は2日間とも強引に休む事にしたんで、インラインアセンブラにでも
手を付けてみます(ちなみにVCの奴は経験有るけど、GCCの奴は初)。 98%超えが4人いる事が判明しているので、まだまだチキンレース続けますよw >>428 インラインアセンブラ解禁されたので、既に意味無くなった情報でも投下。 volatileによる制約は、メモリアクセスの順番を守る制約でも有ります。 組み込みプログラミングでメモリ空間が外部バスにマッピングされてると、 アクセス順番が狂う=バグ、という死活問題に繋がってくる訳です。 >>439 gcc のコードを並び替えるだけで終わりような予感。
- 454 名前:202 mailto:sage [2009/01/16(金) 21:55:23 ]
- >>453
俺だって元組み込み屋だ。volatileの意味くらい知ってる。 でも、ひょっとしたら、register volatile vector unsigned va; とか書いたら、vaが適当な レジスタに固定でマッピングされてくれないかなと思って実験してみたくなるのは判るだろ。
- 455 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/16(金) 22:16:02 ]
- >>454
その道のプロの方でしたか。これは失礼いたしました。 > vaが適当なレジスタに固定でマッピングされてくれないかな 幾らハッキングが好きなゲーム屋だからと言って、割り込みから メインスレッドのレジスタ葬るような事はやったこと無いなぁ…。
- 456 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/16(金) 22:49:32 ]
- SPUのABI仕様書読んでみると面白いね。
vector型をメンバに持つ構造体も、レジスタ本数に余裕がある限りレジスタ上に展開できる。 これによって複数の返値を持つことができる。 SSE(VC++)だと構造体を返値にすると無条件でスタック返しになってたような。
- 457 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 02:14:37 ]
- 高速化がこんなに楽しいものだとは知らなかった。
どんどん速くなっていくのは快感だね。
|

|