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 系綜,以及神經網路勢能。
相關
- 專案
- 專案
- 專案
- 專案
- 專案