物理演算処理装置( PPU )は、特にビデオ ゲームの物理エンジンにおける物理演算を処理するために設計された専用のマイクロプロセッサです。これはハードウェア アクセラレーションの一例です。
PPU が関係する計算の例としては、剛体ダイナミクス、軟体ダイナミクス、衝突検出、流体力学、髪と衣服のシミュレーション、有限要素解析、オブジェクトの破壊などが挙げられます。
このアイデアは、 GPU がメイン CPU の代わりにグラフィックス操作を実行するのと同じように、専用のプロセッサがコンピュータの CPU から時間のかかるタスクをオフロードするというものです。この用語は、 AgeiaがPhysXチップを説明するために作ったものです。CPU-GPU スペクトルの他のいくつかのテクノロジには、このテクノロジと共通する機能がいくつかありますが、Ageia の製品は、PPU 専用として設計、販売、サポートされ、システム内に組み入れられた唯一の完全な製品です。
歴史
初期の学術的なPPU研究プロジェクト[1] [2]であるSPARTA(リアルタイムアーキテクチャによる物理シミュレーション)は、ペンシルベニア州立大学[3]とジョージア大学で実施されました。これは、2次元に限定された単純なFPGAベースのPPUでした。このプロジェクトは、HELLASと呼ばれる、かなり高度なASICベースのシステムに拡張されました。
2006 年 2 月、 Ageia (後にNvidiaに合併)から初の専用 PPU PhysXがリリースされました。このユニットはパーティクル システムの高速化に最も効果的で、剛体物理演算ではわずかなパフォーマンス向上が測定されました。[4] Ageia PPU については、米国特許出願 #20050075849 に詳細が記載されています。[5] Nvidia/Ageia は物理演算処理用の PPU やハードウェア アクセラレーションを製造していませんが、現在は一部のグラフィックス処理ユニットでサポートされています。
AGEIA 物理X
PPU として宣伝された最初のプロセッサは、AGEIAというファブレス半導体会社によって導入されたPhysXチップと名付けられました。PhysX PPU を利用したいゲームでは、AGEIA のPhysX SDK (旧称 NovodeX SDK) を使用する必要があります。
これは、ローカル バンク メモリで動作するカスタムSIMD浮動小数点VLIWプロセッサの配列を制御する汎用 RISC コアと、それらの間の転送を管理するスイッチ ファブリックで構成されています。CPU や GPU のようなキャッシュ階層はありません。
PhysXは、ビデオカードの製造方法と同様に、3つの企業から提供されていました。主な製造元はASUS、BFG Technologies、[6] 、ELSA Technologiesでした。カードがすでにインストールされているPCは、 Alienware、Dell、Falcon Northwestなどのシステムビルダーから提供されていました。[7]
2008 年 2 月、Nvidia がAgeia Technologies を買収し、アクティブな ATi/AMD GPU を搭載したシステムで AGEIA PPU と NVIDIA GPU の PhysX 処理能力を最終的に遮断した後、PhysX は 100% Nvidia のものになったように見えました。しかし、2008 年 3 月、Nvidia は PhysX をすべての人にとってオープン スタンダードにすると発表しました。[8]そのため、主要なグラフィック プロセッサ メーカーは、次世代のグラフィック カードで PhysX をサポートすることになります。Nvidia は、新しいドライバーをダウンロードするだけで、リリースされた一部のグラフィック カードで PhysX を利用できるようになるとも発表しました。
学術研究 PPU プロジェクトに関する議論については、 物理エンジンを参照してください。
PhysX P1 (PPU) ハードウェア仕様
ASUSとBFG Technologies は、 AGEIA の PPU の代替バージョンである 128 MB GDDR3 搭載の PhysX P1 を製造するライセンスを購入しました。
- MIPSアーキテクチャをベースにしたマルチコアデバイスで、物理アクセラレーションハードウェアと「多数のコア」を備えたメモリサブシステムを統合している[9] [10]
- メモリ: 128 ビット インターフェース付き128 MB GDDR3 RAM
- 32 ビットPCI 3.0 (ASUS はPCI Expressバージョンのカードも製造)
- 球体衝突テスト:毎秒5億3000万回(最大能力)
- 凸衝突テスト:毎秒530,000回(最大能力)
- ピーク命令帯域幅: 毎秒200億
ハボックFX
Havok SDKはPhysX SDKの主要な競合製品であり、 Half-Life 2、Halo 3、Dead Risingなどの主要タイトルを含む150以上のゲームで使用されています。[12]
PhysX PPUに対抗するために、 Havok FXと呼ばれるエディションは、既存のカードを使用してATI(AMD CrossFire)とNVIDIA(SLI )のマルチGPUテクノロジーを活用し、特定の物理計算を高速化することを目指していました。[13]
Havok は物理シミュレーションをエフェクトとゲームプレイの物理に分割し、エフェクトの物理は (可能な場合) Shader Model 3.0命令として GPU にオフロードされ、ゲームプレイの物理は通常どおり CPU で処理されます。この 2 つの重要な違いは、エフェクトの物理はゲームプレイに影響しない (爆発によるほこりや小さな破片など) ことです。物理演算の大部分は依然としてソフトウェアで実行されます。このアプローチは、すべての計算を PhysX カード (存在する場合) に移動する PhysX SDK とは大きく異なります。
HavokがIntelに買収されて以来、Havok FXは棚上げまたはキャンセルされたようです。[14]
PPU 対 GPU
GPGPUへの推進により、GPU は PPU のジョブにより適したものになりました。DX10 では、整数データ型、統合シェーダー アーキテクチャ、およびより幅広いアルゴリズムを実装できるジオメトリ シェーダー ステージが追加されました。最新の GPU は、インデックス付きスペースで実行され、グラフィック リソースを必要とせず、汎用データ バッファーのみを必要とするコンピュート シェーダーをサポートしています。NVidia CUDA は、スレッド間通信と、スレッドに関連付けられた スクラッチパッド スタイルのワークスペースをもう少し提供します。
それにもかかわらず、GPU は、より長いレイテンシ、より遅いスレッドを中心に構築されており、テクスチャとフレームバッファのデータ パス、および低い分岐パフォーマンスを中心に設計されています。このため、GPU は PPU やCellとは異なり、ゲーム ワールドのシミュレーション タスクを引き継ぐための最適化があまり行われていません。
Codeplay Sieve コンパイラはPPU をサポートしており、Ageia physX チップは GPGPU タイプのタスクに適していると考えられます。ただし、Ageia がこの市場を追求する可能性は低いようです。
PS2 – VU0
PhysX とは非常に異なりますが、PlayStation 2のVU0 はPPU の初期の限定的な実装であると主張することもできます。逆に、PS2 プログラマーにとって PPU は VU0 の進化した代替品であると言えるでしょう。その機能セットとシステム内の配置は、物理や AI を含むゲーム更新タスクの高速化に向けられており、CPU が他の処理を行っている間に、独自の命令ストリームでそのような計算をオフロードできます。ただし、DSP であるため、ゲーム エンジンで有用な作業を行うには CPU に大きく依存しており、完全な物理 API を実装することはできないため、PPU として分類することはできません。また、VU0 は追加の頂点処理能力を提供することができますが、これはユニット自体というよりも、システム内の経路の特性です。
この使用法は、補助ユニットの汎用浮動小数点パワーがグラフィックスまたは物理の役割で CPU を補完するために使用されるという点で、Havok FX または GPU 物理に似ています。
参照
- 物理X
- アダプテバ
- 細胞
- デジタル信号プロセッサ
- グラフィックス プロセッシング ユニット (GPGPU) 上の汎用コンピューティング- PPU が設計されているのと同じ物理問題に既存の GPU を適用するため
- マイクロソフト ロボティクス スタジオ
- オープンCL
- 物理抽象化レイヤー
- スクラッチパッド RAM – Ageia PhysX PPU の分散メモリ アーキテクチャに関連
- ビジョン処理ユニット
- UA6528 価格と在庫
参考文献
- ^ S. Yardi、B. Bishop、T. Kelliher、「HELLAS: インタラクティブな変形可能オブジェクト モデリングのための特殊なアーキテクチャ」、ACM Southeast Conference、メルボルン、フロリダ州、2006 年 3 月 10 ~ 12 日、56 ~ 61 ページ。
- ^ B. Bishop、T. Kelliher、「変形可能オブジェクトモデリング用の専用ハードウェア」、IEEE Transactions on Circuits and Systems for Video Technology、13(11):1074–1079、2003年11月。
- ^ 「SPARTAホームページ」。Cse.psu.edu。2010年7月30日時点のオリジナルよりアーカイブ。2010年8月16日閲覧。
- ^ 「独占:ASUSがAGEIA PhysXハードウェアを発表」 AnandTech 2010年8月16日閲覧。
- ^ 「米国特許出願: 0050086040」。Appft1.uspto.gov。2020年2月10日時点のオリジナルよりアーカイブ。2010年8月16日閲覧。
- ^ “:::ニュースリリース:::”. 2006年4月26日時点のオリジナルよりアーカイブ。2011年6月8日閲覧。
- ^ 「BFG Tech の PhysX 広告」。Maximum PC。Future US。2006年5月。p. 6。ISSN 1522-4279。2009 年9 月 16 日閲覧。
- ^ Nvidia が AMD / ATI に PhysX サポートを提供 2008-03-13 にWayback Machineでアーカイブ
- ^ 「PhysX FAQ」。NVIDIA Corporation。2018年11月28日。
- ^ Nicholas Blachford (2006)。「Lets Get Physical: Inside The PhysX Physics Processor」。
- ^ 正当なレビュー - ASUS の AGEIA PhysX P1 カード
- ^ 「Havok を使用したゲーム」。2012 年 4 月 15 日時点のオリジナルよりアーカイブ。2007 年 2 月 19 日閲覧。
- ^ Havok FX 製品情報 2007-03-02 にWayback Machineにアーカイブ
- ^ Shilov, Anton (2007-11-19). 「GPU Physics Dead for Now, Says AMD's Developer Relations Chief」 Xbit Laboratories. 2011-12-01 時点のオリジナルよりアーカイブ。2007-11-26閲覧。
外部リンク
- AGEIA 公式サイト(現在は利用できません)
- AGEIA Physx プロセッサ Web サイト (利用できなくなりました)
- PhysX SDK を使用したプロジェクト (利用できなくなりました)
- BFG AGEIA PhysX カードのレビュー
- Planet PhysX ニュース & 情報ページ (利用できなくなりました)
- PC ハードウェア: AGEIA PhysX インタビュー (現在は利用できません)
- PC の視点: AGEIA PhysX 物理演算処理装置プレビュー (現在は利用できません)
- Havok FX 物理エンジン (ミドルウェア ライブラリ) SDK (利用不可)
- NVIDIA CUDA ツールキットと SDK
- PhysX ツールキットと SDK
