テクノロジーと科学の最新の話題を毎日配信中!!

NVIDIA PhysXとFlow、完全オープンソース化へ – RTX 50シリーズでの古いゲーム互換性問題に光明

Y Kobayashi

2025年4月7日

長らく一部が非公開だったNVIDIAの物理シミュレーションエンジン「PhysX」と流体シミュレーションライブラリ「Flow」のGPUソースコードが、ついに完全オープンソース化された。これにより、開発者や研究者はNVIDIAの高度なGPUアクセラレーション技術の核心にアクセス可能となり、技術コミュニティにおける学習、実験、イノベーションの促進が期待される。特に、古いPCゲームの互換性問題に関して、MODコミュニティによる解決策開発への道が開かれる可能性も指摘されている。

スポンサーリンク

GPUシミュレーションカーネルがついに公開

「それが今日、変わります」—NVIDIAのシミュレーション技術シニアディレクター、Adam Moravanszky氏はGitHubでこう宣言した。

2018年12月のPhysX SDK 4.0リリース以降、PhysXはBSD-3ライセンスの下でオープンソースとして公開されてきた。しかし、そこには重大な例外があった。GPUシミュレーションカーネルソースコードは含まれていなかったのだ。今回のアップデートで、PhysX SDKにはついに全てのGPUソースコードがBSD-3ライセンスの下で含まれるようになった。

具体的には、剛体力学、流体シミュレーション、変形可能なオブジェクトなどの機能を支える500以上のCUDAカーネルが公開された。CUDA (Compute Unified Device Architecture) はNVIDIAが開発した並列コンピューティングプラットフォームおよびプログラミングモデルであり、GPUの持つ膨大な計算コアを活用して、汎用的な計算処理を高速化する技術だ。CUDAカーネルは、GPU上で実行される個々の関数やプログラムを指す。PhysXでは、500を超えるCUDAカーネルが剛体(Rigid Body)の運動、流体の挙動、物体の変形といった複雑な物理シミュレーションをリアルタイムで処理している。

さらに注目すべきは、NVIDIAがリアルタイムのスパースグリッドベースの流体シミュレーションライブラリである「Flow SDK」のGPU計算シェーダー実装も完全にオープンソース化したことだ。Flowは火、煙、ガスなどの効果を生み出すための専用ライブラリで、これによりさらにリアルな流体表現が可能になる。

PhysXとFlowの違い

NVIDIA PhysX: 元々はNovodeX社によって開発されたリアルタイム物理演算エンジン。ゲームやロボティクスなどの分野で、物体のリアルな動きや相互作用(剛体の衝突、布やロープのような変形可能なオブジェクト、流体シミュレーションなど)を再現するために広く利用されてきた。

NVIDIA Flow: PhysXを補完する形でNVIDIAが開発した、特に流体(液体や気体)のシミュレーションに特化したライブラリ。疎グリッドベースのアプローチにより、効率的なリアルタイムシミュレーションを実現する。

「私たちは皆さんががこれで何を構築するのか楽しみにしています。探索し、実験し、そしてGitHubで問題やフィードバックを自由に投稿してください!」とMoravanszky氏は述べており、コミュニティの参加を強く促している。

今回のオープンソース化により、開発者はこれらの技術が内部でどのようにGPUを活用しているかを詳細に理解し、学習や実験、さらには独自のカスタマイズや最適化を行うことが可能になる。ライセンスは寛容なBSD-3であり、商用利用も含め、比較的自由な改変と再配布が認められている。

なぜ今なのか?技術的・戦略的背景

今回のオープンソース化の背景には、複数の要因が絡み合っている。

まず技術的には、GPUシミュレーションカーネルが公開されることで、ゲーム開発者はPhysXとFlowの内部動作を詳細に理解し、自社のプロジェクトに最適化された形で実装できるようになる。従来はブラックボックスだった部分が透明化されることで、カスタマイズの幅が大きく広がるのだ。

