cellプログラミングしちゃいなよ4
at TECH
1:デフォルトの名無しさん
09/01/25 02:16:01
前スレ
cellプログラミングしちゃいなよ3
スレリンク(tech板)l50
2:デフォルトの名無しさん
09/01/25 02:18:57
Cell Broadband Engine 技術情報公開
URLリンク(cell.scei.co.jp)
PLAYSTATION3 Linux Information Site
URLリンク(cell.fixstars.com)
The Cell Processor - PukiWiki
URLリンク(cell.fixstars.com)
developerWorks : Cell Broadband Engine resource center(IBMのCell技術情報)
URLリンク(www-128.ibm.com)
Cell Broadband Engine Architecture forum (Cellプログラミングの掲示板)
URLリンク(www.ibm.com)
Multicore Programming Primer: PS3 Cell Programming
(マサチューセッツ工科大学のPS3を使ったマルチコアプログラム演習。ソースコードなど有り)
URLリンク(cag.csail.mit.edu)
CellPerformance
URLリンク(www.cellperformance.com)
3:デフォルトの名無しさん
09/01/27 19:50:39
推奨NGNAME:●
4:,,・´∀`・,,)っ-○◎●
09/01/27 20:09:32
8.5・・・だと?
5:デフォルトの名無しさん
09/01/27 20:15:29
6.5だろ
6:デフォルトの名無しさん
09/01/27 20:21:20
じゃあ、俺は 7.0 位でお願いします。
7:,,・´∀`・,,)っ-○◎●
09/01/27 20:21:36
アナルアナル言うからハッテン後なんだよ
8:202
09/01/27 20:48:42
すげーな、8.5とか。
普通に32bit整数型で、ビット順そのままの乱数を生成してるのかな?
9:デフォルトの名無しさん
09/01/27 20:55:29
脳内レジスタにはちゃんと順番通りにならんでるんじゃん?w
10:,,・´∀`・,,)っ-○◎●
09/01/27 23:33:11
中の人の反応見るになんか迷走してるようだな。出題ミスってレベルじゃね−ぞ。
11:デフォルトの名無しさん
09/01/27 23:52:27
え、何を瞑想してるの?
12:,,・´∀`・,,)っ-○◎●
09/01/27 23:57:29
条件が変わるかも知れない
13:デフォルトの名無しさん
09/01/28 00:01:28
またですか?
14:579
09/01/28 01:27:02
>>10
公式見解でないねw
本当はコンテスト後に「当社のリファレンスコードは〜」って
シュバッとする予定だったんじゃねえの?
インラインアセンブラも、最初はまずくねー?、大丈夫だろ?
って方針がコロコロ変わったと考えると滑稽。
今から課題の条件を変えるのはバカ丸出し。
出題ミスを認めるのがそれなりに王道。
リファレンスコードなかったことにするのが正解。
>>前スレ995
そう焦るなって。コンテ終わったら公開するよ。
最適化のベースになるようなアイディアを放出してみんなに
迷惑かける気は、今のところはない。
ついでに、SPU に特化した最適化は、(個人的には)興味ない。
だから intrinsics 使わないで優勝しようと画策していたわけだが、
自分でダメにしちゃったw
15:579
09/01/28 01:39:10
>>前スレ997
>つか64ビット整数で処理したら速くならない?
速くなると思うよ。
が、uint64_t が portable かといえば(まだ・そんなに) portable じゃ
ないからね。
16:579
09/01/28 01:48:48
アナル拡大体なわけだが。
17:デフォルトの名無しさん
09/01/28 07:20:46
Fixstarsの返事はまだか
既に提出してる人が何人もいて今更変更できないとか
それはそうと団子って再利用性がどうとか実用性がこうとか言ってなかったっけ
結局乱数列の生成には何の役にもたたないコード書いてんのな
今更Cにこだわる必要も無いと思うんだけどどうだろう
18:,,・´∀`・,,)っ-○◎●
09/01/28 07:23:53
俺は俺なりに俺が他のアーキテクチャに移植しやすいように書いてるつもりなんだけど
他って具体的にSSE4/AVXなんだけど
19:,,・´∀`・,,)っ-○◎●
09/01/28 07:31:37
てか、上位入賞者用の参加賞ってさ、どうせ
YDL6.1(ノンサポート版)
だろ?別に要らないんだが。
20:デフォルトの名無しさん
09/01/28 07:48:15
新しいアルゴリズムだと生成された乱数を毎回デコードすると元より遅くなるんだろ
実用性があるとすれば生成されたそのままのフォーマットで演算に利用できる場合位かな
この大会にしか使えないものの移植性なんて考えるだけばからしいと思うが
PS3持ってない奴がYDL6.1もらっても悲しくなるだけじゃないかw
Fixstarsのロゴが入った写真立てとか置物とかじゃないかと思ってるんだが
21:,,・´∀`・,,)っ-○◎●
09/01/28 08:14:17
とりあえず速度さえ出ればなんでもいいってことになれば、
2つのソースを送って古いほうを公開してくださいって言うだろうね。
いちおうPowerPCのMacには使えるだろ?俺的にTigerで充分だけど。
22:デフォルトの名無しさん
09/01/28 09:32:27
分かってないんだけど、579 のは大量に読み飛ばす場合なんかには高速になるんでしょ?
充分有用だし、却下されるべきではないと思うけど。
23:202
09/01/28 09:55:53
>>22
有用であるかどうかが基準のコンテストではないからな。
「同じ乱数列を生成する」という課題に対して、579の解法はチェックサムしか計算してない。
チェックサムを元に「同じ乱数列を生成する」事ができるが、計測している時間は「同じ乱数列を
生成する」時間ではなくて「チェックサムを計算する」時間でしかない。
他の人は、フォーマットの変更のあり・なしの違いはあるものの、「同じ乱数列を生成」した上で
チェックサムの計算まで行って、時間を計っている。
ルールがフォーマット変更可・不可にかかわらず、579の回答は課題の趣旨と違なる。
だが、配布されている課題プログラムでは、チェックサムさえ合ってれば通ってしまう。
「mt_kadaiはチェックサムしかチェックしてないけど、同じ乱数生成しないでチェックサムだけ計算する
のはあり?」と質問したので、回答待ち。
回答が「同じ乱数列を生成しないとダメ」だった場合、「バイト単位・ビット単位の順番を入れ替える
変形はあり?それ以上の変形はあり?」と、質問しなおす予定。
24:デフォルトの名無しさん
09/01/28 10:00:02
こういうコンテストに応募するのはこういう人種になることくらい容易に想像できるんだから、
きちっと詰めておかないのは甘過ぎると言わざるを得ないなぁ。
25:デフォルトの名無しさん
09/01/28 10:01:33
出来るってことは重要だけど使う場面はなさそうだな
普通乱数の和が欲しかったら統計的な方法使ってもっとはしょるだろうし
厳密に計算した乱数の和が必要になることがあれば有用かも
もちろん今回は乱数の和だっただけでいろんな演算を同じ様に高速化出来るかもしれないけどね
それはそうと乱数を大量に読み飛ばす場面ってのが初期化以外で思いつかない
それに読み飛ばすだけなら普通の方法の方が高速なきがする
26:デフォルトの名無しさん
09/01/28 14:18:12
>>23
まぁ fixstars の回答待ちは変らんけど、「チェックサムを計算する」だけなのはなしだけど、
「バイト単位・ビット単位の順番を入れ替える変形はあり?それ以上の変形はあり?」に
関してはありな気がする、っていうか、ありでいいと思うなぁ。疑似乱数列なんて、順番を
入れ替えても乱数性が変らない事が重要なんだから、実用上そう困る事はないだろうし…
あるとしたら、他の環境で再現したいときとかくらいでしょ。。。ってそれなりに大事かw
27:デフォルトの名無しさん
09/01/28 14:51:29
順番変えたらfixstarsの検証が大変だろ
(疑似)乱数って明確な定義がないんだぜ
28:デフォルトの名無しさん
09/01/28 14:55:14
計算した値をとりだすことはできるから再現性とかの問題は無い
値をとりだすのに計算以上の時間が必要なだけ
SUMなら値をとりださずに計算できるから高速化可能という話
29:デフォルトの名無しさん
09/01/28 15:02:52
しかしFixstars反応無いな
審議中なのか事態に気がついていないのか
スルーされた場合どっちを提出しようかな
30:202
09/01/28 15:05:41
中の人はちゃんとこのスレ見てるよw
回答はちょっと待っててってメール来た。
31:デフォルトの名無しさん
09/01/28 16:06:01
締切まで期限切られてるのに回答を先延ばしするのは理不尽以外のなんでもない。
結局、方針がどうなるか次第なわけだが、ヤマカンで当て込んだ人が特をするんだろ?
回答もらえたときには既に締切まで時間が足りなかったりする可能性を考えて欲しい
32:デフォルトの名無しさん
09/01/28 16:41:00
>>27
??どういう意味で言ってる?順番変えても擬似乱数としては等価でしょ?
順番いれかえて使ったら乱数性が弱くなるなんて擬似乱数としてダメダメだし。
まぁ、応募コードの検証って意味では fixstars は若干大変になると思うがw
「擬似乱数列は、メルセンヌ・ツイスタの実装と同じ乱数列を生成すること。
ただし、メモリおよびレジスタ上の配置方法については言及しない」
でいい気がするんだけどなぁ。(課題のページ、"似乱数列"になってるw)
あと、前 688 にあった、
> hash = genrand_mine(num_rand) + genrand_mine(num_rand2);
みたいなのも、本質的ではないからなしにして明言して欲しいなぁ。
33:デフォルトの名無しさん
09/01/28 17:55:09
>>14
>最適化のベースになるようなアイディアを放出してみんなに
>迷惑かける気は、今のところはない。
曝しちまえって。そうすればコンテ側もそれNGにするからさw
尤もハッタリだったら曝せないだろうけどなーwwww
34:デフォルトの名無しさん
09/01/28 18:09:46
チェックサムのみの検証だってさ!
ショートカット万歳!!
35:デフォルトの名無しさん
09/01/28 18:20:32
>>32
temperingする前の乱数列だって乱数の1表現なんだぜ?
その値から一意に求めるデータを取り出せるんだからな
tempering前の方が乱数的に弱いんだけどそれでもbit自由に入れ替えておkっていえる?
結局おkになったんだけど
36:,,・´∀`・,,)っ-○◎●
09/01/28 18:21:23
Hack the Cell 2009 ご参加の皆様
この度は、Hack the Cell 2009にご参加いただき、
誠にありがとうございます。
Hack the Cell 2009の課題について、お詫びと訂正をさせていただきます。
皆様から課題の検証方法に関して多数のご質問がありました。
課題内容が不明瞭であったことを深くお詫び申し上げます。
「課題の検証方法に関しては、チェックサムの整合性でのみ判断いたします。」
課題 kadai1.tar.gz に含まれるcompare関数が乱数列のチェックサムを検証するもので
あったにも関わらず 「mt19937ar.cと同じ乱数列を生成してください」という定義のあい
まいな表記がありました。
課題内容の不完全性を深く反省するとともに、既に課題を提出した方々を配慮し、 現段
階での課題プログラムの変更はせずに、乱数列のチェックサムの整合性により検証を行
い、順位を決めることにさせて頂きます。
自由な発想での最適化を歓迎いたします。
また予想以上の盛り上がりに感謝し、「実用性に優れている」と弊社にて判断したプログ
ラムに対して「フィックスターズ賞」を追加することに決定しました。
「実用性に優れている」と判断する基準
* MT 乱数 (tempering された乱数) を生成している
* オリジナルコードと同じ順序で乱数を出力している
* MT 乱数を簡単に取り出せること (関数の戻り値, 配列に格納, など)
* 高速である
※上記の基準をもとに総合的に判断します。
37:デフォルトの名無しさん
09/01/28 18:27:15
どう見ても出来レースの悪寒。
38:,,・´∀`・,,)っ-○◎●
09/01/28 18:51:25
優勝よりフィックスターズ賞狙うほうが俺のポリシー的にアリだな。
へたに優勝狙って3位とかになるよりは歯切れもいい。
39:デフォルトの名無しさん
09/01/28 18:54:07
>>38
それには同意
しかしフィクスタ賞は倍率高そうだな
40:デフォルトの名無しさん
09/01/28 18:55:32
このスレは202と団子が反省し合うスレになりますた
41:デフォルトの名無しさん
09/01/28 18:56:28
主催者的にはフィックスターズ賞が優勝なんだろうなぁ。
42:デフォルトの名無しさん
09/01/28 19:05:57
>>41
フィックスターズ惨めだなおい。
43:デフォルトの名無しさん
09/01/28 19:06:15
>>35
tempering 前の乱数列はメルセンヌ・ツイスタの実装と同じ乱数列ではないよ?
順番を入れ替える(配置を変える)のは等価だけど、演算(tempering)を変えたら
そら違う乱数列でしょ。乱数列の使い方を変えただけなら価値は変わらん。
(endian 変えて使おうが、bit flip して使おうが、証明された乱数性は変わらん)
って結局おkになったんだけどw
いやー、でも、こうなると 579 のが本当ならやる気なくなるなー orz
44:デフォルトの名無しさん
09/01/28 19:06:47
ってか、フィックスターズ賞の賞品はなに?w
45:デフォルトの名無しさん
09/01/28 19:08:45
> 「実用性に優れている」と判断する基準
> * MT 乱数 (tempering された乱数) を生成している
> * オリジナルコードと同じ順序で乱数を出力している
> * MT 乱数を簡単に取り出せること (関数の戻り値, 配列に格納, など)
> * 高速である
さて、フィクスターズの暖めてたもはんかいとうを探ろうかw
46:デフォルトの名無しさん
09/01/28 19:17:40
>>44
YDL6.1(サポート版) とかwwww
47:デフォルトの名無しさん
09/01/28 19:26:12
>>32
注意事項の "似乱数列" が訂正線引かれてるのに擬似乱数に修正されてるw
どんだけここチェックしてんすかw
48:デフォルトの名無しさん
09/01/28 19:30:45
> 一回 genrand_mine() を呼び出す前には必ず一回以上 init_genrand_mine() が呼び出される
あ、これ明記されたのね。前 688 をやる必要はなくなったな。
49:デフォルトの名無しさん
09/01/28 19:47:43
>>47
でも実質ここが一番活発なフォーラムじゃない?
良くも悪くも団子が参加したからだけど。
50:デフォルトの名無しさん
09/01/28 20:21:22
真の優勝争いは O(1) 計数を持ってきた者どうしとなる。
51:デフォルトの名無しさん
09/01/28 20:34:08
>>43
temperingって言ってしまうとbitの順番を入れ替えてるだけで情報的には等価なんだが
52:デフォルトの名無しさん
09/01/28 20:38:02
xor って順番入れ替えなのか? ってか情報的に等価ってなに?
53:デフォルトの名無しさん
09/01/28 20:45:38
> 予想以上の盛り上がり
爆笑した
54:,,・´∀`・,,)っ-○◎●
09/01/28 20:48:46
>>49
俺「が」中の人にマークされてるよ。
55:デフォルトの名無しさん
09/01/28 20:54:31
あんまり書くなとか言われたのか?w
ってか、こんだけ無用に情報垂れ流してれば、そりゃマークされるわなw
56:デフォルトの名無しさん
09/01/28 21:14:43
>>53
すまん、>>51みたいに言うと語弊があったな
bit入れ替えも演算だしxorとも大差無いって事がいいたかった
情報的に等価ってのは表現が違うだけで1:1で対応してて同じ情報を持ってるって話
2進数とグレイコードとかね
57:,,・´∀`・,,)っ-○◎●
09/01/28 21:19:41
ただのビット入れ替えだったらもっと演算量減らせたんだが、全ビットにうまいことXORかけあわせてあんのな
58:デフォルトの名無しさん
09/01/28 21:44:45
>>56
前にも出たけど、tempering も線形写像だし、そりゃ情報量的には等価だよね。
俺が言いたかったのは、tempering 後の bit 入れ替えだったら乱数性に影響は
ないが、tempering(xor) を変更すると乱数性(均等分布)に影響がある、って事。
乱数性に影響ある変更加えたら乱数性の再検証が必要だけど、配置を変えた
だけなら、tempering 後の bit 入れ替え相当だから再検証は必要なしでしょ。
59:,,・´∀`・,,)っ-○◎●
09/01/28 21:46:19
そこでTempering Functionの逆写像をだな
60:デフォルトの名無しさん
09/01/28 21:47:19
そこで tempering を LUT でだな
61:デフォルトの名無しさん
09/01/28 21:49:43
>>58
前提条件が大分違うな
上の方で出てたレイアウトが違うって話はそもそも1つの乱数を表すデータが連続した32bitに存在するとは限らないレベルだと思って話してた
62:デフォルトの名無しさん
09/01/28 22:06:55
>>61
ん?前提は一緒だよ? > "1つの乱数を表すデータが連続した32bitに存在するとは限らない"
レイアウト変更してから演算するのと、演算後にレイアウト変更するのは等価ってだけだけど。
63:,,・´∀`・,,)っ-○◎●
09/01/28 22:08:11
こだわんなよ。優勝狙うにはレイアウトや演算順序なんて気にしちゃだめだぞ
64:227 ◆eZQcaIaFJs
09/01/28 22:15:25
transum組に勝てる気がしないので、今週末にレポートでっち上げて終了の予定。
前提条件が無茶苦茶だったとはいえ、ここ一ヶ月でかなりの知識を吸収できた
事には感謝しています。また来年も期待してますよー
65:デフォルトの名無しさん
09/01/28 22:23:02
>>61
それはそうだけどそれが良くてtempering前に演算するのがだめってのが納得いかないって話
結局話題の最初に戻ってきてしまったけど
tempering前とtempering後で乱数としての性質が変わってる事も乱数の性質上bitを入れ替えても乱数だって事も分かってるさ
でも少なくとも必要な情報が連続しない場所に配置されてた場合にはそのまま利用することは出来ないだろ?
tempering前の数列のレイアウト変えた数列も求める乱数列とは異なってかつ一定の操作でその乱数列に出来るって意味では大して違いはないんじゃないかって言ってるんだ
66:デフォルトの名無しさん
09/01/28 22:39:21
この一連の流れを読んで殆ど理解のレベルを超えてるが、
まぁ、Fixstarsが「ポーティングを最適化する」レベルのプログラマには
全く興味がないというのは理解したw。
67:デフォルトの名無しさん
09/01/28 22:41:33
>>65
"大して違いはない" ってのは主観だから、そう思うならそれでいいんでないかい?
ただ、wikipedia にも書いてあるが、
> 「調律」は生成された乱数のワードのうち数ビットだけを取り出したときの高次元超
> 立方体への均等分布(vビット精度n次均等分布)を改良して理論値に近づけるための
> 工夫である(メルセンヌ・ツイスタは「調律」がなくても623次元超立方体に均等分布する)
という tempering とレイアウト変更を大した違いと認識しないのは俺には理解できないかな。
68:,,・´∀`・,,)っ-○◎●
09/01/28 22:53:34
>>66
だろうな。さすが灯台陶工台の博士を採ってるだけはある。
Googleとか入社試験に難解な数式解かせるらしいし。
69:デフォルトの名無しさん
09/01/28 23:05:31
それにしても
>「実用性に優れている」と弊社にて判断した
~~~~~~~~~~~~~~~~~~
とか
>※上記の基準をもとに総合的に判断します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
とかって何だろな?どういう重み付けをするかは主催者の
エゴでどうにでもできるという意味か?
70:デフォルトの名無しさん
09/01/28 23:07:23
別に賞品出すわけじゃないから、良ければみんなにくれるんじゃん?w
71:デフォルトの名無しさん
09/01/28 23:07:41
>>67
temperingに意味がないって思ってるわけじゃないぞ
ただ原因が何であれ取り出せない乱数に意味なんて無いだろうに
72:,,・´∀`・,,)っ-○◎●
09/01/28 23:08:38
・だんごやさんであること
73:デフォルトの名無しさん
09/01/28 23:12:19
>>65
> かつ一定の操作でその乱数列に出来る
レイアウト変更した乱数列は、"そのまま使ってもいい" って点が一番違う。
74:デフォルトの名無しさん
09/01/28 23:15:32
・2ch で無用に暴露してないこと
75:デフォルトの名無しさん
09/01/28 23:29:19
>>71
それもレイアウト次第じゃないか
さっき言った様に32bit連続で配置されない場合もあるし
76:デフォルトの名無しさん
09/01/28 23:32:17
>>61
すまん、読み違えてたかも。
> 1つの乱数を表すデータが連続した32bitに存在するとは限らない
の1つって、1回に作る 32bit の事だと思ってたんだが違ったかも。
77:デフォルトの名無しさん
09/01/28 23:33:52
>>75
ぬぉ、入れ違った。すまんかったっす。勘違いしてた。確かに、32bit 中に空きがある場合はだめっすな。
78:デフォルトの名無しさん
09/01/28 23:35:56
なんか、アンカーめちゃくちゃ。これは何かの暗号化?w
79:デフォルトの名無しさん
09/01/28 23:46:50
>>77
とりあえず納得してもらえてよかった
少しむきになってしまって恥ずかしい限り
それはそうと結局Fixstars賞狙うことにしたけど倍率が気になる
80:デフォルトの名無しさん
09/01/28 23:47:29
実行環境について特に触れてないけど、65nm版やPowerXCellを前提に
ストール対策なしのコードを書いて、65nm版又はPowerXCellで実行して
下さいって書いたらそれで通るのかな?
81:デフォルトの名無しさん
09/01/28 23:49:09
大丈夫。ここに書けば近いうちに 90nm で実行します、って追記されるw
82:デフォルトの名無しさん
09/01/28 23:50:30
>>80
倍精度でも使うのか?
83:,,・´∀`・,,)っ-○◎●
09/01/28 23:53:01
履歴書に書けるんじゃね?
ニートはとりあえず挑戦しとけ
84:デフォルトの名無しさん
09/01/29 00:12:15
>>66
元々 579 的な解+Cell最適化を想定していたのだけど、
普通に高速化する人が多くて、そういう人達が気分を
害しそうだから賞を追加した、ってのが真相な気がしてる。
空気の読めるインテリw
85:デフォルトの名無しさん
09/01/29 02:39:42
>>80
無限ストールバグがないだけで、ストール自体はある
無限ストールは普通ハマることはない
86:デフォルトの名無しさん
09/01/29 02:57:26
>>84
をぃをぃ逆だろ
実用に使える高速なMTが欲しかった
>>579なんて想定してなかった
が真相
87:デフォルトの名無しさん
09/01/29 03:41:11
しかし >>579 の書いてた事は理解出来んのー。
嘘混ざってるせいなのか、単に自分がアホなのか。
GF(2^33)で計数はいいけど、そもそも何を集計すると
tempering 的処理がループ外に追い出せるかが思いつかない。
88:デフォルトの名無しさん
09/01/29 05:31:02
結局ハッタリって事なんじゃないの?なんかみんな揃って
引っ込みつかなくなってるようにしか見えないんだが…
89:デフォルトの名無しさん
09/01/29 08:33:12
少なくとも、数学的チートの方法をこんなに大々的にばらされる事は
想定してなかっただろうなw
ここ見てる人たちが次々とチート方法で提出してきて慌てたに一票
90:22
09/01/29 10:38:45
わかってないんだけど、
信号処理で、波形のままいじるか、周波数空間でいじって戻すか、の差みたいなもんでしょ?
アフィン変換の4x4行列(の回転成分)とクォータニオンみたいなもんなんでしょ?
受け入れられない人の理屈が分からない。
91:デフォルトの名無しさん
09/01/29 10:53:04
技術的に受け入れてない奴なんていないとおもうけど
単に乱数列を生成って公式に書いてたから抵抗があっただけでしょ
今となっては公式見解も出たしなんの問題もない
92:デフォルトの名無しさん
09/01/29 12:16:02
S = Temper(x1) ^ Temper(x2) ^ .... ^ Temper(xn)
= Temper(x1 ^ x2 ^ ... ^ xn)
ならともかく、「+」で出来るってのが俄かには信じ難い。
93:デフォルトの名無しさん
09/01/29 12:48:22
インラインアセンブラ使わないほうがフィクスタ賞に選ばれやすそうだな
もともと禁止だったし
94:デフォルトの名無しさん
09/01/29 12:59:48
>>92
S = Mod32( GF33( temper(x1) ) * GF33( temper(x2) ) * ... * GF33( temper(xn) ) )
こうですか!?わかりません!教えてください!
95:デフォルトの名無しさん
09/01/29 13:29:33
いままで触れられてきたどの戦略も、一長一短だなおい。
96:デフォルトの名無しさん
09/01/29 13:41:37
>>93
なにその団子を入賞させるための賞
97:デフォルトの名無しさん
09/01/29 17:14:06
質問です、cellのソフトウエアをcygwinでクロス開発仕様と思っています。
URLリンク(cellbe-cygwin.cvs.sourceforge.net)
こちらのページの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
とでてしまい、やっぱり駄目です。いったいどうすればクロス開発ができるようになるでしょうか。
98:デフォルトの名無しさん
09/01/29 17:29:47
VMWareにでもLiunx入れたら?
99:デフォルトの名無しさん
09/01/29 17:38:25
PS3 買えば?w ゲームも出来るよwww
100:デフォルトの名無しさん
09/01/29 17:43:46
確かにな。クロス環境を自力で作れない奴が入賞できるわけないしw
101:デフォルトの名無しさん
09/01/29 18:09:36
>>97は別にコンテストに出場しているとは言っていないと思うけど
102:デフォルトの名無しさん
09/01/29 18:34:10
あ、ここってコンテストのスレじゃないんだっけw スマソ
103: ◆iSaGiwaruI
09/01/29 22:13:25
遅ればせながらギリギリでエントリ。
104:227 ◆eZQcaIaFJs
09/01/29 22:28:58
リアルで大事件が起こって困惑中。二ヶ月先すら見えない状況ですorz
>>90
2つの回転行列の補間をするのに、一度クオータニオンに戻して球状補間
するんじゃなく、行列同士を線形補完して直交させれれば終了、みたいな
ショートカットが出来るって事ですよね?
>>92
URLリンク(en.wikipedia.org)(2)
↑見てもさっぱり分からない罠。締め切り過ぎてからで良いんで、お勧めの
参考書とか有ったら教えてくださいな。
105:デフォルトの名無しさん
09/01/29 23:47:39
>>104
細かい事に突っ込んで悪いけど、それじゃ結果変わっちゃうので
例えとしてはいまいち。
「行列の積じゃなくてクォータニオンの合成で処理して行列に戻す」
とかがショートカット。
106:579
09/01/30 00:29:43
なんか席を外している間に fixstars はじまったな。
>>579ざまぁwみたいな展開を期待していたのだが。
コード公開するタイミング失ったではないか。
>>90
>>104
ニヤニヤ
>>33
>尤もハッタリだったら曝せないだろうけどなーwwww
もう少し上手く煽れよ。。。
107:579
09/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};
};
108:227 ◆eZQcaIaFJs
09/01/30 00:41:47
>>105
チートしないと60fps出ない環境なんで、誤魔化せる所を探すのに必死です。
今日も境界判定のif文取ったり、エルミート補間を線形補間にしたりとかw
>>107
残念ながらC言語onlyな大会でございます。
URLリンク(ja.wikipedia.org)
%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
109:,,・´∀`・,,)っ-●◎○
09/01/30 00:43:00
コンパイラが氏ぬwww
110:,,・´∀`・,,)っ-●◎○
09/01/30 00:44:09
fixstarsはメタプログラミングって使わないんだろうか?
テンプレートによる再利用は俺も大好き
111:579
09/01/30 00:46:35
>>86
つmc_rand_mt_u4
112:,,・´∀`・,,)っ-●◎○
09/01/30 00:53:18
MTの本質は均等分布性にあるんであって数値の出る順番は本質じゃないと思うんだ
実際64ビット用MTは32ビット版と生成する値の互換をとってない。
113:,,・´∀`・,,)っ-●◎○
09/01/30 00:57:18
んで、ビットの配置方法が違っても分布の均一性は変わらないわけで
極端な話トランザム(笑)でも再利用性があると思う
114:デフォルトの名無しさん
09/01/30 02:20:33
まだ登録できたのか
115:デフォルトの名無しさん
09/01/30 02:26:21
多分、団子はふぃっくすたーずの中の人から盛り上げるように頼まれてる。
116:,,・´∀`・,,)っ-○◎●
09/01/30 04:19:00
中の人も一応は最新のIntelチップ相手だと分が悪いのは認識してるらしい。
(当たり前だ)
性能を引き出すことは、弱点を認識することから始まる。
117:デフォルトの名無しさん
09/01/30 07:01:33
>性能を引き出すことは、弱点を認識することから始まる。
私の現場だと、最早「無駄な努力」と言われてしまう罠。
先日AMDの営業に話を聞いたのだけど、NVIDIAやIntelとの比較でしか性能を語れてないの。
ちょっと同情したw
118:デフォルトの名無しさん
09/01/30 10:45:49
未だに13Cycleの壁と闘ってるんだがこのあたりってもうだれもおらんのか?
みんなこっちの道をあきらめてSUMを直接求める方向に行ってくれてるならそれはそれでいいんだけど
そっちの方向はいくら頑張っても数学に弱いやつは勝てなさそうなんで早々にあきらめてしまった
119:デフォルトの名無しさん
09/01/30 11:52:50
>>118
比較的素直なSIMD実装でも頑張れば12切れる。
120:デフォルトの名無しさん
09/01/30 11:57:47
>>119
まじで!
じゃあ本番は11台入ってからか
先は長いな
121:デフォルトの名無しさん
09/01/30 13:00:17
項数爆発。こりゃだめだ・・・やり直し。
122:デフォルトの名無しさん
09/01/30 15:15:37
お前ら楽しそうだな・・・
次があったら俺も参加したいぜ
123:デフォルトの名無しさん
09/01/30 17:16:18
今からでも遅くはないZE!
応募だけしてみたら?
124:デフォルトの名無しさん
09/01/30 20:30:44
私も参加賞狙いwで応募だけしてみました。
125:デフォルトの名無しさん
09/01/30 23:25:04
>>103
そのトリすげぇなw
126:デフォルトの名無しさん
09/01/30 23:33:48
トリップって狙って取れるもんなの?
127:デフォルトの名無しさん
09/01/30 23:38:48
こら、そんなこと言うと五月蠅いのが飛んでくるぞ
128:,,・´∀`・,,)っ-●◎○
09/01/31 00:28:48
ところで、優勝とフィクスタ賞を同時に狙う方法ってあるんじゃないの?
129:,,・´∀`・,,)っ-●◎○
09/01/31 00:35:02
おっしゃ拡大体でトランザムktkr
130:デフォルトの名無しさん
09/01/31 05:38:29
うわさをすればなんとやら
131:デフォルトの名無しさん
09/01/31 06:01:15
あるかもしれんがそのトランザム次第じゃね
間違ってもO(1)で解ける様な話だとまず不可能だろ
132:デフォルトの名無しさん
09/01/31 11:22:12
ところでフィクスタ賞って乱数がレジスタに現れるだけじゃだめなのか?
配列に格納・関数の戻り値など
などが何かはわからんがこれを見る限りじゃかなり厳格にやらないといけないかもしれんな
フィクスタ賞は規定を満たす中で一番高速なのが選ばれるってわけでもなさそうだし
配列に格納はまだしも関数の戻り値なんてやってたら大分コスト掛かりそうだ
133:デフォルトの名無しさん
09/01/31 11:53:12
レジスタに現れるだけで実用性あるのかよ
134:デフォルトの名無しさん
09/01/31 12:00:06
stqd入れるだけで出力可能って意味でかなり目標に近いとは思うが
そうじゃなきゃ完全にフィクスタ賞だけを狙うコードをつくらないといけないな
135:デフォルトの名無しさん
09/01/31 13:22:36
実用的っていうのも中の人の主観で決まることだから、悩んでも無駄だろ。
そんなのよりも優勝目指そうぜw
136:質問です
09/01/31 13:41:23
URLリンク(cell.fixstars.com)
この手順に習ってVirtualPCにインストールしたfedora9でCell SDK 3.0をインストールしたのですが、ppu-gccで
error:libspe2.h :No such file or directory が出てしまいます。
libspe2.hはいったいどこにあるのでしょうか・・・
137:デフォルトの名無しさん
09/01/31 13:47:56
locate libspe2.h
してみれば
138:質問です
09/01/31 13:59:32
/opt/cell/sysroot/usr/include/libspe2.h
と返ってきました。
標準のインクルードパスに加えるにはどうしたらいいのだろう・・・。
139:デフォルトの名無しさん
09/01/31 14:31:31
試してないからだめかもしれないけど、環境変数 INCLUDEへのpathの追加とかは?
だめなら、とりあえずはコンパイル時のオプションで指定しとけば?
-I /opt/cell/sysroot/usr/include/
140:デフォルトの名無しさん
09/01/31 14:52:12
>>135
優勝目指したいけど勝てる気がしないんだw
だって無茶な実装は3倍速なってるとか言う噂がが
141:質問です
09/01/31 15:02:17
>>139
どうもありがとうございます。
単にMakefileの中身がppu-gccではなくgccになっていただけでした。
大変失礼しました
142:デフォルトの名無しさん
09/01/31 15:17:23
団子のハッタリに惑わされているようじゃ参加賞止まり。
143:,,・´∀`・,,)っ-○◎●
09/01/31 21:15:16
ハッタリだと認識してるようじゃ参加賞止まり
144:デフォルトの名無しさん
09/02/01 01:37:52
だんごって学生部門に登録してるんだろ?
この中の何人が学生部門なんだろうな
意外と社会人より学生のほうが人数多いかもね
145:,,・´∀`・,,)っ-○◎●
09/02/01 01:39:47
だれが学生部門じゃ
146:デフォルトの名無しさん
09/02/01 02:47:16
前にそんなこと言ってなかったっけ
147:デフォルトの名無しさん
09/02/01 07:06:43
>>146
デマだよ。デマゴーゴスだよ
このスレ自体がな
148:デフォルトの名無しさん
09/02/01 10:28:39
コンテスト終了後なら、ソース見せてくれる?
純粋に興味がある。
149:,,・´∀`・,,)っ-●◎○
09/02/01 11:14:53
ところでアセンブラ組はフィクスタ賞は諦めてるんだろ?
むしろ眼中にないんだろ?
ニヤニヤ
150:デフォルトの名無しさん
09/02/01 11:55:57
いつぞやの693だけど俺はアセンブリ組
正直どうしたもんかね
俺も少し前に書き込んでた人間と同じくレジスタにだけ乱数が出現する状態だ
Even,Odd共に1サイクルの空きも無いから配列にはき出すコード埋めるだけでもオーバーヘッドがかかる
このままやってても優勝が難しい様ならフィクスタ賞向けのコードに書き換えなくちゃいかんのだが…
乱数のレイアウト変更した方もある程度の設計はしたものの思った程速くならない
プログラムとしては前者の方が気に入ってるから出来ればそっち出したいな
>>147
ゴマソースだよ。
151:デフォルトの名無しさん
09/02/01 12:04:51
それはそうとだんごは学生部門じゃなかったんだな
それは非常に助かる
152:デフォルトの名無しさん
09/02/01 12:20:18
今までの言動からすると、団子が本当のスタートラインに
立ててるかは疑わしいわけだがw
153:デフォルトの名無しさん
09/02/01 12:34:19
>>152
フィクスタ賞できたから、遅くってもフィクスタ賞狙いだったって言い訳はできるなw
団子には是非優勝を狙ってると宣言して欲しいものだw
154:デフォルトの名無しさん
09/02/01 12:56:00
再利用性にこだわってたからフィクスタ賞狙いでも別にいいけどね
フィクスタ賞とりつつ優勝者を上回るコードを締切と同時に公開したらかこいい
155:,,・´∀`・,,)っ-○◎●
09/02/02 06:20:26
10パターンくらい用意しててどれにするか迷ってる状態。
>>152
そう思わないとつらいことでもあるんですか?(笑)
156:デフォルトの名無しさん
09/02/02 06:25:31
10パターンってw
一番速いのか一番実用的なの
一番アルゴリズムが綺麗なの
3つ位しか選ぶ基準が思い浮かばねえ
157:,,・´∀`・,,)っ-●◎○
09/02/02 06:50:49
何度も言ってるが出力が互換であることは実用性とはまったく関係ない。
158:デフォルトの名無しさん
09/02/02 08:09:45
ならなおさら10パターンも思い浮かばないな
一番速いの選べばおk
159:デフォルトの名無しさん
09/02/02 09:00:29
そこそこの性能を出しつつネタに走るとか
160:デフォルトの名無しさん
09/02/02 09:39:19
>>157
デコードに何十種類もかかるフォーマットじゃなければな
161:デフォルトの名無しさん
09/02/02 09:40:36
何十種類→何十サイクル
一体どんな残念な事が頭の中に起こってこの単語が出てきたんだ…
162:デフォルトの名無しさん
09/02/02 09:57:59
IOCCCばりのネタプログラムを希望する
163:デフォルトの名無しさん
09/02/02 10:02:10
>>160-161
ビット配列がどうなっていようと乱数は乱数なんだぜ。
たとえば公式のMTの64bit専用版は32ビットと生成式が違う
ビットの配列構造が違ってても乱数は乱数なんだ。
たとえば、32ビット乱数32個を行列転置したら乱数じゃなくなるのか?
164:デフォルトの名無しさん
09/02/02 10:21:53
多分レイアウト変更組がやってることってのはそれだよね
みんな薄々気づいてただろうけど結局こうなったな
確かに転置したところで乱数であることには変わりはないね
で、それを読みだすのに何サイクルかかる?って話だよ
それとも0bit目を32個集めてそれも乱数って言ってる?
165:202
09/02/02 10:26:06
>>164
MTの場合、それでも乱数といえそうな気がする。
bit単位のランダム性が特徴のひとつだから、ビットを特定の順序に並べ替えるだけなら
ランダム性が崩れない。
166:デフォルトの名無しさん
09/02/02 10:30:33
>>164
ん?0ビット目を32個集めても乱数として使えるだろ?
同じサマリになるようにしろってのはフィックスターズの都合であって
現実にモンテカルロなどに使う場合はビット単位でのランダム性を破壊するような改変でない限り
十分実用的といえる。
167:デフォルトの名無しさん
09/02/02 10:54:57
そうか
理解不足で混乱させてすまん
って事はフィクスタ賞も危ういなぁ
純粋な互換で勝負するのは無理があるか
168:,,・´∀`・,,)っ-○◎●
09/02/03 03:45:54
herumi氏が苦戦してるの見ると小気味良いな
169:デフォルトの名無しさん
09/02/03 04:00:52
>>129
あ り え な い 。それは。
GF2^33で tempering 処理を80%近くまで外部化してやらないと、そのトランザムは出来ない。
仮にビット単位の数え上げをMacWilliams恒等式で集中計算しても、ハミング距離が使えないその段階では
mod2^32 変換行列が手に入れられないはず。 妄 想 で つ か ?
とりあえず SIMD でループを大量にアンロールして合計値にどんどん足していけ。
アセンブラならABIに従ってレジスタ値取っておくのを忘れんなよ。説教くさくなってスマソ・・・。ついな・・・。
170:,,・´∀`・,,)っ-○◎●
09/02/03 04:14:25
キョッキョッキョッキョッキョ
171:デフォルトの名無しさん
09/02/03 04:29:05
スレ違いだったらごめんなさい。。
きく人がいなくてここに辿り着きました。
for ( i = iv->dim; i < new_dim; i++ )
iv->ive[i] = 0;
こんな感じの構造体のループって普通にSIMD化できるんですか?
構造体とかよく分からなくて…汗。
172:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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バイトにアラインメントされてることになりますか?
長くて&初歩的な質問ばかりですみません。
よろしくお願いします。
174:,,・´∀`・,,)っ-○◎●
09/02/03 04:48:10
なんだそのやる気のない記法は。
outとdpのアドレスを16バイト境界にあわせられない理由がある?
最悪ストアだけでいいから16バイト境界にあわせること。
合わない部分はループの外に吐き出してOK。
175:,,・´∀`・,,)っ-○◎●
09/02/03 05:01:17
16バイトにアラインメントされてるかを検定する方法を知らないとか言わないよな?
>outとdpは引数で、16バイトにアラインメントされてるか分からなかったので、
>この方法しか思いつかなかったのですが、何かこれじゃ余計遅くなるような気がして;;
判定方法が解らないとか言わないでくれよ?
ループ回数が十分大きければ、ループの外側での条件分岐はトータルの計算時間に大した影響は無い。
(address + 15) & ~15 などとして、16バイト境界を検出する。
んで、16バイト境界に合った区間だけのSIMD化を検討しる。
>>173
ならねぇwww
そもそもaの指す実体は何だよ
そいつがアラインメントされてるかどうか次第だ
176:デフォルトの名無しさん
09/02/03 05:06:15
>174さん
あ、すみません。少なくともoutは代入されるだけなので16バイトにアラインメントしても問題ないですね。
dpの方が理解できないのですが、引数として貰ってくるものなので…いつアラインメントすればいいのでしょうか?
宣言された後で、dp __attribute__((aligned(16)))って書けば行列の中身も全部グッと(?)移動するものなんですか?
よろしくお願いします。
177:デフォルトの名無しさん
09/02/03 05:13:45
>175さん
同時にアップしてたみたいです;;前の質問消しておきます。
なるほど!そうやってSIMD化するんですね!コード書きなおしてみます…。
どうもありがとうございます。
aの指す実体…。う〜ん、実はポインタ一週間前に覚えたばかりなんです。汗
ちょっと考えてからまた質問させていただきます。
ありがとうございます。
178:,,・´∀`・,,)っ-○◎●
09/02/03 05:16:14
言ってる意味がわからん。
dpの配列の実体はダレが決めるの?君以外が決めるの?
君が自由に決めることができるなら、その配列に、alignオプションを指定しておきなさい。
自由にならないのなら、交渉しなさい。
駄目なら、そこではじめてミスアラインロードを検討すればいい。
__attribute__((aligned(16)))という指定は、配列の定義を指定された通りにデータを配置されるというもので
元々あるデータ配置を移動するものではない。
ポインタにalignやってもポインタ型が16バイト境界に配置されるだけで
実体は実体の定義通りに配置される。
179:,,・´∀`・,,)っ-○◎●
09/02/03 05:17:08
ポインタ理解してないのにSIMDとか無茶ですから
180:デフォルトの名無しさん
09/02/03 05:31:20
なんだかんだ言って親切だな。
181:デフォルトの名無しさん
09/02/03 05:34:33
ありがとうございます。
meschachというライブラリの中のループをSIMD化しているところなんです。プログラム自体をあまり理解してなくて。。
あと、また質問なのですが、SPEプログラムで実行時間を測りたい場合って、SPU Decrementerでprof.star()とかやるしかないですか?
これってCELLシミュレーター上でしか使えないですよね?
#include <time.h>でclock()とか使ってみたんですけど(ps3上で)、エラー出たので、サポートされていないのかなと。
よろしくお願いします。
182:,,・´∀`・,,)っ-○◎●
09/02/03 05:38:35
time.hは使えない。
SPU DecrementerはPS3やSpursEngine上のSPU実機でもつかえる。
183:,,・´∀`・,,)っ-○◎●
09/02/03 05:43:55
>>180
ば・・・ばか!だんごやさんはもっと殺伐としてるべきなんだよ!!!!11111
184:デフォルトの名無しさん
09/02/03 05:47:30
え、PS3上でも使えるんですか!?何でエラーが出るんだろう…。涙
ありがとうございます。
185:デフォルトの名無しさん
09/02/03 08:05:13
根本的にスキルが足りてない気がするが……
ツンデレ団子がフォローしているから任せておくかw
186:デフォルトの名無しさん
09/02/03 11:44:22
団子さんはherumi氏を超えた!
187:デフォルトの名無しさん
09/02/03 19:40:21
しかもはるか斜め上!!
188:デフォルトの名無しさん
09/02/05 13:55:16
ダンゴさんのネタ切れでスレが沈静化したな
189:デフォルトの名無しさん
09/02/05 14:24:50
荒らすな。団子のせいにするな。
190:デフォルトの名無しさん
09/02/05 14:55:40
んじゃネタ振り。
「任意の n に対し O(1) 解は存在し得ない。」
がんばって O(n) 最適化しよう。
191:デフォルトの名無しさん
09/02/05 15:07:57
o(n)とO(n)が別物と最近知った俺には
ちょとむつかしすぎる問題だ
192:デフォルトの名無しさん
09/02/05 15:08:52
正直現状で構わん。やってたこと荒らしと変わらないし。
>>190
n<=INT_MAXに限ればあり得るだろ?速度はさておき。
193:,,・´∀`・,,)っ-○◎●
09/02/05 15:09:06
そこはO(log(n))解を探せよチキン
194:デフォルトの名無しさん
09/02/05 15:25:55
おしまい
195:デフォルトの名無しさん
09/02/05 15:54:06
O(n)に実質的に落ち着くんじゃないの?
196:デフォルトの名無しさん
09/02/05 16:09:43
×O(n)に実質的に落ち着くんじゃないの?
○>>195がO(n)のロジックしか思いつかない
197:デフォルトの名無しさん
09/02/05 16:39:07
俺はO(n)で優勝する気満々だからおk
198:デフォルトの名無しさん
09/02/05 16:39:47
ヒントを書かせようとしてる奴がいるな。
そんな奴はもう参加賞で我慢しる。
199:デフォルトの名無しさん
09/02/05 16:55:41
>>197
無理だね。
気づいた人もいるだろうけど、O(n)を切るロジックは、ある。
200:デフォルトの名無しさん
09/02/05 17:07:23
どうしてもCellっぽく書けない・・・
これじゃまるでHack the MTだ。orz
201:デフォルトの名無しさん
09/02/05 17:11:20
なんか、13 も切ったしトランザムも(多分)解ったんだけど、なんか飽きちゃったw
202:,,・´∀`・,,)っ-○◎●
09/02/05 17:17:25
ぶっちゃけCell自体に飽きた。
IntelのCtプログラミングの資料見つけたけどこれかなり面白い。
なによりC++ベースってのがよい。
CUDAやOpenCLよりよっぽど直感的に組める。__device__とか__gloval__とかアホか!
203:デフォルトの名無しさん
09/02/05 17:45:28
話を逸らし始るくらいなら帰れ。
204:,,・´∀`・,,)っ-○◎●
09/02/05 19:08:06
Frameworkの話なんだけど。理解できない奴は帰れよ。
CellをOpenCL対応させようとしてるのくらい知ってるだろ?
205:,,・´∀`・,,)っ-○◎●
09/02/05 19:12:26
SpursEngineで遊ぶかな
206:デフォルトの名無しさん
09/02/05 19:13:42
ところでCt使うと1000×1000の行列の逆行列が求められたりするわけ?
207:,,・´∀`・,,)っ-○◎●
09/02/05 19:21:20
なんじゃそりゃ?
Intel CPUでできることは一通り出来ると考えて良いんじゃね?
仮想アドレッシングをデフォでメモリの制約は
プログラミングのノリとしてはThreading Building Blocksをもっと発展させたものって考えればいい。
見た目テンプレートベースのコンテナ、中身SIMD×マルチスレッドかな。
んで、中間言語がx86ベースで、ネイティブコードもx86。Intelベッタリ。
IntelのIntelによるIntel CPU/Larrabeeのための言語。
208:,,・´∀`・,,)っ-○◎●
09/02/05 19:22:16
投稿ミス
×仮想アドレッシングをデフォでメモリの制約は
○仮想アドレッシングをデフォでサポートするからメモリの制約は基本的に無いと思って良いと思う
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5368日前に更新/125 KB
担当:undef