月別アーカイブ: 2007年8月

PS3 Linux ADDON-CD 20070817 版

そういえばそろそろあれが更新されていてもおかしくないな、
と 思って見に行ったらほんとにありました。
ftp linux Sony-PS3
来てます。 CELL-Linux-CL_20070817-ADDON

まず今回の大きな更新は カーネルが 2.6.23-rc3 になった ことです。
今まで 2.6.21-rc7 だけでなく 2.6.16 も含まれていましたが、
2.6.23-rc3 一本になりました。

2.6.23-rc3 では、あの shutdown/reboot できずに止まってしまう問題も
Wireless 接続できない制限も直っているようです。

さらに、ADDON-CD で特別に用意されていた Fedora のインストール
機能が無くなりました。

これはディストリビューション側の通常のインストーラで PS3 対応に
なったので、わざわざ用意する必要がなくなったためです。

対応ディストリビューション一覧は

 doc/HowToUsePS3Linux.html

に書かれているとのこと。見てみると下記3点が載っています。

・Fedora 7
  http://fedoraproject.org/
・Gentoo LiveCD(Beta)
  http://www.gentoo.org/proj/en/base/ppc64/ps3/
・Ubuntu 7.04
  https://help.ubuntu.com/community/PlayStation_3

もちろんここには載って無いけど YDL もあるし、他にも探せば
対応ディストリビューションがいろいろでてくるでしょう。

注意点は、これまで使われてきた ps3 オリジナルコマンド群
(ps3pf-tool) の名前が変更になったことです。

ps3videomode → ps3-video-mode
boot-game-os → ps3-boot-game-os
other-os-flush-util → ps3-flash-util

特に ps3videomode と boot-game-os は使用頻度が高いので要注意です。

各種ディストリビューションに反映されるのはいつになるかわかりませんので、
今後しばらくはとりあえず新旧両方の名前で試すと良いかもしれません。

PS3/PSP emobile EM・ONE 経由でリモートプレイ

前日のエントリの続きです。
PS3 リモートプレイで Folding@Home
さらに emobile の EM・ONE 経由のリモートプレイを試してみました。

PSP も無線LANルータだと比較的簡単に通信設定できるのですが
今回は EM・ONE を使う関係上 PC 経由で接続します。

使用した無線LANアダプタは Planex の GW-US54Mini です。
このアダプタはダウンロードできるユーティリティを使うことで
アクセスポイントとして機能させることができます。

ただし対応 OS が WindowsXP/2000/Me/98SE とのこと。
残念ながら Vista ではユーティリティが起動しませんでした。
以下 XP のノートPC で実験しています。
(結局 Lets R4 に XP を入れなおしました)

●GW-US54Mini のユーティリティインストールと確認

 ダウンロードした GW-US54Mini のユーティリティ・ドライバを
 インストールします。

 ドライバインストール後に GW-US54Mini を USB ポートに差し込むと
 認識し、無線LANアダプタとして使えるようになります。

 ノート本体にも無線LANアダプタが内蔵されているため、ここで追加
 されたアダプタの接続名は「ワイヤレスネットワーク接続2」に
 なりました。
 この名前は環境依存なので必要に応じて読み替えてください。

 マイネットワーク のプロパティを開き、Explorer の表示を詳細にすると
 ”ワイヤレスネットワーク接続2″ のデバイス名が
   「PLANEX GW-US54Mini 54Mbps Wireless Mini USB Dongle」
 となっていることが確認できます。

 このままでは無線LANアダプタが追加されただけなので、
 ユーティリティで動作モードを変更します。

