Skip to content

v1.0.0

Choose a tag to compare

@aboys-cb aboys-cb released this 24 Jul 15:19
844987d

🚀 NEPAdapters v1.0.0

NEPAdapters 的首个正式版本,将 NepTrainKit 中的 NEP 运行时拆分为可独立安装、测试和发布的计算适配层。

✨ 主要功能

  • 统一接口:提供 Python、C/C++ 和 LAMMPS 接口,后端必须显式选择;不可用或不支持时会明确报错,不会静默切换。
  • CPU 后端:支持普通 NEP、qNEP、spin NEP、dipole、polarizability 和 DFT-D3。
  • CUDA 后端:支持普通 NEP4/NEP5、qNEP direct 和 spin NEP,角向描述符扩展至 l_max=8。
  • Python 与 ASE:支持 NumPy batch、ASE calculator、模型信息检查和 descriptor 输出。
  • LAMMPS:提供 CPU nep/cpu 和 CUDA Kokkos nep/gpu/kk;nep/gpu 与 nep/gpu/kk/device 为兼容别名。

📦 安装与平台

支持 CPython 3.10–3.14:

  • Linux x86_64:CPU + CUDA
  • Windows x86_64:CPU + CUDA
  • macOS x86_64 / arm64:CPU
python -m pip install "nep-adapters[ase]"

Linux 和 Windows wheel 已包含 CUDA Runtime,使用 CUDA 后端只需兼容的 NVIDIA 驱动。

🧪 验证

  • CPU/CUDA 普通、spin 及 l_max=5..8 一致性测试通过。
  • RTX 4090 CUDA Release 测试 29/29 通过。
  • Windows CUDA wheel 已在 GTX 1050 Ti 上完成真实计算验证。
  • CPU OpenMP、LAMMPS MPI、wheel 内容及隔离安装检查通过。

⚠️ 当前边界

  • Python batch 要求全周期边界。
  • CUDA 暂不支持 dipole、polarizability、DFT-D3、type-dependent cutoff、typewise/flexible ZBL 和双隐藏层 ANN。
  • qNEP CUDA wheel 使用 direct reciprocal-space;LAMMPS CUDA Kokkos 暂不支持 qNEP。
  • LAMMPS GPU 仅支持 CUDA Kokkos device 路径;spin MPI 的正式验证范围为单节点。

Full Changelog: https://github.com/MagTheoryLab/NEPAdapters/commits/v1.0.0