AiiDA是什么

AiiDA是一个使用Python编写的开源复杂工作流设计和管理框架,旨在帮助从事计算科学(计算材料学,计算生物学等)的相关研究者可以更好的管理,编写,使用和分享复杂的工作流以及计算产生的有用数据。它使得在研究中复杂的计算流程的可重复性得以保证。

AiiDA实现并支持了ADES 模式的四大基石: (A)utomation(自动)、 (D)ata(数据)、 (E)nvironment(社区环境)、和 (S)haring (分享) (请参考 论文)。AiiDA支持的一些典型特性包括:

  • 工作流: AiiDA 可以用来创建并执行复杂的,自动文档化的工作流,来连接本地和远端计算资源上的多个计算代码。

  • 高通量: AiiDA的基于事件的工作流引擎支持成百上千(每小时)的带有检查点的计算例程。

  • 数据可验证性 AiiDA自动追踪所有可验证性图中(provenance graph) 的输入、输出和元数据,以保证计算的完全的可重复性。

  • 高级的查询检索特性: AiiDA的查询语言支持快速的千万个节点的图查询。

  • 插件接口: AiiDA 可以通过插件来支持各种计算代码,和各种数据分析工具,各种数据类型,任务调度工具以及远程连接方式等 (参见 公共插件库).

  • 高性能集群接口: AiiDA支持无缝的把你的计算从一个集群转换到另一个集群运行。AiiDA 兼容各种任务调度软件 SLURMPBS ProtorqueSGE 或者 LSF ,对这些任务调度工具AiiDA都是源生支持的。

  • 开放科学: AiiDA可以将全部或部分的数据库导出,以便于和同行分享,或上传至 Materials Cloud 以变 归档检索

  • 开源: AiiDA 通过 MIT 开源协议 发布

同时参见 已发表的得益于AiiDA的科学文献来自AiiDA 用户的推荐书