●ユーティリティの設定

 アイコントレイに PLANEX GW-US54Mini ユーティリティのアイコンが
 入っているので、ダブルクリックして設定画面を呼び出します。
 無ければスタートメニューから起動します。
 ここで使用したユーティリティのバージョンは 2.18.0.0 です。

 (1) 右上の「動作モード:」を「アクセスポイント」に切り替え

 (2)「More Setting..」ボタンで次の画面へ

 (3) General Connection Setting の [Change] を押して
   SSID に適当な名称を入れて [Apply]

 (4) Authentication を「Shared Key」にする

 (5) WEP を「Enable」にする

 (6) WEP の右側の [Setting] ボタンを押す
   [変更] ボタンを押して、
    キー長は 64bit のまま
    キーフォーマットを文字列に変更
   キーインデックス #1 に
   任意のパスワードを5文字で入力。[適用] を押す。

 一番下の Bridge Adapter は「No Bridge」にしておきます。

●EM・ONE によるダイヤルアップ

 EM・ONE をモデムとして使い、インターネット接続できるように
 設定します。

 まずは EM・ONE 用の USB ドライバをインストールします。

 設定方法は EM・ONE のマニュアルダウンロードページから
 下記の 26_S01SH_UseAsModem.pdf を参照します。
  ・取扱説明書ダウンロード
 データ通信(モデムとして使用) 26_S01SH_UseAsModem.pdf

 マニュアル通りに設定し、ここで作った接続名を仮に
 「emobile EMONE」としておきます。

 マイネットワークのプロパティを開き、ダイヤルアップの欄に
 「emobile EMONE」が入っていることを確認します。

 EM・ONE を接続するとなぜか「ワイヤレスネットワーク3」が
 増えました。これでネットワーク接続の画面には

  ワイヤレスネットワーク
  ワイヤレスネットワーク2
  ワイヤレスネットワーク3

 と3つ並びます。
 非常に紛らわしいので後の設定で名前を間違えないようにします。

●接続を共有にする

 マイネットワークのプロパティで、ダイヤルアップの
 「emobile EMONE」を選択し、マウス右ボタンから
 プロパティを開きます。

 詳細設定で「インターネット接続の共有」にチェックを入れます。

 ホームネットワーク接続の欄は、GW-US54Mini で設定した接続を
 選びます。今回の設定では「ワイヤレスネットワーク2」が相当します。
 ここを間違えるとつながりません。

 共有設定したらダイヤルアップ接続してインターネットに
 つないでおきます。

●PSP をつなぐ

 ここから先は PSP の操作です。

 (1) 「ネットワーク設定」 を選択

 (2) 「インフラストラクチャーモード」 を選択

 (3) [新しい接続の作成] を選択

 (4) 「手動で入力する」 を選びます。

 (5) SSID を入力します。これは「●ユーティリティの設定」の (3) で
   登録したもです。

 (6) ワイヤレスLANセキュリティ設定を「WEP」にします。
 
 (7) WEPキーを登録します。「●ユーティリティの設定」の (6) で
   入力した5文字の文字列です。

 (8) アドレス設定は「カスタム」を選びます。

 (9) IPアドレス設定を「自動取得」にします。

 (10) DNS設定 を「自動取得」にします。

 (11) プロキシサーバーを「使用しない」

 (12) インターネットブラウザ を「起動しない」にします。

 (13) 接続名を適当につけて完了です。

 設定内容を保存したら接続の確認をします。

これで、PSP から PC+EM・ONE 経由でインターネットに接続できる
ようになりました。うまくつながったらセキュリティ設定をもっと
強くして大丈夫かもしれません。

ノートPCと EM・ONE さえ持ち歩けば、どこでも PSP でブラウザ接続
やダウンロードできるようになるわけです。(ゲームも未確認だけど
できるっぽいです。)

●リモートプレイでつなぐ

ここまできたらあとはリモートプレイで接続するだけです。

あらかじめ PSP と PS3 を USB ケーブルでつないでペアリング
しておく必要があります。
リモートプレイをする(インターネット経由)

もし可能なら、あらかじめ家庭内 LAN 接続でリモートプレイの接続
テストを済ませておくといいでしょう。
インターネット経由でのリモートプレイ時は、さらに
PLAYSTATION Network のアカウントを PSP 側にも登録する必要が
あります。がんばって設定します。

