ユー!Cellプログラミ ..
46:デフォルトの名無しさん
06/10/18 04:04:10
URLリンク(www.terrasoftsolutions.com)
Under basic agreement with SCEI, Terra Soft was granted a unique opportunity to develop and bring
to market a complete Linux OS for the Sony PLAYSTATION 3. In development of Yellow Dog Linux v5.0,
Terra Soft integrated and enhanced code from Barcelona Supercomputing Center, Sony Group, and Fedora
in order to offer the following:
- kernel 2.6.16
- gcc 3.4.4 and glibc 2.4
- Cell SDK 1.1
- OpenOffice.org 2.0.2
- FireFox 1.5.0 and Thunderbird 1.5.0
- Nautilus 2.1.4
... and a suite of Personal Accessories, Development Tools; Sound & Video, Internet, and Networking applications.
47:デフォルトの名無しさん
06/10/18 05:55:52
こんな変体CPU使えるかwwww。
>>45
根本的にEIBの帯域が狭いんだろwww。
48:デフォルトの名無しさん
06/10/19 03:15:12
196bit*1.6Ghz*4ライン*11ポイントくらいだっけか。
メモリよりはSPE同士のが速いけども。
49:デフォルトの名無しさん
06/10/19 03:21:18
424 名前:名無しさん必死だな 投稿日:2006/10/18(水) 16:04:49 ID:nmUnDIac
ノーサポートならPS3のLinuxは無料だからな
1か月待てば無料版がダウンロードできる
URLリンク(ps3.ign.com)
Following the company's standard release system, v5.0 will be made available in a
three-phase product rollout. At launch, users of the company's YDL.net service
(which comes at a cost) will be able to download the OS to their computer and burn
a bootable disc for installation on the PlayStation 3. Two weeks later, the
company will offer ready-made installation discs for purchase through the site.
Two weeks after that, it will be made freely available on public mirrors.
In short, if you're willing to wait one month after the system's release, you'll
be able to download Linux for it for free.
50:デフォルトの名無しさん
06/10/19 03:55:39
そいつがOpenGL含んでないのが気になる。
グラフィックがSPEだと割とションボリなことになるだろう。
51:デフォルトの名無しさん
06/10/20 02:38:11
またMESAか?
nVidiaがドライバ書いてくれるとは思えないなぁ。
52:デフォルトの名無しさん
06/10/20 21:19:31
PowerPC版のnvドライバってないの?
53:デフォルトの名無しさん
06/11/18 14:14:19
CellPCがもし発売されるとしたら型番はNWSになるのだろうか?
URLリンク(www.sony.co.jp)
URLリンク(katsu.watanabe.name)
54:デフォルトの名無しさん
06/11/18 22:38:45
CellPCが発売されたとしても、OSはLinuxとかBeOSくらいしか動かないじゃん。
55:デフォルトの名無しさん
06/11/20 16:41:20
このスレって火星の中の人ばっかりでしょww?
MIXIでもWebでも露骨だからわかりやすすぎ。
56:デフォルトの名無しさん
06/12/04 13:46:10
URLリンク(www.hpcc.jp)
SACSIS2007併設コンテスト「Cell Speed Challenge」
課題発表予定日から4日過ぎたが更新無し。
57:デフォルトの名無しさん
06/12/04 15:14:57
みんなWiiに夢中かwww
58:デフォルトの名無しさん
06/12/04 21:21:18
5星の目的ってなに?
・実はSCEの回し者
・cellの将来性を本当に信じてる
・趣味が講じて
・ジャーゴンをまき散らしてIPOウマー
59:デフォルトの名無しさん
06/12/04 22:09:00
久多良木は会長就任で事実上経営から撤退。
SCEは売却されて終了だろ。
PS3の将来?んなもん最初からない。
60:デフォルトの名無しさん
06/12/05 00:10:53
基地外乙
61:デフォルトの名無しさん
06/12/07 10:40:34
>>58
回し者にしか見えんね。
62:デフォルトの名無しさん
06/12/10 15:07:04
Cellスピードチャレンジ2007課題発表キター
【課題】
【規定課題概要】
多数のデータの系列が入力として与えられたときに,
これらをある順序にしたがって並び替える処理をソーティングと呼びます.
Cellスピードチャレンジ2007の規定課題は「ソーティング」です.
ソーティングでは,データに含まれる並べ替えのために参照される項目をキーと呼びます.
このキーは単精度の浮動小数点数(C言語におけるfloat型)とします.
また,キーの値が昇順(小さい値が前方,大きい値が後方になるような順序)になるようにデータを並び替えるものとします.
たとえば,高校などの学籍名簿のn個のデータ系列(A1, A2, ..., An)を,
学籍番号順に(学籍番号をキーとして)並び替える処理を考えます.
各データAiは,学籍番号の他に,その番号を持つ学生名や入学年月日などの情報をもつかもしれません.
ソーティングはこれらのAiを学籍番号の小さい順に並び替えるという処理です.
例題:
次に示す10個の浮動小数点数をキーとするデータ系列をソーティングせよ.(この例題ではキーの値のみを示していることに注意してください.)
34.5 10.2 76.9 68.0 99.3 27.4 93.4 70.0 23.8 57.4
答え:
10.2 23.8 27.4 34.5 57.4 68.0 70.0 76.9 93.4 99.3
63:デフォルトの名無しさん
06/12/10 15:49:06
このデータ数じゃ、CELLの必要性を感じないどころか、
1G個程度の要素の並列ソーティングぐらいにしないと
低レベル過ぎてこのコンテストの必要性も感じないな。
情報処理学会の研究会レベルだとすると、B4程度クラスなんだろうが。
64:デフォルトの名無しさん
06/12/10 20:19:34
例題、れいだい、レイダイ
65:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/10 20:25:48
float4つ分の比較・スワップならこんだけだろ?
vector float v0 = (* (vector float *)&v[0]);
vector float v1 = (* (vector float *)&v[4]);
vector int vmask = spu_gt(v0, v1);
vector float vmax = spu_sel(v0, v1, vmask);
vector float vmin = spu_sel(v1, v0, vmask);
10要素ならループすら要らんぞこれ。
>>63
流石になさ過ぎる
66:デフォルトの名無しさん
06/12/10 20:32:53
10個のは例題だっつの
67:デフォルトの名無しさん
06/12/10 20:41:21
もんもうwwww
68:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/10 20:44:22
×spu_gt
○spu_cmpgt
つーか、10要素って8の倍数個じゃないから逆に困るけどな。
レイテンシ隠蔽しようがないから命令の選び方が問われるし。
69:デフォルトの名無しさん
06/12/10 21:42:46
ここはスーパーハッカーが自慢のテクニックを惜しげもなく披露するスレになりました
70:デフォルトの名無しさん
06/12/12 19:48:38
PowerPCスレへどうぞ。
71:デフォルトの名無しさん
06/12/13 05:23:36
SPE一個で浮動小数点計算をひたすらやらせるプログラム作って、
比較で4年前のxeon1CPU(2G)にも同じ演算やらせたんだけど…
Xeonの方が4倍くらい早い。ただし時間の計測は、自分で計算にかかった秒数
を数えるという原始的なやりかたなんで、問題あるかもしれないけど。
(SPEの方はSIMD化は全くさせず、どちらもGCCで計算させた。)
SPEひとつでも、Pen4より全然上だと聞いていたので(ただしSIMDをフル
につかったとき)、4年前のxeonには負けんだろうと思っていたのだが。
これで手間かけてSIMD化してもXeon2Gととんとんだと思うと、むくわれんなあ。
もちろん、コアの個数だけまだ早くなるけど、苦労してかいて、
二桁演算スピードが上がるかどうか…。
72:デフォルトの名無しさん
06/12/13 09:17:53
>>>65
なにこれC言語標準ライブラリにないものばっか
C++マスターの俺にさえなにやってんのかわからん
73:デフォルトの名無しさん
06/12/13 09:29:25
LSサイズ512KBでcell厨死亡wwww
74:デフォルトの名無しさん
06/12/13 09:36:19
事前に真偽両方の結果を計算しておく奇怪な分岐法でswitch厨死亡wwww
75:デフォルトの名無しさん
06/12/13 09:52:10
___attribute___(16)とつけるのが面倒くさくてスカラー厨死亡www
76:デフォルトの名無しさん
06/12/13 12:35:11
>>71
SPEのパイプラインの効率を改善、SIMD化、ループアンローリング
DMAのレイテンシ隠蔽(ダブルバッファなど)、マルチコア化など、
一通り考えてみた?
確か、東芝がウェブ上で出した記事の中に、最適化手順と、
それがどれ位の効率があるかを書いてたんだけど、どこだったかな。
日経エレクトロニクス2006年12月4日号にも最適化の記事が載ってるみたいだけど。
URLリンク(techon.nikkeibp.co.jp)
77:デフォルトの名無しさん
06/12/13 21:28:29
>76
情報ありがとう。
各種最適化は、できる範囲これからやってみようかとは思っているんだけど、
今回は、もっとも単純な状態で、ひとつのSPEのCPUとしての性能はどんなもんか
というのをちょっとみてみたら、あれ?こんなもんかという結果だったということ。
だからSIMD化もしてないし、DMAもほとんどつかわず、ただ浮動小数点演算させただけ。
SPE単体の持つトランジスタ数は、Pen3ぐらいしかないというのをどっかで聞いて、
そんなんでも高性能なの?って疑問がすこしあったからっていうのと、あとただ単純に、
最適化をいきなりするのがしんどいので、なんもしてないだけです。
78:77
06/12/13 21:39:31
ちなみにこれから、型をfloadからdoubleに変えたらどれだけ早さは変わるのか
とか、簡単に試せるのでやってみようと思ってます。
たしかピーク性能10倍くらい下がるといわれていると思ったけど、それはdoubleだと
SIMDのベクトルの要素数が半減して、同時実行できる命令数が半減するっていうのが、
おおきいとすると、今はSIMD使ってないのでそんなに性能落ちないのかな?と思って
ます。
あとSIMD化もしようと思ってるんだけど、SIMDの算術命令に指数関数とか対数関数の
命令ってないのかなあ?誰か知ってたら教えてください。
79:デフォルトの名無しさん
06/12/13 23:20:06
>>72
俗に言うAltiVecってやつよ。
GCCでコンパイルできるよ。
80:デフォルトの名無しさん
06/12/14 01:52:49
>>79
AltiVecじゃなくてspuの組み込み関数じゃね?
81:デフォルトの名無しさん
06/12/14 10:19:11
演算基そのものが別物。
驚くべきことに倍精度ユニットは単精度より小さい。
パイプライン化されてないとか変換コストがかかるとか色々言われてるが、
ベクトル性能のスループットで単精度の1/10程度ならスカラでも1/5程度になることは覚悟した方がいいかも。
レイテンシも大きいからそのへんが響いてるかも。
>>74-75
あんまり扱いにくいもの作ってもPS3が自滅するだけなんだけどな。
国内サードはWiiやDSに逃げてるし。
82:デフォルトの名無しさん
06/12/14 10:36:25
でも新しいルールが取り入れられたCでプログラム組むのは良い頭の体操になりそう
83:デフォルトの名無しさん
06/12/14 13:46:17
vectorキーワードはもともとCodeWarriorがAltiVecのためにサポートしたもので
以後PPC系のSIMD拡張で標準的に使われるようになった。
あとはただのCPU独自の命令にほぼ一対一で対応する組み込み関数。
Intelだと__m128とかのSIMDレジスタ型があるけどあれと同じこと。
SPEにはスカラなユニットもレジスタもないから、スカラな演算はベクトルの最初の要素だけを使ったコードになる。
コンパイラ次第ではループ内で配列にアクセスするような演算や分岐を並列実行できるかもしれない。
まあ、極力は組み込み関数でベクトル化したほうがいい。
STLのvalarrayとかでラッパー作ってしまえばあとが楽かも。
つーか、ベクトル演算を駆使して分岐先のスカラ演算を両方同時に実行するとかはMMX/SSEでも使える
テクニックではあるが、分岐予測にまかせたほうが性能が出るから推奨してないだけ。
逆に分岐予測すらない多段パイプラインだからそれに頼らざるを得ないんだSPEは。
84:デフォルトの名無しさん
06/12/15 20:06:16
>>77-78
URLリンク(cell.scei.co.jp)
URLリンク(cell.fixstars.com)
URLリンク(blog.cell.sijam.com)
今のところ、この三つは必見。
Cellは最適化ありきのCPUだな。
SPEは自分でタイミングをほぼ把握できるようにするために、
仮想メモリや非DMA型共有メモリ・キャッシュを排除したコアなので、
最適化をする事が前提条件としてある。
85:デフォルトの名無しさん
06/12/15 22:04:46
ハッカー様
あなただけが便りです
これからの活躍に期待しています
頑張ってください
86:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/15 22:24:26
>>85
何をどうやって欲しいんだよwwwwww
据え置きの需要自体がDSに大幅に食われたと思う。
PS3 Linuxでどうこうやってもさ、それに食らいつくのは同じようなマニアなわけで。
ゲーム機としては終わってると思ってる。
87:デフォルトの名無しさん
06/12/15 23:40:27
ちょっとCellプログミングしてみた感じ、普通のCで書いたソースをCell用に変えるのって、
そんなに大変ではないような気がする。OpenMPが並列計算の指示を既存のCのソースに書き加え
る程度でできるように、「ここはSPEにやらせろ」とかもっと簡単にかけるシステムができそう。
88:デフォルトの名無しさん
06/12/15 23:42:10
NvidiaがGPUを開放してくれれば、まだ面白いことできそうなんだけどね。
89:デフォルトの名無しさん
06/12/15 23:43:13
SPEはおもに何に使われることになるんですか?
90:デフォルトの名無しさん
06/12/15 23:44:31
何も読まずにレスするが、CellってAltiVec使えるんだよな?
91:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/15 23:59:04
PPE自体はそうだが、SPEをフルに動かしたらPPEでSIMD演算なんてやってる余裕ないと思うぞ
92:デフォルトの名無しさん
06/12/16 03:07:41
>>88
今頃そんなこといってるようじゃ、やる気もなしに
適当に書き込んでるのがバレますよ。
93:77
06/12/16 12:13:41
浮動小数点演算の計算時間を計測して、最適化一切なしで、SPE一基 ws Pen4 3.4Gをやってみました。
ともにGCC。すると、Pen4が25倍早い…。なんじゃあこりゃ!
これはいくらなんでもおかしいと思いつつ、最適化オプションを-O3つけてみたところ、CellもPen4も約1.5倍
くらい早くなりました。
それにしてもSPEはこれじゃあ遅すぎるなあと思いながら、
「Cellでがんばってみた」をのぞいていたら、expはexpfにしないと
float型として計算されないというのを目撃。
さっそくexpfに変更するとずいぶん早くなって、Pen4との差は約9倍にまで縮まった。
SIMDも一部だけ試してみたところ、4倍相当はやくなったので、全体にSIMDを使えば、
Pen4 の半分くらいまでの早さに迫れそうな予感。
「Cellでがん〜」も最終的にSPE一基でアスロン2/3くらいの早さになっている
ので、こんなもんかもしれない。
しっかし、Pen4にインテルコンパイラ使ったら、ぐっと差が広がりそう…。むなしい…。
94:デフォルトの名無しさん
06/12/16 12:58:37
しかしまあ、それが8個搭載されてるんだから、理論上データが増えれば増えるほどPen4を凌ぐことになるですか?
95:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/16 13:43:33
完全にSIMD化・パラレル化出来る処理で200GFlopsとかさ
どんだけ特殊環境ですか
SPU組み込み関数とか使って明示的にベクトル化すれば多少性能良くなるかも。
まあPen4でも同じなんだけど。
96:デフォルトの名無しさん
06/12/16 14:50:27
たしかねー、SPUは分岐予測をハードで持ってないから、
簡単にクリティカルなミスをおかすんじゃないかなー。
癖をつかんでやっとこLV1ってとこかも。。。
97:デフォルトの名無しさん
06/12/16 15:26:01
なんでPen4でプログラムしないの?
98:デフォルトの名無しさん
06/12/16 17:36:47
スレがそうだから?
っていうかそれってリンドバーグの事?
99:77
06/12/17 03:28:25
>97
もうある程度やって、あまりみこみがないならCellプログラミングはやめ
ようと思っているところ。プレステ3せっかく買ったのにもったいねー。
100:デフォルトの名無しさん
06/12/17 04:03:14
東芝が募集してるプログラムに応募でもしてみたら?
同等性能をPen4で出せたら、Cellイラネに同意しよう。
101:デフォルトの名無しさん
06/12/17 06:09:54
>>99
もし出せるようなら、ためしに組んでみた奴うp希望。
102:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/17 13:23:34
Pen4なら厳しいがCore 2 Duoなら余裕で勝てそうな勢いではあるな。
ゲームハードなんて5〜6年はスペック固定だしな。
103:デフォルトの名無しさん
06/12/17 14:56:19
cell SDK2.0 kitakita
104:デフォルトの名無しさん
06/12/17 22:05:14
ゲームハードなんてずっとスペック固定だよ
105:デフォルトの名無しさん
06/12/18 11:15:50
修理星のやつはできればコテつけれ。
誰が書き込んでるのか特徴があるので
つけなくてもわからなくは無いけど万度草。
106:デフォルトの名無しさん
06/12/18 20:38:17
>>77の人は諦めた?
今Linux板の方に、マンデルブロ集合書いてみたって人がいるよ。
67 :login:Penguin:2006/12/18(月) 13:54:57 ID:mz3eZPDt
ホビーで軽くC#で書いたのとSPEを使って軽く本気で書いたのとでは雲泥の差があるね。。。
マンデルブロ集合(解像度 = 2048x2048, 繰り返し = 1024回, 途中での発散判定無し) を描くプログラムを
1. C# / Windows (デュアルコア用にSystem.Threading使用)
2. C++ / PS3 (SPE6個を使って軽く最適化)
で、HDDに書き出す/ビットマップに変換する時間抜きで判定してみた。
1. 02:02:08.36
2. 00:00:02.11
…えーと、クロック(PC環境 == Pentium Dの2.66GHzのタイプ)を合わせても2887倍ですか…
なんかSSE2辺りで本気で比較したくなってきた。
107:77
06/12/19 06:34:14
まだあきらめてませんぞw
その後Cellの方のプログラムをSIMD化してみたんだけど、すんげはやくなった。
Pen4が4秒かかる計算がCellでは20秒。
ただしCellはSIMD化してるので、演算量は4倍。だからspe一基でPen4にほぼ匹敵。
普通の算術演算子でコードするより、SIMD用の関数でコードするほうが全然早いよう。
ベクトル演算だから4倍早いっていう意味じゃなくて。
a+bよりspu_add(a,b)のほうが断然レイテンシが小さいようだということ。
でもちゃんとクロック単位で計測とかしたわけじゃないんでわからんが。
108:デフォルトの名無しさん
06/12/19 13:04:23
>>107
アセンブラに抵抗が無いなら、gccの吐くコードの差を見てみれば?
a+bにかなりの無駄なコードが混入されてるのかも。
109:デフォルトの名無しさん
06/12/19 21:10:55
>>106
間違えなくトップガンです。
世界最初のトップガンとして認定しました。
おめでとうございます
110:デフォルトの名無しさん
06/12/19 21:29:38
>>109
そのトップガン君は
【SPE】PS3 Linux Part 4【YDL】 スレにいるよ。
111:デフォルトの名無しさん
06/12/19 21:46:03
>>109
ご案内
スレリンク(linux板)
112:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/19 23:03:33
相手がC#だからだと思うがwwwwwwwwww
113:デフォルトの名無しさん
06/12/19 23:05:20
>>112
C++でしかも、SSE2アセンブリで書き直したバージョンでもこうらしいよ。
78 :67:2006/12/19(火) 08:34:31 ID:7kKm0jbR
(>>76 続き)
PC : Pentium D 930 (2.66GHz) / 2GB Memory
このとき、結果がこんな感じだった。
PS3 : 1.87sec
PC : 57.32sec
比率(速度比のみ) = 30.65 : 1
比率(同クロック) = 25.48 : 1
ってとこか。結構速いねぇ。
# つーかC#が遅すぎる訳だが。
114:デフォルトの名無しさん
06/12/19 23:10:51
アセンブラで手書きが偉いと思う。先駆者の資格があるよ。
スレリンク(linux板:72番)
72 名前:login:Penguin[] 投稿日:2006/12/19(火) 01:09:42 ID:MFKqYgcJ
67氏には是非頑張ってもらいたい。
俺はSSEのアセンブラなんか書く気にならねーよ。なんだかんだいって
手を動かすヤツは偉い。と思う。
まあPS3なんて当分買えんけど。
同意。同意。
115:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/19 23:22:37
>>113
ソース読むまでは何とも言えんな。。。
NetBurstも結構コツが要るし。
まあPenDじゃCellの浮動小数のスループットには及ばないかもしれないが。
116:デフォルトの名無しさん
06/12/19 23:43:29
LSの空きメモリってどこで調べるの?
もしくはロードしたプログラムのサイズが得られればおおよその空きが分るんだけど
117:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/20 00:42:36
プログラムコードのサイズなんて
コンパイル時点でわかるだろ
しかも1命令4バイト固定だし
118:デフォルトの名無しさん
06/12/20 00:46:43
オブジェクトのサイズで見積もってるけどね。
実行バイナリは300KBもある罠。
119:デフォルトの名無しさん
06/12/20 01:19:29
heapサイズ取得とかは?
120:デフォルトの名無しさん
06/12/20 22:19:29
Cellスレとは思えないぐらいレベルが高い
さすがトップガンの本物の実力を見たぜ
121:デフォルトの名無しさん
06/12/20 22:31:24
>62
規定課題には学生しか参加できないんだな。
そんな制限要らないと思うがなー
122:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/20 22:44:58
SPEって7〜8個あるのに6つしか使えないんだな
123:デフォルトの名無しさん
06/12/20 22:45:18
>>122
それPS3の基本。
124:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/20 22:49:13
SPEは8個搭載します
↓
実際に動くのは7個だけです
↓
使えるのは6個だけです
↓
('A`)
ドラクエ発表以降店頭在庫がちらほらとか
ところで、中国が買いあさってるって、別の意味でヤバくね?
125:デフォルトの名無しさん
06/12/20 22:52:55
とりあえずPS3はダウンロード位別スレッドでやるべきだと思うんだよ
126:デフォルトの名無しさん
06/12/20 22:53:16
もう転売には適さないPS3だからNDS辺りに移動するんじゃね?
つーかCellの話に絞ってくれ。買い占め論はゲハでやれ。
127:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/20 23:05:25
ヒント:北朝鮮はアレはもう自滅を待つだけだが中共はヤバイよ
つーか、個人で使えるCellマシンが実質PS3一択だし。
そりゃ100万とか200万とかかければもっとメモリとか載るだろうけど。
128:デフォルトの名無しさん
06/12/20 23:07:56
>>127
キミが言いたいことは、たぶんキミより分かってるが
ゲハか政治でやってきてくれ。
中共ネタでなく、技術ネタのスレだ。
Cellの技術論やプログラミングの話以外は見たくない。
129:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/20 23:16:54
LSからのロードがレイテンシ6、ビット論理演算ですら2なんだけど、コンパイラの最適化MAXでどんくらいアンロールするもんなの?
130:デフォルトの名無しさん
06/12/20 23:33:55
サンプルコードくれれば試す
131:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/20 23:39:37
とりあえずこのへんヨロ
URLリンク(www.intel.co.jp)
とりあえず俺は今からVirtual PC上にFedora入れる
(Windows版シミュレータ作れよなー)
132:デフォルトの名無しさん
06/12/21 00:20:13
エンディアンが違うからか結果が異なるけどいいか?
133:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/21 01:04:46
エンディアンの違いが出るような処理だったっけ?
むしろIntelインラインアセンブラ要求するところがあるのが気になったが
134:デフォルトの名無しさん
06/12/21 01:12:20
アセンブリは時間計測とかだから即移植出来た。
それより、SPE向けにコンパイルしたら
.bss exceeds local store range
とかいいやがんの。んなでかくねーって。
135:デフォルトの名無しさん
06/12/21 02:20:09
>>124
別におかしくは無い。SPE7のうち1つはOSが使う物。
単にユーザーからは直接触れないってだけ。
136:デフォルトの名無しさん
06/12/21 18:49:48
逆に言うとOSは1つしか使えないの?
それともマスターがひとつ?
137:デフォルトの名無しさん
06/12/21 19:16:02
ハイパーバイザだよ。
7つのx86があって1つはVMWareが使ってデバイスをエミュレートして
中の人に6つのx86をそのまま見せてる、みたいなイメージ。
138:デフォルトの名無しさん
06/12/21 21:47:20
【SPE】PS3 Linux Part 4【YDL】
120 :67:2006/12/21(木) 20:37:59 ID:IJtDThab
ん〜変化が無いのは寂しいねぇ。
というわけで燃料投下。
中身はSPEプログラミングをちょっと楽にする
(適当に作った)ライブラリ/フレームワークです。
サンプル1個しかないけど…
URLリンク(n-exp.com)
この程度のライブラリでも面倒なモノはかなり吸収できてると思うんだ。
139:デフォルトの名無しさん
06/12/22 17:13:35
宣伝乙
問題はせっかく苦労して作っても
誰も使わない、使えない、評価できない、事だ
まさに豚に真珠、ぬかに釘、PGにCell、だ
140:デフォルトの名無しさん
06/12/22 17:37:36
俺は評価したぞ。
自分の持っている物より目新しいものは無かったからスルーしたが、今後に期待はしてる。
141:デフォルトの名無しさん
06/12/22 17:40:11
新しいことをやろうとしてる人を>>139みたいに言ってるのを見ると、
プログラムが好きな人間だったら貶めないと思うけどな。
未踏の地は踏みたくなるのが人間らしいと思う。
142:デフォルトの名無しさん
06/12/22 18:47:21
>>139
2chの二大嫌われ派閥の一つゲハ厨乙。
143:デフォルトの名無しさん
06/12/22 23:00:46
全部C++でラップしてしまってもいいんじゃまいかと思った。
144:デフォルトの名無しさん
06/12/22 23:17:55
>>139
自体煽りだからな。そう言う目で見れば脳内フィルター張れんだけど。
145:デフォルトの名無しさん
06/12/22 23:43:56
123 :67 :2006/12/22(金) 05:32:29 ID:C7rpnh+2
ベンチマークの方だけど、かなり間違いをやってたみたいで、現在のところ
最適化しなおしたSSE2 : 4.36秒
CELL版(ジョブスケジューリングあり) : 1.19秒
クロック当たり = 1 : 3.046
って感じ。分岐が思ったよりも負荷になってる感じかも。
146:デフォルトの名無しさん
06/12/23 02:19:53
オレ的には東芝のコンテストが気になり。
147:デフォルトの名無しさん
06/12/23 02:35:14
>>142
もう1つはなんだろ。
最悪板の1つがゲハなのは確実だけど。
148:デフォルトの名無しさん
06/12/23 04:09:54
ゲハとVIPと東亜&ハングル
他の板に街宣するからな。
149:デフォルトの名無しさん
06/12/25 19:20:32
Cellプログラミングのレシピ - PS3 Linux Information Site
URLリンク(cell.fixstars.com)
150:デフォルトの名無しさん
06/12/27 21:48:29
手元に Cell マシンが無いので試してないのだけど、
-fprofile-arcsや-fbranch-probabilitiesって実装されてる?
あるなら、プロファイルによるブランチヒントの挿入とかやってくれるかも。
動的な分岐予測を持ってないPPE/SPEにとってはありがたいと思うのだが。
151:デフォルトの名無しさん
06/12/28 00:11:13
LLVMとか
152:デフォルトの名無しさん
06/12/28 02:00:07
gcc3系列のプロファイルってRTLベースだからあんまりたいしたことやってない
153:デフォルトの名無しさん
06/12/28 10:04:13
それにヒントの挿入はやってない
154:デフォルトの名無しさん
06/12/28 10:53:32
PPEだけだと遅いってよく言われてるけど、実際自分で組んでみると速いな。
メモリ帯域が速いからかな?
ネットの情報を鵜呑みにせず自分の目で確かめた方がいいとおもた。
悪意のあるやつは「本当っぽいウソ」を書くからなあ。
なぜかそういう奴ほど検索で上位に来たりするんだよね。組織的にやってんのかな。
155:デフォルトの名無しさん
06/12/29 15:14:27
遅いと聞いてたから速いと思うんだろう。遅いと言ってる連中も同様に期待してたからだろう。
EE の時だって初めのうちは遅いと言われてた。
そのうちみんなコツをつかむさ。
156:デフォルトの名無しさん
06/12/29 22:46:06
確かに、速いとか遅いとか、具体的な数字を出さないのはイカンよね。
157:130
06/12/30 15:13:49
>>131
set_cache_stateを省略したらリンク出来た。
ただし>>132で言った通りエラーが起きている。
PPE:
testing the Sarwate algorithm..............................passed
testing the slicing by 8 over 64 bit algorithm.............error
passed
Slicing by 8 Algorithm (cycles/byte), 5.976562
CRC calculation error
Sarwate Algorithm: (cycles/byte), 18.777344
SPE:
testing the Sarwate algorithm..............................passed
testing the slicing by 8 over 64 bit algorithm.............error
passed
Slicing by 8 Algorithm (cycles/byte), 5.996093
CRC calculation error
Sarwate Algorithm: (cycles/byte), 22.332029
158:デフォルトの名無しさん
07/01/06 02:24:41
URLリンク(www.tgdaily.com)
だってさ。
どう入手したものか不明だけど、パフォーマンスは気になるなぁ。
159:デフォルトの名無しさん
07/01/07 19:10:39
>461 名無しさん必死だな sage New! 2007/01/07(日) 14:50:51 ID:oNdJEXRL
>SPEで、あるタスクを実行しながらDMAで次に実行するタスクのプログラムとデータを読み込み、遅延なくそれを繰り返すっていうことできるのかな?
こういう書き込みがあったんだが、案外簡単に作れそうな気がする。
1: SPEに流し込む為のバイナリ生成方法を確立
2: タスクを読み込むDMA部分を書いてSPEバイナリに入れる
処理が有限の小さなタスクを順次DMAで読み込んで実行する事が出来るな。
ちょっと面白い事が出来るかも。
問題は1だが、elfspeか何かのソースを読めばいけるのかね。
160:デフォルトの名無しさん
07/01/07 19:14:10
なにこの復活の呪文みたいな意味不明な専門用語の羅列
161:デフォルトの名無しさん
07/01/07 19:15:11
メモリ配分も解決しないといけないか。
現在のタスクが処理中のメモリと、DMAで読み込む次のタスクのメモリをどうするか。
メモリを半分に分割して、バイナリはPICにすべきか。
162:6(ry
07/01/07 19:43:59
>>159
固定アドレス用に作ってstrip したモノが一番手っ取り早いと思う。
可変にするとなると結構面倒。
163:デフォルトの名無しさん
07/01/07 20:09:13
固定アドレスにしてしまうと、現タスク処理中に、
次のタスクを読み込むのに支障がでないかい?
164:デフォルトの名無しさん
07/01/07 20:16:25
>>163
elfspeは参考にならなかったハズ…だし、
他のプログラムの実行中にELFをロードするメソッドもなかったはずだし、
そういう支障を来たさないためには、
・ ロードするアドレスに応じて(2つ以上の)バイナリを作っておく
・ 可変アドレスのためにダイナミックに(しかも手動で)ロードする (カーネルがやってるのと同じこと)
のいずれかが必要。
165:デフォルトの名無しさん
07/01/07 23:23:35
>>164
プログラムを差し替えたいなら SPU Overlay を使えば?
166:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/01/07 23:27:58
John the Ripperを移植しようかと思ってる俺
167:デフォルトの名無しさん
07/01/07 23:35:35
PS3買ったの?シミュ?
168:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/01/07 23:39:22
シミュ。
ってよりLinux嫌いなので
Excelでレイテンシ計算しながらコード書いてる。
そのLinux環境すらVPC
169:デフォルトの名無しさん
07/01/08 00:11:22
>>168
odd/even のパイプライン管理と 128個のレジスタ管理に Excel は必要だよな。
レジスタは結局いくつあっても足りねえ。
170:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/01/08 00:19:24
60GBが最安55000円くらいまで来たのでもうじき買い頃
てかHDDなしで\39,800希望
ノート用のHDDちょうど余ってるから
171:デフォルトの名無しさん
07/01/11 16:58:19
【CES】Cell家電なら著作権保護も万全です---IBM社が実演 - 組み込み開発 - Tech-On!
URLリンク(techon.nikkeibp.co.jp)
そういや、isolatedモードってPS3-Linuxとかでは使えないのかな。
仕様公開する気は無し?
172:デフォルトの名無しさん
07/01/13 12:20:27
RapidMind and Terra Soft Partner to Unleash PlayStation(R)3 for Linux Developers
URLリンク(home.businesswire.com)
173:デフォルトの名無しさん
07/01/22 02:32:04
よし!一からDMAの勉強をするぞ!
174:デフォルトの名無しさん
07/01/22 02:32:56
LSとLSのDMAをやるぞ!
175:デフォルトの名無しさん
07/01/22 02:34:55
URLリンク(kfs3.ncsa.uiuc.edu)
とりあえずこれを参考にしよう!
176:デフォルトの名無しさん
07/01/22 02:40:30
URLリンク(www.power.org)
これも参考になりそうだ!
177:デフォルトの名無しさん
07/01/22 02:47:13
ふむふむ、SPEのLSのアドレスは32bitの実行アドレスとしてあらわされるんだな!
実行アドレス?まあいいか。
178:デフォルトの名無しさん
07/01/22 02:49:42
他のSPEのLSにDMAするには、その32bitの実行アドレスのLSへのポインタがいるのだな!
179:デフォルトの名無しさん
07/01/22 02:50:49
そうか、だからDMAの前にmailで通信するのだな。
180:デフォルトの名無しさん
07/01/22 03:03:48
spu_writechは、SPU チャネルにデータを書き込む関数か。
MFC_WrTagMaskっていうチャネルがあるのかな?そうっぽいずら。
181:デフォルトの名無しさん
07/01/22 03:13:05
spu_read_in_mboxっていうのは、着てるメールを受け取るのね。眠い。また明日。
182:デフォルトの名無しさん
07/01/22 23:13:01
今日はちょっとDMAから離れて、条件分岐をif文無しでやる方法を学んだ。
183:デフォルトの名無しさん
07/01/22 23:25:26
URLリンク(www.power.org)
19ページ
分岐後の両方の計算をしておいて、分岐をなくすというやつ。
これってパイプラインの深いx86のcpuでも効果ありそうな気がするけど
どうなんだろうか。
184:デフォルトの名無しさん
07/01/23 01:08:26
x86でも効果あるし、実際使われてるよ。リンク先読んでないけど。
100を使うか200を使うかみたいのはコンパイラが値の差分でやるし、
aかbかみたいのもコンパイラオプションで強制すればcmovを使う。
でも効果があるのは予測出来なくてかつ超単純な演算に限られるから、
コンパイラが自動で行う事はあまり出来ない。
予測出来る場合は予測分岐でペナルティを無くせるし、
式が長いと両方計算するのは無駄。
ってことで、そこまで追いつめられる程の技量のあるプログラマは
当然各自意識してプログラミングする事になる。
ただ実際にはそこを考える前にアルゴリズムを見直す方が
何倍も何十倍も効果がある。
185:デフォルトの名無しさん
07/01/23 02:53:48
>184
すごく詳しく教えてくれてありがとう!
最後の部分だけど確かに条件分岐を減らしてみても、今の自分がやってる計算では
速度にほとんど影響なかった。普通にif文使わないのが面白かったのでやってみたけど
こだわって書いた割にはあまり甲斐がなかったなあ。
だから本当に速度出そうと思ったらプロファイルをやることが必要だなあと実感。
プロファイルの仕方もぼちぼちやっていこう!
186:デフォルトの名無しさん
07/01/23 04:11:15
条件分岐を減らすためにややこしくなったり、
プログラムサイズが増えて、キャッシュを圧迫なんて事もあるしな。
もしチューニングにこだわったプログラムを書きたくなったら、
Grate Code Vol.2を読むべし。まぁ>>184の言う通り、
アルゴリズムを見直したりするのが先だろうけど。
187:デフォルトの名無しさん
07/01/23 11:33:14
1. アルゴリズム&データ構造 ← データ構造を忘れない
2. 急所を探してそこだけチューニング
2.1 インラインとかマクロとか
2.2 intrinsicを利用
2.2 アセンブラを使う
キャッシュ&パイプラインを意識する&レジスタをうまく使う
間違ってもプログラム全体をチューニングしたりしない様に
188:デフォルトの名無しさん
07/01/23 16:00:10
うおー、みんなありがとう。このスレはなんかいい人ばっかだなあ。
チューニングとかって、具体的にどうやればいいかってcellで初体験
だから、わからないことが多くて、でも面白いね。
例えばパイプラインを意識したチューニングとか具体的にどうすれば
いいのかまだわかってないんだよね。speはアウトオブオーダーがない
から、それを意識しろとかね。とりあえず、本は入手してみるよ!
189:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/01/23 23:02:51
IA-32のMMXやSSEでもマスク生成命令あるけど、プレディケーションのためじゃない。
なぜなら普通に分岐予測ハードに頼った方がよっぽど効率がいいから。
190:sage
07/01/24 10:25:56
SPEとSPEとの間でDMAってできる?
191:デフォルトの名無しさん
07/01/24 18:42:50
自SPEと他SPEならできる。
まだ試してないから嘘言ってたらすまん。
192:デフォルトの名無しさん
07/01/24 22:33:22
SPE間の転送速度を実測するコードとかが公開されてます。
URLリンク(kfs3.ncsa.uiuc.edu)
やっぱcellの強みのひとつは、このリングバスの速い転送速度だと思うので
LS間の転送を習得したいのです!
193:デフォルトの名無しさん
07/01/24 22:49:31
ちょっとずつだけど勉強してくぞ!
spu_read_in_mbox
とにかく来たメールを読み込むのね。
194:デフォルトの名無しさん
07/01/24 23:05:24
spu_mfcdma32
spu_mfcstat
たいていこの二つは組でつかわれているんだよなあ。spu_mfcstatは転送を
待つか待たないかってことかな。このブロックのタイプをどう選ぶかが
ものによって重要な予感…。
195:デフォルトの名無しさん
07/01/24 23:08:24
spu_mfcdma32
spu_mfcstat
たいていこの二つは組でつかわれているんだよなあ。spu_mfcstatは転送を
待つか待たないかってことかな。このブロックのタイプをどう選ぶかが
ものによって重要な予感…。
196:デフォルトの名無しさん
07/01/25 00:07:18
URLリンク(kfs3.ncsa.uiuc.edu)
適当に眺めていたが、なかなか簡単にはわかんね。
PPEのプログラムから、順を追ってかないとだめそうだ。
ほんちゃんの帯域測定するためのDMAの前にいくつかDMAをやってて、
わかりにくい。
今日わかったこと
転送前に転送のためのいくつかの情報をmail or DMAで転送。
その後に本格的にDMA。
197:デフォルトの名無しさん
07/01/25 09:49:39
spe_get_ls でLSのアドレスを取得できるみたいだね。
198:デフォルトの名無しさん
07/01/25 16:09:41
>197
情報ありがとう!その関数で検索かけいいブログ見つけました。
URLリンク(blogs.yahoo.co.jp)
あとspe_get_lsはSPE run time libraryで解説が載ってるのですな。
URLリンク(www-306.ibm.com)
sonyのC/C++拡張のpdfしかみてなかったんで、こっちに気づけてよかった。
199:デフォルトの名無しさん
07/01/27 20:07:42
196と198の2つのSPEーSPE間のDMA転送をみて、ようやくわかってきた。
198のほうは、PPEとSPEがメール通知をしながら転送に必要な情報を取得しつつ、
SPE間のDMA転送をしている。
196のほうは、PPEであらかじめDMAに必要な情報を取得してしまって、それを
各SPEに先に送って、後はSPEにやらせるという感じかな(?)。
一回プログラムが始まったら、SPEで勝手にやってもらうというのが自分の
理想なので、196のほうを本格的にみていこうかな。ちょっとこっちは長いんだけどね。
200:デフォルトの名無しさん
07/01/31 04:53:02
ソニーがPS3のコストダウンに着手,「65nm世代の製造技術でCellの量産を開始した」
URLリンク(techon.nikkeibp.co.jp)
201:デフォルトの名無しさん
07/02/02 15:23:39
1台辺り3万円以上の赤字って言われてるからコスト削っても値下げはないな。
202:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/02 22:22:17
店頭レベルでなら現状4万切るところも出てるが
203:デフォルトの名無しさん
07/02/02 23:14:23
めも:うんどーずのeclipse+CDTでPS3に接続
ビルド:sambaでマウント。ssh/rshでホストベース認証(ssh-agentとかでも可?)、ビルドのコマンドにssh/rsh
デバッグ:新し目のgdbのソース(cygwinのパッケージのはだめ)をビルド、--target=powerpc64-ps3-linuxとか。ホストでgdbserver
204:デフォルトの名無しさん
07/02/04 04:42:06
LS間のdmaのレイテンシは、約100ns。core 2 duoのコア間はL2キャッシュ
介するならその10分の1…。
LS間のdmaでは、データは一回メインメモリにマップされて、それからdmaされるようだ。
なんで直でLS間で通信できないんだろうか。せっかくリングバスでつながっているのに。
たぶんメールのやりとりはできるんけど。
LS間の直の転送って自分が知らないだけでできるんだろうか?
205:デフォルトの名無しさん
07/02/04 04:53:08
204の疑問から、SPE間のデータ転送は、PPEを介して(結局メインメモリを介して)
やってもかわんないなあと今思っとります。データの転送量でいえばむしろへるし。
というのは、全SPE(6個)に全SPEと通信させたとして、6×6=36の通信が発生するのに対して、
全SPE→PPE→全SPEなら6(全SPE→PPE)+6(全SPE→PPE)=12の通信ですむから。
うーん、やっぱマルチコアは通信のことを考えるのがやっかいだ〜。
206:デフォルトの名無しさん
07/02/04 11:54:37
なんのこっちゃ?
207:デフォルトの名無しさん
07/02/04 14:03:32
>>205
Broadcastやりたいならpoint-to-pointは検討する迄もないだろ
208:デフォルトの名無しさん
07/02/04 14:15:55
>>204
LS間のDMAは、直に行っているぞ。
それから、PPE<->SPE より SPE<->SPEの方が高速。
SPE<->SPEは片方向の場合、理論値25.6GB/sに近い速度がでる。
209:デフォルトの名無しさん
07/02/04 17:14:49
>207
そうなんだけど、main memory<->lsのレイテンシよりls<->lsのほうが断然早い
と思い込んでたからそれに期待したのです。もし転送データ量自体は大して多くないなら、
多少転送量の無駄使いになっても、結局早く転送できるのでいいかと思ってたということです。
>208
いままでいくつか資料見てきたんですけど、ls-lsのDMAはメインメモリにマップされて、
転送というのしかみたことがないのです。以下の11ページなんかがその例。
URLリンク(www.internetconference.org)
実際のls<->lsのdmaのレイテンシは、main memory<->lsレイテンシと同じオーダーなので
そういうことだと思っています。以下でそれぞれのレイテンシが出てたはずです。
URLリンク(hpc.pnl.gov)
たしかにls<->lsのほうがほぼLSの帯域一杯使えるという点でははやいんですけど、
それほど多くないデータをちょくちょくやりとりしたいというときには、最低限通信にか
かるかかるレイテンシのほうが重要になってくると思うのです。
そのレイテンシにしても、ls<->lsのほうが、main memory<->lsよりも2倍くらい早いので、
いいんですけど、10−50倍並みの早いのを期待してたんで、ちょっと残念という感じです。
210:208, 209
07/02/04 17:43:29
実はにゅーらるねっとをCellでやろうと思ってます。
ちょっと特殊な用途を勝手に想定していたんで皆さん混乱させたかも。
ごめんなさい。
以下興味のあるひとは読んでみて下さい。
にゅーらるねっとはユニットが連絡しあうことで情報処理を行います。
Cellでやる場合、このユニットをSPEに振り分けて計算させるのがいいと思います。
ユニット同士の連絡のデータ量というのは、画像とか音楽のエンコードに比べると
、全然少ないと思うんですけど、連絡は常にしないといけないのです。
そうすると、リングバスの広い帯域で大容量データ転送というより、SPE間で
レイテンシの少ないこまごました通信をしたいということになるわけです。
211:デフォルトの名無しさん
07/02/04 20:26:43
ニューロン6個ってことは無いだろうから
ユニット一個に数百個のニューロンが含まれるとすると
256KBのLSではかなり辛くない?
それはさておき
一塊を複数のSPEで処理するのは(完全結合だと)通信が多過ぎて無理っぽい
もし多層モデルなら各層をSPEに割り当ててパイプライン的に処理した方が速かろう
いずれにせよ通信量が減る構成or構造を考えないとそっちがネックになるべ?
212:デフォルトの名無しさん
07/02/05 00:57:24
>> 209
真面目にやる気がある人みたいなんで
漏れが知ってる限りのことは教えてやろう
>ls-lsのDMAはメインメモリにマップされて、転送というのしかみたことがないのです。
メインメモリにマップされるってのは嘘だ。正しくは、実効アドレス空間にマップ、だな。
実体がメインメモリにあるんじゃない。メモリマップドI/Oみたいなもんよ。
まああれだ。IBMの記事とかにもたまに怪しいのがあるぐらいなんだから、
そーゆー怪しい所の記事をうのみにするのは、、、な。
で、問題のレイテンシだが、元々リングバスなんて帯域は広くても
レイテンシには弱いはずだな。それにSPEの物理的な距離の差でも
レイテンシは変わるはずなんじゃないか? 測ったことはないが。
あとちなみに、DMAだと128バイトってマジックナンバーがあるから
それに合わせた設計すると、転送量に気持ち余裕ができるぞ。
213:デフォルトの名無しさん
07/02/05 02:03:07
MMIOってのが解ってないんじゃ?
ぶっちゃけた言い方すれば、EAにマップされたSPU1のLSがあって、
SPU2がそのアドレスにDMA転送かけるってのは、(メインメモリは関係無く)
SPU1のLSに対する読み書きをするって事。
転送先のアドレスがメインのDRAMなりVRAMなり他のデバイスのメモリなりレジスタにマップされてれば、それぞれへの読み書きになる。
所で実際にニューロン1つにプロセッサ1個必要なら、EIBより外部バス(PS3ならGbEとか?)の方が問題になりそうな。知らんけど。
214:208, 209
07/02/08 03:03:05
>211
まだ最終的にいくつユニットをつかうとか決めてないんだけど、
なるべく多くのユニットでやって見たいなと思ってます。LSの容量の問題があるけど、
ユニット自身の計算している間に、DMAで次のユニットのデータをロード
するような仕組みでいけば、LSの問題は一応解消できるかなと思ってます。
面倒くさそうだけど…。
>>212、213
私、はずかしながらMMIOというものをわかっていませんでした。了解です。
PS3でクラスタ組むということもちょっと考えているんだけど、たぶんGbE
のレイテンシ(10μsオーダー?)なら、そこそこいけると思ってます。
とりあえず1台でできたら、次にやろうかな。きっとその頃にはPS3も安くなってるでしょう…。
215:209
07/02/09 03:40:26
あ、名前らん間違ってた
216:デフォルトの名無しさん
07/02/09 17:07:17
なにこのスパイの暗号みたいなスレ
217:デフォルトの名無しさん
07/02/10 02:04:40
>ユニット自身の計算している間に、DMAで次のユニットのデータをロード
>するような仕組みでいけば、LSの問題は一応解消できるかなと思ってます。
俺もこれやりたい。
libspe2には一応オーバレイの仕組みもあるけど、
そういうことをDMA使って自分でやりたいんだよね。
自分で組めばオーバレイのダブルバッファリングができるはずなので。
でもリンカのスクリプトとかわけわからんwwww
どっかに資料ないかなあ・・・
218:デフォルトの名無しさん
07/02/10 13:53:41
>>217
どこが分からないのかが分からないのであれだが
URLリンク(cell.fixstars.com)
これにセカンドバッファへの転送開始,バッファ切り替え,待ち,&ループ
を追加したんじゃダメなの?
219:デフォルトの名無しさん
07/02/10 15:26:18
>>214 がやりたかったのは多分そういう単純な
バッファリング(ダブルである必要は無いが)だろうな。
>>217 はテキスト、つまりプログラム断片を動的に読み込みたいんだろ。
グローバル変数とかが要らないんだったら、テキストセグメントの
アドレス指定してELFつくればなんとかなるんじゃね?
つか、libspe2にそんな機能あるの? リファレンスには載って
なかったような気がするが
220:デフォルトの名無しさん
07/02/10 18:02:24
オーバーレイなんて百害とまではいかないが一利ないよ。
221:デフォルトの名無しさん
07/02/10 18:32:34
>>219
CBE SDK2.0のISOイメージの中にあるpdfの、
cpbprg00.pdf (Software Development Kit 2.0 Programmer's Guide Version 1.0)
これの4章に説明があるよ。
IBMのサンプルコードにもoverlayっていうのがある。
一応テストしてみたけど、それなりに高価なのでループの中の関数には使えないな。(当然か)
ゲームループの中で数十回タスク切り替えする程度なら十分使えそうだけど。
222:デフォルトの名無しさん
07/02/10 22:34:51
>>220
分散メモリ環境だと
データ常駐,コード取っ替え引っ換え
コード常駐,データ取っ替え引っ換え
のどちらかでやるのが速そう
コード&データを取っ替え引っ換えってのもあるけど
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5394日前に更新/102 KB
担当:undef