- 1 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 08:55:08 ]
- 前スレ
Cellプログラミングしちゃいなよ2 pc11.2ch.net/test/read.cgi/tech/1183091522/
- 552 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/20(火) 00:57:49 ]
- とりあえず、>>389の一歩手前までたどり着いたのは良いんやけど、ここに
なって拡張アセンブリが使い物にならない(>>458)事がハンデになってくる とは思わなかったorz >>551 まだ3日ほど楽しめそうですよw
- 553 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/20(火) 01:35:27 ]
- >>552
一歩手前じゃなかったっぽい。見れば見るほど>>389が神に見えてきたorz
- 554 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 01:38:13 ]
- >>517 は何だったの?w
- 555 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/20(火) 01:56:24 ]
- >>554
99.91%の壁の高さを痛感しているだけですよ、たぶん。
- 556 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:17:10 ]
- あー、>>389 の前提がおいらとは違うのか。
>>551 を見て >>389 は最適化途中だっただけと見てたんだが。
- 557 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 11:58:58 ]
- 素人だけど参加
命令書き換えとか、なかなか上手くいかないけど楽しいわコレw
- 558 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 16:16:18 ]
- >>557
命令自己書き換え(self modification)してんの? 仕様書に書いてあるけど、その場合は sync しなきゃ だめだからあんま早くならない気がするなぁ…
- 559 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/20(火) 17:53:14 ]
- 【Oddの】命令数削減法思いついた
- 560 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:24:19 ]
- 何命令くらいの所で頑張ってるんだろう?
自分はもうこれ以上削れる気がしないけど…
- 561 名前:202 mailto:sage [2009/01/20(火) 19:56:42 ]
- だんごさんそのうち4M切りそうだなw
- 562 名前:202 mailto:sage [2009/01/20(火) 20:24:17 ]
- いや、でも4.7Mの壁は今までの壁と比べても相当キツイな。
提出日まで頑張っても超えられない気がしてきた。
- 563 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/20(火) 20:45:21 ]
- なんですか4.7Mの壁って
- 564 名前:202 mailto:sage [2009/01/20(火) 20:49:02 ]
- >>563
余裕で切ってるってことかーーー!!! マジで勝てる気がしねー。
- 565 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/20(火) 22:03:02 ]
- 逆に遅くなったorz
- 566 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:08:50 ]
- だんご優勝できなかったらブログ閉鎖の方向でよさそうなのかな?
- 567 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/20(火) 22:13:22 ]
- なんでやねん
逆に優勝しちゃうといろいろまずいことならあるが
- 568 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:23:08 ]
- 3Mの壁が・・・。イチからやり直すか・・・orz
- 569 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:30:49 ]
- 16Gくらいメモリ使ったんですか?w
- 570 名前:202 mailto:sage [2009/01/20(火) 23:24:43 ]
- >>568
3Mって、、、俺らと同じ基準なら化け物スコアだな。
- 571 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/20(火) 23:29:48 ]
- >>557
でも今日は酔っぱらってて自己書き換えの実装出来ないんだなー。 明日時間有ったら挑戦してみる。
- 572 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/20(火) 23:34:44 ]
- 30Mの勘違いの予感
- 573 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/20(火) 23:59:18 ]
- いつの間にか FAQ 更新されててワロタ
> デクリメンタのオーバーフローを利用することは可能ですか? > 今回の出題の趣旨に反するので不可能とします。
- 574 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 00:03:08 ]
- 不可能ではないと思うんだ。
- 575 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 00:06:04 ]
- 本日の捏造
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, 294422087 ticks MINE: sum=3c927c56, 4694973 ticks ORIGNAL: sum=2e987a4d, 424720276 ticks MINE: sum=2e987a4d, 6772739 ticks ORIGNAL: sum=ef1b6aef, 312518235 ticks MINE: sum=ef1b6aef, 4983550 ticks ORIGNAL: sum=eedd2516, 290441206 ticks MINE: sum=eedd2516, 4631487 ticks ORIGNAL: sum=f7e967a8, 14385949 ticks MINE: sum=f7e967a8, 229457 ticks ORIGNAL: sum=1f37a7db, 214501370 ticks MINE: sum=1f37a7db, 3420537 ticks ORIGNAL: sum=c7d41f36, 295356889 ticks MINE: sum=c7d41f36, 4709875 ticks ORIGNAL: sum=aa9d2e9f, 259910600 ticks MINE: sum=aa9d2e9f, 4144655 ticks ORIGNAL: sum=8abd398a, 251178167 ticks MINE: sum=8abd398a, 4005396 ticks ORIGNAL: sum=a374bd58, 6118425 ticks MINE: sum=a374bd58, 97617 ticks
- 576 名前:227 ◆eZQcaIaFJs mailto:sage [2009/01/21(水) 00:19:26 ]
- >>575
目標修正、4.6Morz
- 577 名前:202 mailto:sage [2009/01/21(水) 00:54:43 ]
- ああくそ、やっと正しい答えが出た。
拡張インラインアセンブラ、かなり茨の道だわ。 レジスタ多いから、どのレジスタが期待値と違うのか判らん。 誰が悪いのか判らないアセンブリのデバッグしながら命令削るより、 C言語の上で一つでも多くのアイデアを実装した方が絶対効率的だ。
- 578 名前:202 mailto:sage [2009/01/21(水) 00:56:33 ]
- >>575
まだ4Mは切ってないようでw 大きな差が無くて安心した。
- 579 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:05:57 ]
- 今北。
課題は、MTの最適化ではなく、合計の計算の最適化なんだな。 後段の tempering は mt[] に影響を与えないので、tempering 後の 値を合計せずに、tempering 前の「とある値」を集計する。GF(2)の中で。 すると、tempering (相当の操作)は一回で済む。 <いまここ> 団子「スタートライン」ってこれのことだろ? 次に、「とある値」を集計するだけの目的であれば mt[] を「真面目に」 計算する必要はなくって、かなり端折れる。(仮に、端折って計算した mt[] を pmt[]とする) どの計算が端折れるか、いま計算しているところ。 <もうすぐここ> 最後に、num_rand % 624 の端数ぶんをどう計算するかで手詰まり気味。 pmt[] から mt[] を計算し直そうとすると、mt[] を最初から計算する のとあまりコストが変わらない方法しか思いつかない orz いっそ、mt19937ar.c の mt[] を LS から探してしまおうか。 まず、num_rand % 624 となっている mti を探して、みつかった mt[] から pmt[] を検定する。 どうかな。
- 580 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:07:43 ]
- >>575
人間がレジスタを管理することなんて既に不可能と気づけよ。
- 581 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:12:12 ]
- >>579
あーぁ、GF(2) とか出してくるなよw 団子の「スタートライン」は全然そこじゃないって。 井戸の中で満足してる奴に餌与えちゃだめだってw
- 582 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:16:35 ]
- 井戸の中w
- 583 名前:202 mailto:sage [2009/01/21(水) 01:21:54 ]
- >>579
ルールブレイカー発動か? tempering前に何かを集計して・・・ということができれば劇的に 速くなるという発想はあったんだが、多分ムリだろと思ってやってないよ。 学がないもんで、GFを今Wikipediaで調べて、やっぱり意味不明だった。
- 584 名前:202 mailto:sage [2009/01/21(水) 01:24:09 ]
- >>580
Pythonでスクリプト組んで、アセンブラコードを半自動生成させてるから、 うまくいってるときは問題ないんだ。 一度計算結果が狂うと、どこが間違ってるのか全然判らなくなる。
- 585 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:46:28 ]
- >>202
Matsutomo et al.1994 にも、MK-tempering が GF(2) 行列の掛け算だ、 と書いてあるでしょ。 それから、MTが暗号乱数として脆弱なことは Matsumoto も認めることろ。 そこをつつかなくてどーするw 今すぐ ACM 逝って MT に批判的な論文嫁。
- 586 名前:579=585 mailto:sage [2009/01/21(水) 01:50:03 ]
- とかいいつつ、端数の処理が解決できなかったら俺の負け。
- 587 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 02:04:10 ]
- >>579
団子は何もしらないってことにまだ気付いてない。。。
- 588 名前:デフォルトの名無しさん [2009/01/21(水) 02:07:03 ]
- >>579
とりあえずそのままSIMD化しただけで放置してたんだが, そうゆうの面白そうなんでその方向性で考えてみるわ
- 589 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 02:25:40 ]
- ここが井戸か
- 590 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 03:40:48 ]
- ttp://www.math.sci.hiroshima-u.ac.jp/~m-mat/TEACH/0407-2.pdf
- 591 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 04:11:57 ]
- >>590
ポイントはここですか?w > 「6.5.2 どこがフーリエ変換やねん」
- 592 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 09:33:19 ]
- ま た 勘 違 い の 【さ ん す う や】 か
算術師の花園へようこそ
- 593 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 10:18:06 ]
- >いっそ、mt19937ar.c の mt[] を LS から探してしまおうか。
このレベルのネタでいいなら、 num_randとseedの組を決めうちにして、switch(num_rand) { } で計算済みの結果返すようにしたら? 変更されるらしいけどwww アホの言ってることは要するにそのレベル。 螺旋の飛んださんすうやさんは計算機で如何実装するかという論点が欠けてる。 余談までに松本教授&斎藤氏のSFMTがオリジナルのMTと比べて如何違うかって、最大の違いは Temperingの結果を都度(32bit×4要素分単位で)mt[]にフィードバックしてること。 それでうまい具合にビットレベルで数値がばらけてくれる。 逆にそれで依存関係が起きて128ビットを越えるSIMDでは効率的に実行できないわけだが。 >>580 ばかだな。レジスタ管理がどうとかなんて言ってないだろ。 ここまで全部コンパイラにやらせてるし
- 594 名前:557 mailto:sage [2009/01/21(水) 10:29:40 ]
- >>558
え、そうなの? 仕様書あんまし読んでないからわかんないけど 俺がやってるのは例えばodd命令をeven命令に置き換えたりして 同時発行を促すとかそういうのなのだけど・・・
- 595 名前:,,・´∀`・,,)っ[タミフル] mailto:sage [2009/01/21(水) 10:45:30 ]
- oddをevenかよ。俺様はそれをやる段階じゃないな。
てか、件のOdd側の命令数削減法、実際やろうとするとレイテンシチェインが伸びて アンロールするレジスタ足りなくなる罠。本末転倒。 インフルエンザですが何か?
- 596 名前:,,・´∀`・,,)っ[タミフル] mailto:sage [2009/01/21(水) 10:55:31 ]
- >>578
俺が現在進行中のスコア貼ったことは一度も無い。 いまのところ3日前くらいのスコアばっかし貼ってる。
- 597 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 12:02:37 ]
- >>575が3日前だとして
>>551の時点で15,000tick削減成功 だから少なくとも今は4.67M台未満ってことかな?
- 598 名前:202 mailto:sage [2009/01/21(水) 12:11:40 ]
- やっぱりやる気でないから、数学的手法への挑戦はやめとく。
レジスタ上に一瞬とはいえ目的の乱数が出現する俺や団子さんに比べて、 数学的手法だと一瞬たりとも目的の乱数が出現しないから、 ※似乱数列は、メルセンヌ・ツイスタの実装 mt19937ar.c と同じ乱数列を生成してください。 の条件に違反しているという理由で reject される恐れもあるしね。 コード整理して、レポート書いて、提出しちゃおう。
- 599 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 12:18:46 ]
- レジスタ上に一瞬とはいえ目的の乱数が出現する俺や団子さんに比べて、
え?アレって出てるって言うのかな? 俺はデータ構造的にあやしいことやってるけど。
- 600 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 12:20:02 ]
- >>593
結局自分で管理しないでコンパイラ任せじゃないか。 レジスタがいっぱいあるからといって自分で全て管理できるはずはないけど。
- 601 名前:202 mailto:sage [2009/01/21(水) 12:24:23 ]
- ひょっとしてまじめに乱数作ってチェックサム取ってるの俺だけか??
俺が団子さんに敵わないのもそのせい???
- 602 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 12:31:58 ]
- >>600
だから何なんだ?管理できるとかできないとかお前は一体何を言ってるんだ? 俺にはさっぱりわからない。
- 603 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 12:47:36 ]
- >>601
ちなみに、彼の珍理論で演算時間の短縮を図るには超次元立方体構造のレジスタや演算ユニットが必要だったりするから気にするなwwww
- 604 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 13:08:44 ]
- 団子が天才。はい。だからもうだまれ
- 605 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 13:43:41 ]
- >>604
誰だおまえ?スピード狂オタクの分際で調子に乗るな。
- 606 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 14:01:25 ]
- MT配列は教科書通りの結果になるように都度更新してるけどtemperingをまっとうな方法でやってる自信はないな。
- 607 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 14:48:01 ]
- >>603
おいおい、GF(2) 系の演算の高速化や簡素化はコンピュータの得意分野だぞ? 今時の暗号なら当たり前の事だろ。実装した事ないのか?
- 608 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 14:49:59 ]
- だったら実装してみろよ
机上の空論はおなかいっぱい
- 609 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 14:56:08 ]
- さんすうや君は端数を処理するのにチートやらないと無理だって言ってるんだろ?
ならどのみち芽がない方法だ。
- 610 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 15:07:30 ]
- > GF(2) 系の演算の高速化や簡素化は
やってるよ。 MT[]のデータ状態に矛盾が起きない範囲でな。それが出来ないなら今回のコンテストは諦めろ。
- 611 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 15:21:50 ]
- 青筋立てないで落ち着け。
どこのスレでも痛すぎる。正しい事を言っているかどうかじゃなくて。 答えて欲しい質問からは逃げるのに叩けるところはどうでもいいところまでしゃしゃり出てくる。
- 612 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 15:35:50 ]
- なんだ答えて欲しい質問って?
- 613 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 15:35:58 ]
- ゲハ厨学歴厨に何言っても手遅れ
- 614 名前:202 mailto:sage [2009/01/21(水) 15:38:49 ]
- 話題変わるけど、spu-gdbってどうやって使うの?
elfspe使ってspe用のバイナリを直接実行できるんだけど、 spu-gdb mt_kadai とかやってもデバッグできない。 今までデバッグは全部コードインスペクションと、mt[]のダンプ取って バグの箇所を推測するの2種類だけで全部やってた。
- 615 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 15:40:07 ]
- 負け犬の遠吠え
- 616 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 15:43:17 ]
- >>614
SPUの実行イメージをPPEから読み出すローダーでも作れば良いのでは? cell.fixstars.com/ps3linux/index.php/Libspeプログラムのデバッグ
- 617 名前:202 mailto:sage [2009/01/21(水) 15:43:37 ]
- >>612
※似乱数列は、メルセンヌ・ツイスタの実装 mt19937ar.c と同じ乱数列を生成してください。 の意味について、 1. プログラム中でmt[]の内容を計算していたら良いのか、 2. 全乱数wordについてtempering後の値も計算していないといけないのか、 3. それともチェックサムだけ合ってればなんでもアリなのか、 を質問してみて、質問して回答が2だとヤバイ?
- 618 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 15:46:17 ]
- 俺に聞くな。
ちなみに俺はgenrand_mineを繰り返し呼んでも安全なように設計してる。 ぶっちゃけ外側の最適化はサボってる
- 619 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:26:33 ]
- >>612
>>381 は本当? >>389 == 最適化中は本当? >>575 の捏造は本当?w
- 620 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:29:02 ]
- 鼻高々だな団子。
- 621 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 19:41:11 ]
- 手元にある最新のコードよりわざと悪い結果を貼ってるのは本当。
晒す実行結果は前のバージョンだったり、わざとデチューンしたり、色々。
- 622 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:47:57 ]
- なんか参加賞あるし、暇だからやってみようかな
プログラム全然書けないけど このスレ見ながら楽しくやってみよう
- 623 名前:557 mailto:sage [2009/01/21(水) 20:34:12 ]
- >>622
自分もそんな感じ。 勉強と思ってのんびりやろうぜ
- 624 名前:579 mailto:sage [2009/01/21(水) 21:15:27 ]
- >>593
>switch(num_rand) { } で計算済みの結果返すようにしたら? 全然ネタのレベル同じじゃないだろw >変更されるらしいけどwww その上でのネタなわけだが。 >最大の違いはTemperingの結果を都度(32bit×4要素分単位で) >mt[]にフィードバックしてること。 ハズレ。 余談に余談を重ねると、MT と SFMT は GFSR である点で同一。 tempering のコストを MT の更新側に振っただけ。 >逆にそれで依存関係が起きて128ビットを越えるSIMDでは これも違うな。 MT の漸化式は g(w)_MT = w_0 A + w_1 B + w_M なわけだが、 SFMT は g(w)_SFMT = w_0 A + w_M B + w_{N-2} C + w_{N-1} D に変更されている。 これが効いてくるのは、レジスタ幅ではなくむしろ並列計算だろ。
- 625 名前:579 mailto:sage [2009/01/21(水) 21:16:53 ]
- >>603
超次元立方体構造ってなんだよw >>606 その教科書には、w 次 n 階の (T)GFSR も 1 階化すれば nw 次の GFSR になって、1 階線形漸化式に帰着するとは書いてなかったかい? >>609 >端数を処理するのにチートやらないと無理だって言ってるんだろ? 誰が無理だと言ったw 思いつかない=無理なのか? >>610 > > GF(2) 系の演算の高速化や簡素化は >やってるよ。 MT の内側は全て GF(2) なわけだが。 それを踏まえて外側を如何に GF(2) の上に持っていくかの話だ。
- 626 名前:579 mailto:sage [2009/01/21(水) 21:17:46 ]
- >>598=202
ヒント: 外側の sum += が仮に sum ^= だとしたら? > 同じ乱数列を生成してください。の条件に違反している ちょwww だとしたら >temperingをまっとうな方法でやってる自信はない >MT[]のデータ状態に矛盾が起きない範囲でな。 団子道連れだな。
- 627 名前:579 mailto:sage [2009/01/21(水) 21:19:00 ]
- 話を戻すと、課題(MTのsumを求める)は、次のように分解できる。
1. mt[] から pmt[] への線形写像を求める。 2. for (num_rand / N) 不真面目な計算。 3. pmt[] から(num_rand / N反復後の) mt[] を戻す。 4. for (num_rand % N) 真面目な計算。 5. tempering 厳密に言えば、mt[] と num_rand から不真面目な計算をして O(1) で sum を求める事も理論的には可能。が、その理論を 解析している時間はないわけ。 が、たかが 32N 次元程度の GF(2) 上のベクトルであれば、2 の 不真面目な計算を機械的に求めることも非現実的ではない。 いまそれを解析しているところ。 問題としているのは 3 の操作で、pmt[] が mt[] の線形写像で ある以上、完全に mt[] を元に戻すことはムリ。4 の計算も 不真面目化すればよいのだけれど、そのままでは num_rand % N に 応じて N 種類の不真面目計算方法が発生してしまってコード サイズ的にムリ。 なので、別の方法での不真面目計算を考えているところ。 O((num_rand % N) ^ 2) であれば解は見つかった。が、これだと 条件「num_rand が 10000 以上」に対してコスト・リスク大きすぎ。 まあ、1回目の不真面目計算が解析できれば、そこから芋づる式に 求まるんじゃないかと楽観視している。 ともかく、いまは解析結果待ち。
- 628 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 21:30:52 ]
- 妄想はいいから。
> ヒント: 外側の sum += が仮に sum ^= だとしたら? →「あり得ない仮定を持ち出す」 これは詭弁の○○箇条にもあったな まあ珍理論持ち出しても無理だから諦めろ負け犬 くだらねーコンテストなんて目じゃねーぞ。
- 629 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 21:35:49 ]
- > その教科書には、w 次 n 階の (T)GFSR も 1 階化すれば nw 次の
> GFSR になって、1 階線形漸化式に帰着するとは書いてなかったかい? で、それはSPUの命令を使って何命令で実装できますか? > 思いつかない=無理なのか? 所詮お前は口だけだな。 ハッタリは何も出来ない人間のためにあるものだぞ。 どう足掻いてもお前にはできない。
- 630 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 21:38:07 ]
- >>579
数学はよくわからんのだが、 自分が優勝だと勘違いしてるやつより期待してるからがんばれ!!
- 631 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 21:39:12 ]
- ああ、ちなみに最初くらいに1ビット×128並列のビットスライス実装思いついたけど
全然速くなかったよ。
- 632 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 21:39:43 ]
- これはどれぐらい高度な数学が必要なんだ?
- 633 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 21:41:31 ]
- さんすうやの詭弁は聞いて呆れる
- 634 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 21:58:01 ]
- >>632
これ読んで何書いてあるか解る程度。そのまんまだけど。 www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1441-14.pdf 1 ticks = 40clkで、PLAYSTATION 3のSPUのクロック数は3192MHz動作です。 num_rand = 58156364のとき、genrand_mineの実行時間は4.7MTicks程度かかりました。 このとき、genrand_mineの実行時間は何秒かかったでしょう? これは簡単なさんすう(笑)の問題 でさ、pmt[](笑)求めるのに何十秒かかるのかねぇwww さんすうや(笑)は計算時間がいくらかかるか、メモリがいくら必要かそういう観点が欠如してるから困る。 その上机上論ばかり並べる。できることをしない。だからできない。 まあ、時間がかかりすぎてSPU Decrementerがラップアラウンドしてくれば、見た目のTick数は(ry
- 635 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 21:59:50 ]
- いや、だから、団子はやらんでいいから黙ってろやw
- 636 名前:579 mailto:sage [2009/01/21(水) 22:02:50 ]
- >→「あり得ない仮定を持ち出す」
物事を簡単に考えるための迂回路だ。TT800から始めてろ。 >で、それはSPUの命令を使って何命令で実装できますか? だから解析中だって言ってるだろうが。 解析結果?出てねーよ。 課題アナル(仮称)を prolog で実装した策略ミスだ。それは認める。 vsz は順調に(?)太っていってるから、あと 2,3 日ほっといてみるか。
- 637 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:12:27 ]
- 59ms弱だよ。
前提からしてアホだろ MT[n]のsumをTemperingしたものと TemperingFunction(MT[n])のsumは全くの別物 んで、頭弱い子は加算命令をXORとANDに分解してソフト的に加算すればいいと思ってるだろ? レジスタ足りる?むしろメモリ足りる? っていうか、脳みそ足りてる?
- 638 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:15:06 ]
- >>634
なんとなく分かりました。高度な数学というよりも新鮮なアルゴリズムに気がつくかどうかの問題だし、素数を探すプロジェクトとなんか似てますね。
- 639 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:22:43 ]
- 団子はうざいが、
>>637 >レジスタ足りる?むしろメモリ足りる? > >っていうか、脳みそ足りてる? これは笑ってしまった。く、くやしい。
- 640 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:24:26 ]
- なんにせよ10000≦num_rand<UINT_MAXだからなぁ
何十年かかる計算を数学的解析によって短縮云々なら価値はあるが 数十ms程度で終わる計算相手にスピードを競うアプローチとしては無謀を通り越して馬鹿かと 5段階の1段階目だけで既に終わってる希ガス。 それよりUNIX crypt(3)のハッシュ値からキーをダイレクトに求めるアルゴリズムでも解明して下さいよwww 数十年来の課題ですww
- 641 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:25:19 ]
- fixstars側に十分な数学の知識がある人がいて
なおかつコンテストで生み出されるコードが後々の役に立つものであってほしいと願っているのなら 素直に乱数を作って加算するのが一番速くなるような問題になっているはず、 と信じたい
- 642 名前:579 mailto:sage [2009/01/21(水) 22:26:22 ]
- >>637
頭悪いな。お前が cite した文献に書いてあるじゃん。 > MT の解像度は最大可能な解像度と比べるとかなり悪くなっている > MT の解像度は最大可能な解像度と比べるとかなり悪くなっている > MT の解像度は最大可能な解像度と比べるとかなり悪くなっている > この固定されてしまった j_1,...,j_L が乱数の質を決めるのだが、これがいただけない。 > この固定されてしまった j_1,...,j_L が乱数の質を決めるのだが、これがいただけない。 > この固定されてしまった j_1,...,j_L が乱数の質を決めるのだが、これがいただけない。
- 643 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:30:54 ]
- 負け犬は遠吠えだけは達者だな
んで、計算時間は具体的にいくらですか? O(n)のアプローチのほうが賢明ということもありますよ。 > 1. mt[] から pmt[] への線形写像を求める。 どうせこれだけで天文学的な時間かかるんだろ?w
- 644 名前:579 mailto:sage [2009/01/21(水) 22:34:24 ]
- 線形写像求めるだけで天文学的なんて、どこまでお花畑なんだぜ?
- 645 名前:デフォルトの名無しさん [2009/01/21(水) 22:35:19 ]
- 熱い・・・熱いぜお前ら
いいぞもっとやれ
- 646 名前:579 mailto:sage [2009/01/21(水) 22:36:17 ]
- >>645
いや断る。俺下痢。寝る。
- 647 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:36:36 ]
- ・メモリ210KBが使用禁止
・チャネル使用不可(メインメモリ間のDMAももちろん不可) まあとりあえず脳内珍論はブログでやれ。
- 648 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:38:54 ]
- 線形写像 = 実機動作、高速
解析 = 事前作業、低速
- 649 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:40:06 ]
- 机上の空論には
「Temperingはランダムテーブルルックアップで1回の操作で行うことができますが、 4Byte×2^32 = 16GByteのメモリが必要です」 みたいなオチがつくんだよね
- 650 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:42:01 ]
- >>648
> 線形写像 = 実機動作、高速 > 解析 = 事前作業、低速 その「線形写像」なんだけど、46KB未満のメモリ空間で確保できるLUTで 一体なにができるのwwww
- 651 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:42:56 ]
- 線形写像の意味わかってる?
- 652 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/01/21(水) 22:45:43 ]
- 線形写像を実装する方法をソフトウェア工学ではLUT(ルックアップテーブル)って言うんだよ。
Cellはローカルメモリが小さいから一般的には不向きと言われる。
|

|