うまくいけばどこでもいつでも Folding@Home や「まいにちいっしょ」
を楽しむことができるでしょう。

今回は USB で EM・ONE をつなぎました。
もし Bluetooth 内蔵のノートだったら Bluetooth 経由で EM・ONE を
モデムにすることができます。ということは

 HSDPA → Bluetooth → 無線LAN → PSP

と3種の無線接続を経由することになりますね。

ちなみにレスポンス速度ですが、かなり電波状況の悪いところで
テストしたので速度はいまいちでした。EM・ONE の電波状態表示で、
常に 2本~圏外を行き来するような場所です。
EM・ONE 単体でテストしても 500Kbps くらい。

リモートプレイの設定は最低の 256Kbps で、かなりタイムラグが
あって画面の更新頻度もむらがあって、操作も待たされる感じでした。
画面の確認はできるし見てるだけならいいけれど、リモートプレイ
での操作は少々厳しいようです。
もう少し電波状況が良くて、1~2Mbps 出てる場所で試してみたい
ところです。

PS3 リモートプレイで Folding@Home

いつものように Folding@Home のアイコンを選んでそのままおいといたら
v1.2 への更新確認画面で止まったままでした。
たぶん 1WU くらい余裕で処理できる時間です。大失敗。

二度目の更新 v1.2 で Folding@Home もさらに改良されました。
Folding@home for PLAYSTATIONR3バージョン 1.2

特にリモートプレイへの対応は、以前 こちらの記事 で「強く希望」と
書いておきつつ、後から「やっぱり無理だよなと」思っていたので驚き。
早速試してみました。

Folding@Home Remote

リモートプレイを使うと、PSP でシミュレーション進行状況をモニタ
できるようになります。

家庭内でリモートプレイを使って PSP をサブモニタにしてもいいんで
しょうが、この機能が本領を発揮するのはおそらくインターネット
経由でのモニタリングでしょう。

出先でも進行状態を確認したり、シミュレーションを止めたり、
レスポンス速度を必要としないので相性がいいかもしれません。

リモートプレイの接続方法はいくつかあります。

・インターネット経由で接続する
・家庭内で接続する
  ・PS3直接接続
  ・無線ルータ経由

今回は「家庭内で接続する」だけ実験しています。

リモートプレイでどれくらいシミュレーション速度が遅くなるか見てみます。
本体だけで描画時 0.0728sec/frame くらいのデータが、
リモートプレイで 0.0796/frame ほどです。
この数値は起動直後の値なのであまり厳密ではないですが、
リモートプレイの方が必ず数値が大きく(遅く)なるようです。

ただし、1.2 で追加されたスクリーンセーバー解除直後は
リモートプレイ時でも 0.0732 くらいとそこそこ速い速度でした。
スクリーンセーバーのロゴ画面自体も通信で PSP に送られていますが、
圧縮負荷が低くあまり負担をかけないのかもしれません。
ちなみに本体だけだと、スクリーンセーバー解除直後はさらに速いです。
(0.0708 くらい)

リモートプレイで Folding@Home を起動し、そのまま PSP を切断しても
Folding@Home は動き続けています。PS3 側はリモートプレイ待機画面の
ままとなっており、PSP で再接続するとすぐシミュレーション画面を
見ることができます。

この待機状態でも画面の生成は行われているようで、シミュレーション
速度はリモートプレイ通信中と変わりませんでした。

リモートプレイ時でも、スクリーンセーバーが起動していれば
そこそこの速度になりそうです。
速度優先なら本体だけ+スクリーンセーバー時がやっぱり速いですね。
テストはすべてノーマルモードで行っています。

Direct3D 10 Shader4.0 RADEON HD2900XT の速度傾向

DirectX10 対応 GPU は表面上機能的な差が無いので、ハードの違いを
意識することがあまりなくなりました。

