NVIDIA Warpを基盤とするGPU高速化物理シミュレーションエンジン。ロボット工学者やシミュレーション研究者向け。
NVIDIA/warp
通常のPython関数をJITコンパイルし、CPUまたはNVIDIA GPUで実行できるカーネルに変換する、シミュレーション、ロボティクス、ML向けのPythonフレームワークです。
- スター
- 7,279
- フォーク
- 683
- 未解決の Issue
- 390
- 最終コミット
- 昨日
これは何?
Warpは通常のPython関数をJITコンパイルし、CPUまたはGPUで実行する効率的なカーネルコードに変換します。GPUアクセラレーションを活用したシミュレーション、ロボティクス、ジオメトリ処理、機械学習を対象としており、物理演算やジオメトリ処理向けのプリミティブを備えています。
Warpのカーネルは微分可能なため、PyTorch、JAX、Paddleとともに機械学習パイプラインで利用できます。パッケージはPyPIのwarp-lang wheelとして配布され、WindowsとLinux x86-64ではCUDAアクセラレーションを利用できます。macOS向けのwheelはCPUのみで動作します。
リポジトリには、物理シミュレーション、有限要素法、微分可能な最適化、タイルベースのGPUプログラミングを扱う豊富なサンプルに加え、Colabで開けるチュートリアルノートブックも含まれています。
主な機能
- 01通常のPython関数を、CPUまたはCUDA GPUで実行するカーネルにコンパイルします。
- 02カーネルは微分可能で、PyTorch、JAX、Paddleと連携できます。
- 03物理シミュレーション、ジオメトリ処理、ロボティクス向けのプリミティブを備えています。
- 04PyPIからwarp-langとしてインストールでき、サンプル用の依存関係も追加できます。
- 05シミュレーションや最適化を扱うサンプルとチュートリアルノートブックが付属しています。
ユースケース
- PythonからNVIDIA GPUを使って、大規模な粒子シミュレーションや流体シミュレーションを実行する。
- 微分可能なシミュレーターを構築し、PyTorchやJAXの学習ループに勾配を渡す。
- メッシュのレイキャスティングや等値面抽出などのジオメトリ処理をPythonで行う。
- CUDA C++を自分で書かずにGPUカーネルを試作する。
クイックスタート
- 1
PyPIからWarpをインストールする
pip install warp-lang - 2
Quick Startのコードにある重力シミュレーションの例を実行する(Pythonファイルとして保存して実行する)
使う前に知っておきたいこと
- LinuxおよびWindowsでCUDAアクセラレーションを利用するには、Turing(sm_75)以降のNVIDIA GPUと最近のNVIDIAドライバーが必要です。
- macOS用のwheelはCPUのみで動作し、Metalアクセラレーションには対応していません。
- CUDA 12環境では、別途+cu12 wheelを使用するか、ソースからビルドする必要があります。
収録されている特集
トピック
よくある質問
- warp とは?
- 通常のPython関数をJITコンパイルし、CPUまたはNVIDIA GPUで実行できるカーネルに変換する、シミュレーション、ロボティクス、ML向けのPythonフレームワークです。 Warpは通常のPython関数をJITコンパイルし、CPUまたはGPUで実行する効率的なカーネルコードに変換します。GPUアクセラレーションを活用したシミュレーション、ロボティクス、ジオメトリ処理、機械学習を対象としており、物理演算やジオメトリ処理向けのプリミティブを備えています。
- warp は無料で使えますか?ライセンスは?
- warp は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- warp は今もメンテナンスされていますか?
- 活発にメンテナンス中。warp の最終コミットは 2026年11月6日 です。
- warp は何に使えますか?
- PythonからNVIDIA GPUを使って、大規模な粒子シミュレーションや流体シミュレーションを実行する。 微分可能なシミュレーターを構築し、PyTorchやJAXの学習ループに勾配を渡す。 メッシュのレイキャスティングや等値面抽出などのジオメトリ処理をPythonで行う。 CUDA C++を自分で書かずにGPUカーネルを試作する。
- warp のインストール方法は?
- PyPIからWarpをインストールする: pip install warp-lang Quick Startのコードにある重力シミュレーションの例を実行する(Pythonファイルとして保存して実行する)
- warp はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/NVIDIA/warp
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
高スループットなロボットシミュレーション向けに、NVIDIA Warpを基盤として構築されたGPU高速化版MuJoCo物理シミュレーター。
JAXベースの剛体物理エンジン。アクセラレータ上で大規模並列かつ微分可能なシミュレーションを実行でき、ロボティクスやRLの研究に使えます。
Crazyflie 2.x向けに、CPUとGPUでバッチ処理可能な微分可能ドローンシミュレーションを実行するJAXベースのクアッドローターシミュレーター。
NVIDIA GPU上で高性能なディープラーニング推論を実行するSDK、TensorRTのオープンソースコンポーネント。プラグイン、ONNXパーサー、サンプルを含みます。
ロボット、車両、人体骨格などの多関節システムをシミュレーションする、オープンソースのC++マルチボディダイナミクスライブラリ。