[an error occurred while processing the directive]

NVIDIAのGeForce用PhysXドライバを試す

今回PhysXドライバ試用にあたり、パラック状態でテストを行なった


 NVIDIAは、8月よりGeForce 8/9/200シリーズ用のPhysX対応ドライバを一般ユーザー向けに提供開始した。

 同ドライバは、CUDAに対応したGeForce 8/9/200シリーズで、CUDA対応ソフトと旧AGEIAの物理演算ライブラリ「PhysX」を走らせることができるドライバだ。プレス向けに配布されたドライバでの試用は、7月に多和田新也のニューアイテム診断室で一回紹介されているが、一般向けに配布されたドライバでは、GeForce GTX 200シリーズのみならず、GeForce 8/9でも利用可能になっているのが最大の特徴だ。

 GPGPUについて軽くおさらいをしておくと、GPUの高い演算能力を利用して、ハイパフォーマンスが要求される科学演算や物理演算をするというものだ。利用するにはソフト側の対応が必要であり、現時点ではそれほど多くは対応していないが、NVISION08などでも多数のソフトが対応を表明しており、今後対応ソフトがますます増えるだろう。

NVIDIAの公式デモである「Fuild」。流体のシミュレーションを行なっている PhysX対応ゲーム「Warmonger」。このデモ版もNVIDIAのホームページ「Force Within」で公開されている

●自由度の高い構成が可能

 最初にドライバの利用条件について説明しておく必要があるだろう。

 まず、最低限の条件として、GeForce 8/9/200シリーズのビデオカードを装着する必要がある。GeForce 7以前のシリーズでは本ドライバが対応しないため、8以降のカードが必須だ。

 ビデオカードを1枚だけ挿した場合、この1枚が描画処理と汎用演算処理のタスクをリアルタイムにスイッチングしながら行なう。スイッチングにはそれなりのレイテンシを挟むため、性能にオーバーヘッドが生まれる。

 しかしこのドライバでは、ビデオカードを2枚挿して、うち1枚を3D描画処理専用、残ったもう1枚を汎用演算専用として動作させることが可能である。設定はドライバの「PhysX Properties」から行なうことができ、この設定をした場合は1枚のみ利用時と比較して大幅にオーバーヘッドを減らすことが可能なはずだ。

 そしてこのドライバがさらにユニークなのは、

  1. 描画専用GPUと汎用演算専用GPUは異なる世帯/クラスGPUでも利用できる
  2. 2枚利用する場合にSLI非対応マザーボードでも利用できる

 という2点である。

 1はすなわち、ユーザーがSLIのように同じビデオカードを用意しなくても済むということだ。これはユーザーにとってのメリットは大きい。描画専用GPUには高性能で高価なハイエンドGPUを、汎用演算専用GPUとして廉価なエントリーGPUを搭載する、といった選択肢が生まれるので、コスト的にも消費電力的にもメリットがある。

 また、例えばGeForce 8800 GTXからGeForce GTX 280にビデオカードを買い替えた時でも、マザーボードに2本目のPCI Express x16スロットさえあれば、GeForce 8800 GTXを物理演算専用GPUとして活用できるわけで、過去の投資が無駄になることもない。

 2は、1とも絡むのだが、異なるGPUでも利用可能のため、SLI対応マザーボードは必須条件ではない。2枚のビデオカードさえ装着できればよく、一般的にPCI Express x16形状のスロットが2基あれば利用できる。

●Windows Vista利用時の注意

 今回テストするにあたり、CPUにCore 2 Quad Q6600(2.40GHz)、メモリ2GB、Intel X38 Express搭載マザーボード(DX38BT)、320GB HDD(7,200rpm)、OSにWindows Vista Ultimateの環境を用意した。

 物理演算専用に用意したビデオカードは、GeForce 9500 GT、GeForce 8600 GT、GeForce 8800 GTX、GeForce GTX 280の4枚。また、参考用としてBFG Technologies製のPhysXプロセッサ搭載カードも用意した。一方、描画用ビデオカードはGeForce GTX 280を利用した。

