jax-md/jax-md

Differentiable, Hardware Accelerated, Molecular Dynamics

何を解決するか

従来の分子動力学(MD)パッケージは、しばしば複雑で専門的であり、CPUとGPUの実行には別々のコードベースが必要です。また、エネルギー勾配からの力の計算には通常、導関数の手動実装が必要です。JAX MDは、材料および微小スケールの相互作用のシミュレーションに向け、簡潔でハードウェア加速され、エンドツーエンドで微分可能なフレームワークを提供することで、これを簡素化します。

動作方法

JAXに基づいて構築されており、PythonコードをXLAにコンパイルすることで、CPU、GPU、TPU間でシームレスに実行できます。分子動力学を関数型かつデータ駆動型のプロセスとして扱い、データは配列に格納され、関数がこれらの状態を変換します。JAXの自動微分機能を活用しているため、シミュレーションパイプライン全体が微分可能であり、入力パラメータに対してシミュレーション結果の導関数を取ることが可能になります。

対象ユーザー

計算凝縮物質物理学および機械学習の研究者向けに設計されており、材料のシミュレーション、複雑な大規模現象の探索、微分可能な物理モデルの実装が必要な場合に適しています。

特徴

  • ハードウェア非依存: JAX/XLAを介してCPU、GPU、TPUで実行可能。
  • エンドツーエンドで微分可能: シミュレーションプロセス全体の自動微分が可能。
  • 関数型設計: 配列と変換関数を用いたデータ駆動型アプローチ。
  • 多様な応用: NVE、NVT、NPTアンサンブル、ニューラルネットワークポテンシャルを含む幅広いシミュレーションをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト