AMReX is a software framework for the development of block-structured mesh applications with adaptive mesh refinement (AMR). AMReX was initially developed and supported by the AMReX Co-Design Center as part of the U.S. DOE Exascale Computing Project, and is continuing to grow post-ECP. In addition to adding new functionality and performance improvements to the core AMReX framework, we have also developed a Python binding, pyAMReX, that provides a bridge between AMReX-based application codes and the data science ecosystem. pyAMReX provides zero- copy application GPU data access for AI/ML, in situ analysis and application coupling, and enables rapid, massively parallel prototyping. In this paper we review the overall functionality of AMReX and pyAMReX, focusing on new developments, new functionality, and optimizations of key operations. We also summarize capabilities of ECP projects that used AMReX and provide an overview of new, non-ECP applications.
翻译:AMReX是一个用于开发具有自适应网格细化(AMR)的分块结构网格应用的软件框架。AMReX最初由AMReX协同设计中心作为美国能源部百万兆级计算项目(ECP)的一部分进行开发和维护,并在ECP结束后持续发展。除了为核心AMReX框架增加新功能和性能优化外,我们还开发了Python绑定库pyAMReX,为基于AMReX的应用程序代码与数据科学生态系统之间搭建了桥梁。pyAMReX为AI/ML应用提供零拷贝GPU数据访问、原位分析与应用耦合功能,并支持快速的大规模并行原型开发。本文综述了AMReX与pyAMReX的整体功能,重点介绍其最新进展、新功能及关键操作的优化,同时总结了使用AMReX的ECP项目的能力,并概述了新的非ECP应用。