MSIのGeForce 9500 GTビデオカード MSIのGeForce 8600 GTビデオカード。前世代ではあるが、利用ユーザー数が多いと思われるためエントリー NVIDIAリファレンスのGeForce 8800 GTXビデオカード
エルザのGeForce GTX 280搭載ビデオカード。今回はこれを2枚用意し、片方を描画専用とした 参考までにBFG TechnologiesのPhysX PPU搭載カードも用意した

 ディスプレイドライバは最新のベータ版である「GeForce Release 177.92」、PhysXドライバも最新の「PhysX System Software 8.09.04」を利用した。

 なお、テスト時は、2枚目のビデオカードをマザーボードの一番下段にあるPCI Express x16形状のスロットに挿入してテストした。このスロットはサウスブリッジに接続されており、電気的にはx4レーンしか備えていない。このスロットを利用した理由は、PCI Express x4でも利用できるかどうかを確かめるだけでなく、排熱の問題からこのスロットを利用するユーザーは多いだろうと判断したためである。

 もう1つ付け加えておきたいのは、Windows Vista利用時は、物理演算専用のビデオカードにもディスプレイを接続しておく必要があるという点。これはVistaのWDDMドライバの制限によるもので、ディスプレイを接続しておかないと例え物理演算専用であっても動作しないためだ。

 2系統入力の液晶を利用し、片方をデジタル、もう片方をアナログ入力にして、無理やり2台として認識させようとしたが、やはり無理だった。切り替えた系統の情報しかビデオカードに伝達されないため、どちらか一方になってしまう。

GeForceは複数枚挿し対応で、物理演算をさせるカードを選択可能だが、そのカードにもディスプレイをつなげる必要がある 旧AGEIA製のPPUもPhysXのドライバを入れれば利用でき、GeForce PhysXと切り替え可能

 これに関しては、やはりハードルは高いと言わせざる得ない。1万円以下で売られているビデオカードに対して、実質2万円前後のディスプレイへの投資が必要になる上、設置スペースも増やすことになる。Windows XPではディスプレイの接続が必要とされないので、そちらを利用するという手もあるが、GeForce 8シリーズ以降はDirectX 10対応というもっとも重要なフィーチャーがあるため、XPを利用するメリットが薄れてしまう。ユーザー数を広げるためにも、MicrosoftとNVIDIAに早急な対応を求めたいところだ。

●3DMark Vantageで大幅なスコア向上を確認

 まずは3DMark Vantageを用いたCPUスコアのベンチマークを行なった。なお、グラフはデータを見やすくするため対数グラフとしたことを、あらかじめご了承いただきたい。

【グラフ1】3DMark Vantageの結果

 以前、多和田氏のコラム紹介された通り、3DMark Vantageでは、PhysXのライブラリを利用した物理演算のテスト項目「CPU Test2」がある。飛行機がゲートをくぐると、飛行機本体がバラバラになっていくというやや悲惨なベンチマークだが、PhysX利用の有無をオプションで選択することで、スコアに違いが生じるようになっている。

 注意したいのは、PhysX非利用時ではCPUのコア数と同じゲート数、PhysX利用時ではCPUコア数-1+3のゲート数が用意されるので、PhysX無しとありでは単純な比較にはならない。一方PhysXが利用でき、CPUコア数が一定ならば、物理演算カードの性能に左右されるので、性能の違いを比較することは可能だ。

 物理演算アクセラレーションが一切ない時のCPU Test2のスコアは、11.94となっている。これに旧AGEIAのPhysX PPUを追加すると24.41へ向上する。一方、GeForceを追加するとエントリークラスの9500 GTでも46.78という良スコアをマーク。旧ミドルレンジの8600 GTは44.37、8800 GTXは91.42、GTX 280は112.71という結果となり、それぞれのクラスに相応する結果となった。

 旧AGEIAは当初、PhysX PPUは物理演算に最適なアーキテクチャを備えており、物理演算を効率的にこなすことができるとしていたが、やはりGPUの性能向上が著しく、パワーで押し切られてしまった、ということだろうか。

 また、描画用ビデオカードとして使ったGTX 280にPhysX物理演算を割り当てたところ、スコアがさらに121.93に向上した。物理演算専用として割り当てたGeForce 280 GTXのスコアとの差は大きいので、誤差とは言えないだろう。

 おそらく、CPU Testでは描画の負荷が低いので、グラフィックス処理と物理演算処理のスイッチングがボトルネックになることはなく、逆にサウスブリッジに接続されたPCI Express x4バスが、物理演算にとってのボトルネックになるということを意味しているものと思われる。やはり物理演算はそれなりの帯域幅を消費するということだ。

 このほか、8800 GTXとGTX 280の差が思ったほど大きくないという点にも注目したい。9500 GTと8800 GTXがほぼ倍ほど差があるのに対し、8800 GTXとGTX 280の差は2割強にとどまる。もし、物理演算専用としてビデオカードの購入を考えているのなら、現在中古で2万円程度で入手できる8800 GTXも悪い選択肢ではないだろう。

Nurien Alphaのスクリーショット

 次に、Nurien Alphaによるベンチマークを計測した。これは韓国Nurienが開発した3D仮想空間をベースとしたSNSのテクノロジープレビューで、NVIDIAから現在入手可能となっており、対応ビデオカードがあれば誰でも試すことができる。ベンチマークは1,024×768(XGA)固定で行なわれ、結果はfps(Frame Per Second)で表示される。

【グラフ2】Nurien Alphaの結果

 このベンチマークはGeForce PhysX専用のため、CPUオンリーは12.24fps、PhysX PPU利用は14.0601fpsという悲惨な結果に終わっている。再生レートも×0.40倍となっており、処理が追いつかずスロー再生になってしまう。

 これに、9500 GTを追加するだけで30.097fps出るようになり、一気に実用範囲に入ってくる。そして8600 GTは28.806fps、8800 GTXは40.316fps、GTX 280は43.145fpsと順当にスコアが上がる。9500 GTと8600 GTは再生レートが×0.86前後で処理は完全とはいえないが、PhysXアクセラレートなしとは雲泥の差だ。ここでも8800 GTXが健闘していることがわかるだろう。

 また、描画用ビデオカード側に物理演算処理を割り当てたところ、結果は42.804fpsと単体時にと比較してややスコアが落ちた。このベンチマークは描画処理もそれなりに負荷があるため、グラフィックス処理と物理演算処理のスイッチングのボトルネックが現れたと言えよう。

 将来的に物理演算や描画負荷が高まった時に、このスイッチングによるボトルネックはさらに顕著になるだろう。このベンチからわかることは、現時点では、物理演算専用としてもう1枚ビデオカードを別途用意しておいた方が無難だということだ。

●GeForceへの投資効果が拡大、対応ソフトとドライバが課題

 以上見てきたように、新ドライバの物理演算のサポートによって、GeForceの可能性は広がったと言えるだろう。1枚での単体利用はもちろんのこと、2枚目へ新たに投資する可能性を広げることや、手持ちの旧製品を物理演算として再利用できる意味でも、大いに歓迎できる。

 残された課題は、やはりVista上で2台目のディスプレイを接続せずとも利用できるようになるための改善と、ソフトウェア開発側の対応だろう。いずれにしても、NVIDIAが業界全体に働きかければ対処できる課題であり、今後のトレンドになるだろう。今後の動きに注目したいところだ。

□NVIDIAのホームページ
http://jp.nvidia.com/
□ドライバのダウンロードページ
http://www.nvidia.co.jp/object/winvista_x86_177.92_beta_jp.html
□関連記事
【7月23日】【多和田】コンシューマユーザーにとっても現実味が増す「GPGPU」
http://pc.watch.impress.co.jp/docs/2008/0723/tawada147.htm
【2006年4月12日】【海外】物理シミュレーションで現実化し始めたGPGPU
http://pc.watch.impress.co.jp/docs/2006/0412/kaigai260.htm

(2008年9月26日)

[Reported by ryu@impress.co.jp]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.