2008.10.04 PCIビデオカード派生おバカ企画を一発。 現在、GeForce8600GTやGeForce8500GTを搭載したPCIビデオカードを取っ替え引っ替えしているわけだが、ここでふと思ったことがある。「最近はGPGPUがブームらしい。ところでGeForce PhysXができるんじゃね?」 ハイエンドゲーマーではない身としてはPhysxなんて特段興味もないので、アキバでPhysxボードが投げ売りされていても買うようなことはなかったのだが、ここ最近、GeForceドライバでPhysxがサポートされたとの話をWeb上で何度か(これとかこれとか)見かけた。そして、最新ドライバを標準インストールすると、勝手にPhysxドライバもインストールされていることに気がついた。 先述のWebページを見ても、動作条件はGeForce8シリーズ以降のGPUを搭載していて、必要なドライバがインストールされていることとしか書かれていない。となれば、インターフェースがPCI Expressでなくても動くってことだよね?AGPだってPCIだってVL-Bus(おぃっ!)だって(製品があれば)大丈夫なはず!まぁ、やってみればわかるってか? で、実はその前に最大の問題が一つ。PCIビデオカードの2枚刺しでちゃんと動作するんだろうか?Matroxのビデオカードならまだしも、メーカーもGPUチップも違うビデオカードを載せてちゃんと動いたら、それだけでもすごいことなんじゃないかと思ったり(笑) てなわけで、まずはAlbatoronのPCI8600GTL単体動作から。 スタートメニューの「NVIDIA Corporation」から「NVIDIA Physx Properties」を開き、設定のタブを開いて「GeForce Physx」を選択する。 これだけで、GPUが描画と物理演算の両方を行うモードになるらしい。 今回は、Physxが動作しているかどうかを確認するために、NVIDIAのWebサイトからGeForce Power Pack#1として無料でダウンロードできるプログラムのうち、Nurienのデモを使ってみた。 ※実行中の画面(実際は1024×768) ※実行後の画面 終了後、平均・最大・最小のFPSが表示される。なお、実行中のFPS表示部は文字色が変わり、低速だと赤・高速だと緑といったように実行状況を示しているようだ。 ということで、Albatoron PCI8600GTL単独でPhysxを動作させた場合のFPS値は以下のとおり。 Average FPS 1.5807いやぁかなり低い値ですな。ついでに、実行途中で描画異常が発生するため、本当にこの値が正しいかどうかも疑わしいところではあるのだが… 続いて、玄人志向のGF8500GT-P256Hを追加してみた。 ※上側がPCI8600GTL、下側がGF8500GT-P256H あっさりとBIOS、OSともに正常に起動し、ドライバのインストールが行われ、セカンドディスプレイとして正常に認識してくれた。この時点で、もう今回の企画の半分は成功したようなものだ!(笑) ※GeForceドライバのシステム情報 2枚刺しを認識すると、「NVIDIA Physx Properties」において「Select GPU for GeForce Physx」が選択できるようになる。ここで、Physx用に設定するGPUを指定可能となる。 今回は、GF8500GT-P256HをPhysx用として指定することにした。この状態で、先程のNurienのデモを動かしてみると以下のとおりの結果に。 Average FPS 5.1785おぉっ、PCI8600GTL単独の場合と比べて平均・最高・最小いずれのフレームレートとも上昇しているのがわかる。やはり、GPUが1つでは描画と物理演算の切り替えオーバーヘッドがかなり出るんだろう。 てなわけで、PCI接続のビデオカードでもNVIDIA Physxに対応可能、しかも2枚刺しにすれば物理演算速度は高速になるということが確認できた。問題は、PCIでやった場合のNVIDIA Physxってどの程度速いの?という点。 最後に、PCI8600GTLだけを積んでNVIDIA Physxを使用せずにCPUで演算させた場合のスコアを載せておく。 Average FPS 4.1403Celeron D 340Jでこの程度のフレームレートなら、最近のDual/QuadコアCPUなら当然もっと高速に動作可能なはず。さすがにALL PCIビデオカードでは対抗できないか(爆) ということで、GPGPUをやるときにはシェーダーユニットなどを豊富に積んだハイエンドクラスのGPUを積んだPCI Expressビデオカードを使ってね!という話であった。 |