跳转到主要内容

并行Lammps Python接口 - 从一个串行Python进程或Jupyter笔记本控制mpi4py并行LAMMPS实例

项目描述

pylammpsmpi - 并行LAMMPS Python接口

Coverage Status Python package

使用 pylammpsmpi,您可以从一个串行Python进程或Jupyter笔记本控制一个 mpi4py 并行LAMMPS实例。内部,pylammpsmpi 利用 executorlib 通信接口将用户交互的串行Python进程与 mpi4py 并行LAMMPS实例连接起来。将 mpi4py 并行LAMMPS实例与整个工作流程分开的优势在于,工作流程可以编写为串行Python代码,同时仍然受益于LAMMPS的并行性能。然而,这会带来额外的数据传输成本,因为LAMMPS指针不能以这种方式传输,相关数据必须复制。因此,复制大型原子结构可能会降低与编写自己的完全 mpi4py 并行LAMMPS工作流程相比的 pylammpsmpi 接口性能。

接口

pylammpsmpi 模块针对不同的使用场景实现了三种不同的接口

  • pylammpsmpi.LammpsBase:最基本的接口是 LammpsBase,它实现了与默认 lammps.lammps 接口相同的命令,并返回相同的数据类型。通过此API与标准接口的兼容性,此接口通常是利用 mpi4py 并行LAMMPS实例加速基于串行LAMMPS的工作流程的最简单方式。
  • pylammpsmpi.LammpsConcurrent:受标准Python库中 concurrent.futures 模块的启发,pylammpsmpi.LammpsConcurrent 接口实现了与 pylammpsmpi.LammpsBase 类相同的API,但它返回一个 concurrent.futures.Future 对象,而不是在 mpi4py 并行LAMMPS实例完成一组给定命令的执行之前保持控制进程。这使得开发异步/并发工作流程成为可能。
  • pylammpsmpi.LammpsLibrary:最后,pylammpsmpi.LammpsLibrary 接口在默认的 lammps.lammps 接口之上添加了一个更高级的接口。此高级接口提供了对LAMMPS输入文件中使用的命令和热力学性质的直接访问。特别是对于熟悉LAMMPS输入文件的有经验的LAMMPS用户,此接口简化了从基于文件输入切换到使用Python接口的过程。

接口的选择取决于用户背景、经验和用户想要实现的模拟协议。尽管如此,内部所有三个接口都基于 pylammpsmpi.LammpsConcurrent 接口,因此它们使用一个额外的线程将 mpi4py 并行LAMMPS实例连接到串行Python进程或Jupyter笔记本。

文档

许可协议

pylammpsmpi 在BSD许可协议下发布 https://github.com/pyiron/pylammpsmpi/blob/main/LICENSE 。它是 pyiron 项目的一个分支 https://github.com/pyiron/pyiron ,因此如果您使用 pylammpsmpi 进行计算,并在科学出版物中发表了结果,请引用

@article{pyiron-paper,
  title = {pyiron: An integrated development environment for computational materials science},
  journal = {Computational Materials Science},
  volume = {163},
  pages = {24 - 36},
  year = {2019},
  issn = {0927-0256},
  doi = {https://doi.org/10.1016/j.commatsci.2018.07.043},
  url = {http://www.sciencedirect.com/science/article/pii/S0927025618304786},
  author = {Jan Janssen and Sudarsan Surendralal and Yury Lysogorskiy and Mira Todorova and Tilmann Hickel and Ralf Drautz and Jörg Neugebauer},
  keywords = {Modelling workflow, Integrated development environment, Complex simulation protocols},
}

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

pylammpsmpi-0.2.25.tar.gz (27.3 kB 查看哈希值)

上传时间 源代码

构建发行版

pylammpsmpi-0.2.25-py3-none-any.whl (30.7 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页