This monograph presents the design, implementation, and evaluation of Pyroclast, a modular high-performance Python framework for large-scale geodynamic simulations. Pyroclast addresses limitations of legacy geodynamics solvers, often implemented in monolithic Fortran, C++, or C codebases with limited GPU support and extensibility, by combining modern numerical methods, hardware-accelerated execution, and a flexible object-oriented architecture. Designed for distributed and GPU-accelerated environments, Pyroclast provides an accessible and efficient platform for simulating mantle convection and lithospheric deformation using the marker-in-cell method and a matrix-free finite difference discretization. The work focuses on a scalable two-dimensional viscous mechanical solver that forms the computational core for future visco-elasto-plastic models. The solver includes a stress-conservative staggered grid discretization of the incompressible Stokes equations, a matrix-free geometric multigrid solver, Krylov and quasi-Newton methods, and MPI-based domain decomposition for distributed execution. Benchmarks evaluate performance and scalability. Shared-memory tests show strong scaling of the Stokes solver and demonstrate a 5-10x speedup on NVIDIA A100 GPUs compared to a multi-core CPU baseline. Distributed advection benchmarks show near-ideal weak scaling up to 896 CPU cores across seven compute nodes. These results demonstrate that Pyroclast achieves high performance while remaining accessible through a high-level Python interface. The framework also provides a blueprint for modernizing legacy geodynamics codes. Its modular architecture and Python-native implementation lower the barrier to entry while enabling interoperability with modern machine learning libraries, enabling hybrid physics-based and data-driven workflows.
翻译:本专著介绍了Pyroclast的设计、实现与评估,这是一个用于大规模地球动力学模拟的模块化高性能Python框架。Pyroclast通过结合现代数值方法、硬件加速执行和灵活的面向对象架构,解决了传统地球动力学求解器(通常采用单体式Fortran、C++或C代码库实现,GPU支持和可扩展性有限)的局限性。Pyroclast专为分布式和GPU加速环境设计,为使用标记点网格法和无矩阵有限差分离散化模拟地幔对流和岩石圈变形提供了一个易用且高效的平台。本工作重点研究了一个可扩展的二维粘性力学求解器,该求解器构成了未来粘弹塑性模型的计算核心。该求解器包含不可压缩斯托克斯方程的应力守恒交错网格离散化、无矩阵几何多重网格求解器、Krylov和拟牛顿方法,以及用于分布式执行的基于MPI的区域分解。基准测试评估了其性能和可扩展性。共享内存测试显示了斯托克斯求解器的强可扩展性,并证明在NVIDIA A100 GPU上相比多核CPU基准实现了5-10倍的加速。分布式平流基准测试在七个计算节点上使用多达896个CPU核心时,显示出接近理想的弱可扩展性。这些结果表明,Pyroclast在通过高级Python接口保持易用性的同时,实现了高性能。该框架也为现代化传统地球动力学代码提供了蓝图。其模块化架构和原生Python实现降低了入门门槛,同时实现了与现代机器学习库的互操作性,从而支持基于物理和数据驱动的混合工作流程。