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 系综,以及神经网络势能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目