ATI(AMD) の RADEON HD2900XT を最初に使った印象がまさにそうで、
対応機能をチェックしたり、それぞれ個別に専用のシェーダーを用意
したりする必要も無さそうです。

これまで GeForce8800GTS/GTX 周りの Shader 実行速度を調べて
きました。やっぱり RADEON の結果も気になるでしょう。

実は RADEON のデータも取ってあります。
でも実時間よりもどうも遅い数値が出てるようで、いまいち信頼に
欠けるのです。

テストでプログラムは Query の TIMESTAMP を使っているのですが、
2倍の値が返ってきているように見えます。または Frequency が
半分なのかもしれません。プログラムの問題だとは思うのですが
まだ原因がよくわかっていません。
Catalyst 7.8 に上げても同じでした。

もう1点、使っているテスト PC の電源が足りないようです。
RADEON HD2900XT は本来、PCI-E 用の 8pin + 6pin の電源を使います。
マニュアルには一応 6pin + 6pin でも動作すると書かれていたので、
GeForce8800GTS/GTX と同じように 6pin + 6pin で動かしていました。

ただこれだと HD2900XT 本来の性能を発揮できず、動作クロックが
抑えられてしまうようです。

・測定された実行時間はおそらく 2倍の値(半分で実時間)になっている。
・電源が足りずに動作クロックが抑えられた状態になっている。

よって上記2点の理由により、測定値は絶対的な指標として他の
GPU との比較ができず、相対的に遅くなる条件や傾向の判断用の
データとなる点ご了承ください。

まずは先日の GTX と同じ、[loop] の方が高速になる unroll/loop
展開テストです。temporary register 数の増加がどれくらい実行
速度に影響を与えているか、その判断にもなるかと思います。
使用したドライバは Catalyst 7.8 です。

loop回数

  loop回数 [unroll] [loop] temp reg
      40     1225    1014      5
      60     2550    1400      7
      80     3340    1780     12
     100     8100    2160     15
     120     9600    2550     17
     140    11000    2950     18
     160    12500    3340     18
     180    13960    3710     18
     200    15436    4092     18

・縦 時間 (縦軸は半分の値と思ってください)
・横 ループ回数

テンポラリレジスタが増えると遅くなる傾向は GeForce8800 と
同じです。80(12)~100回(15) に大きな隔たりができています。
このあたりでおそらくレジスタ数と動作スレッド数のバランスが
崩壊しています。18固定後の負荷上昇率が意外に小さいので、
ループ処理自体の動作効率は良いようです。

100回以上は一定の上昇率なので、このケースではテンポラリ
レジスタ数 15以上はほぼ同じ負荷となっているようです。
ネイティブコード変換でぜんぜん違うプログラムに置き換わっている
のかもしれません。

テンポラリレジスタ数増加に対する耐性が弱く、比較的低い位置
で負荷が上昇するものの、シェーダー自体の実行効率は良いので
ループ回数が極端に増えれば良い結果がでそうです。
本来比較できない今のデータのままでも、場合によっては
GeForce の結果を追い越すかもしれません。
本来高速な条件では速度が伸びないけど、遅い条件でも割と耐える
感じです。

次に出力レジスタ(ラスタライザの補間パラメータ数)数と動作速度の
関係は下記のとおりです。内部の最適化 (VLIW化?) の影響なのか、
別のところに要因があるせいなのかわかりません。

出力レジスタ数
・縦 時間 (縦軸は半分の値と思ってください)
・横 出力レジスタ数

9~10まで一気に上昇するものの11でなぜか下がります。
11~15の数値はかなり速くなっており、出力レジスタ数の影響が
もともと無いのか、それとも意味が無いと思って最適化されたのか
もしれません。

Catalyst 7.8 にしたら今まで動いていたプログラムで動かなく
なったものがあるので 7.7 に戻しました。
安定したデータが取れるのはもうちょっと先になるかもしれません。
まずは電源を・・