The MolSSI Driver Interface Project: A framework for standardized, on-the-fly interoperability between computational molecular sciences codes

The MolSSI Driver Interface Project: A framework for standardized, on-the-fly interoperability between computational molecular sciences codes
复制标题

DOI:
10.1016/j.cpc.2020.107688
复制
发表时间:
2021-02-05
影响因子:
6.3
通讯作者:
Crawford, T. Daniel
Crawford, T. Daniel
中科院分区:
物理与天体物理2区
文献类型:
--
作者:
Barnes, Taylor A.;Marin-Rimoldi, Eliseo;Crawford, T. Daniel

文献摘要

被引文献

相似文献

MolSSI驱动程序接口(MDI)项目提供了一个标准化的API,用于计算分子科学代码之间的快速、实时通信。这大大简化了需要多个软件包合作的方法的实现过程,并使开发人员能够编写跨许多不同代码工作的单个实现。API足够通用以支持各种各样的技术,包括QM/MM、从头算MD、机器学习、高级采样和路径积分MD,同时还可以直接扩展。代码之间的通信由MDI库处理,MDI库使用MPI或TCP/IP方法实现可执行文件之间的紧密耦合。程序摘要程序标题:MDI库CPC库程序文件链接:https://doi.org/10.17632/8zppf699hm.1开发人员存储库链接:https://github.com/MolSSI-MDI/MDI_LibraryLicensing规定:BSD 3-clause编程语言:C、Python和Fortran 95问题性质:在独立编译的计算分子科学代码之间实现命令和数据的直接通信,延迟最小,并且符合MDI项目的要求。解决方案:通过MPI和TCP/IP通信协议的代码间通信是在库的上下文中实现的,关于通信协议的所有选择都是由最终用户在运行时做出的。根据预期的数据类型和长度验证消息,并提供自一致的单位转换。该库通过CMake构建,支持Unix、Linux、MacOS和Windows操作系统,以及使用C、C++、Python和Fortran语言的代码。其他注释包括限制和不寻常的功能:MDI库本身不执行任何科学计算,而是促进其他代码之间的通信。MDI库是更大的MDI项目的一个组件,这将在本文中更详细地描述。(C)2020爱思唯尔B. V.保留所有权利。
The MolSSI Driver Interface (MDI) Project provides a standardized API for fast, on-the-fly communication between computational molecular sciences codes. This greatly simplifies the process of implementing methods that require the cooperation of multiple software packages and enables developers to write a single implementation that works across many different codes. The API is sufficiently general to support a wide variety of techniques, including QM/MM, ab initio MD, machine learning, advanced sampling, and path integral MD, while also being straightforwardly extensible. Communication between codes is handled by the MDI Library, which enables tight coupling between executables using either the MPI or TCP/IP methods.Program summaryProgram title: The MDI LibraryCPC Library link to program files: https://doi.org/10.17632/8zppf699hm.1Developer's repository link:https://github.com/MolSSI-MDI/MDI_LibraryLicensing provisions: BSD 3-clauseProgramming language: C, Python, and Fortran95Nature of problem: Enabling direct communication of commands and data between independently compiled computational molecular sciences codes with minimal latency and in a manner consistent with the requirements of the MDI Project.Solution method: Inter-code communication via the MPI and TCP/IP communication protocols is implemented within the context of a library, with all choices regarding the communication protocol being made by the end-user at runtime. Messages are validated based on expected data type and length, and self-consistent unit conversions are provided. The library builds via CMake, with support for the Unix, Linux, MacOS, and Windows operating systems and for codes using the C, C++, Python, and Fortran languages.Additional comments including restrictions and unusual features: The MDI Library does not itself perform any scientific calculations, but instead facilitates communication between other codes.The MDI Library is a component of the larger MDI Project, which is described in more detail throughout this paper. (C) 2020 Elsevier B.V. All rights reserved.