しかし、より切実な問題として浮上しているのは、NVIDIAの最新GPU世代「Blackwell」(RTX 50シリーズ)での互換性問題だ。これらの新世代GPUでは32ビットCUDAのサポートが打ち切られた。その結果、2010年代の名作ゲーム、例えば『Mirror’s Edge』、『Batman: Arkham Asylum』、『Metro 2033』、『Borderlands 2』などの32ビットPhysX実装に依存したタイトルで物理演算がCPUにフォールバックし、パフォーマンスが大幅に低下する問題が発生していた。一部の熱心なユーザーは、RTX 50 GPUとPhysX専用のRTX 3050を組み合わせるという奇抜な解決策まで模索していたほどだ。

互換性問題解決への道筋

NVIDIAにとって、この動きには戦略的意義がある。同社が推進する「Remix」—古いゲームをモダングラフィックスと高解像度ビジュアルアセットでリフレッシュする取り組み—との相乗効果だ。古いゲームの互換性問題を解決することは、Remixの採用促進にもつながる。

GPUカーネルのソースコードが公開されたことで、MODコミュニティがこの問題に対する解決策を開発する道が開かれた。具体的には、古い32ビットPhysXのAPIコールを、新しい64ビット環境や、あるいはGPUに依存しない形に変換する「互換性レイヤー」や「ラッパー」を作成できる可能性が出てきたのだ。もしこれが実現すれば、往年の名作ゲームを最新のハードウェアで、オリジナルの物理表現を損なうことなくプレイし続けられるかもしれない。

技術的にはさらに興味深い可能性もある。原則として、PhysXとFlowをCUDAから分離し、OpenCL/Vulkanなどのハードウェア非依存プラットフォームに移植することで、AMDやIntelのプロセッサでも動作させることが技術的には可能になる。「言うは易く行うは難し」ではあるが、オープンソースコミュニティの力を考えれば、不可能ではないだろう。

スポンサーリンク

物理シミュレーションの未来と応用可能性

PhysXはかつてゲームにおけるリアルな物理演算の代名詞だったが、近年はその立場に変化が見られる。例えば、業界標準エンジンのUnreal Engine 5は、独自の「Chaos Physics」エンジンを採用している。純粋なゲーム開発の文脈では、PhysXの重要性は相対的に低下しているかもしれない。

しかし、PhysXのGPUカーネルとFlowのシェーダーシミュレーションコードは、以下のような幅広い分野での応用可能性を秘めている:

1. 科学研究とシミュレーション

流体力学、気象モデリング、分子動力学など、科学研究分野での高精度シミュレーションに応用できる。特に、CUDAの並列処理能力を活かした大規模シミュレーションが可能になる。

2. 産業用途

製品設計における物理シミュレーション、建築物の構造解析、自動車の衝突テストなど、産業界での応用が期待される。リアルタイムシミュレーションにより、設計プロセスの効率化やコスト削減につながる可能性がある。

3. 教育とトレーニング

医療訓練シミュレーター、航空宇宙訓練、災害シミュレーションなど、リスクを伴う状況を安全に再現するためのツールとして活用できる。

4. AI・機械学習との融合

物理シミュレーションと機械学習を組み合わせることで、より効率的なロボットの動作計画や、自動運転車のシミュレーションなどが可能になる。PhysXとFlow SDKは、そのベースとなる物理エンジンとして活用できるだろう。

特に教育・研究分野では、これらの高度なシミュレーションコードは学習材料として極めて価値が高い。今回オープンソース化されたコードを見ることで、NVIDIAがどのようにしてこれらの複雑な物理現象をGPU向けに最適化しているのかを学ぶことができる。CUDAによる並列計算の実践例として、500以上ものカーネルは貴重な参考資料になるだろう。この動きがより広範な技術発展に寄与することへの期待は大きい。

NVIDIAのこの決断は、単に一つの技術をオープンにするだけでなく、物理シミュレーション分野全体の発展と、新旧のハードウェア間の互換性問題の解決に向けた重要な一歩と言える。オープンソースコミュニティの創造力と技術力が、今後どのような革新をもたらすのか注目される。


Sources

Follow Me !

\ この記事が気に入ったら是非フォローを! /

フォローする
スポンサーリンク

コメントする