Many complex systems can be accurately modeled as a set of coupled time-dependent partial differential equations (PDEs). However, solving such equations can be prohibitively expensive, easily taxing the world's largest supercomputers. One pragmatic strategy for attacking such problems is to split the PDEs into components that can more easily be solved in isolation. This operator splitting approach is used ubiquitously across scientific domains, and in many cases leads to a set of ordinary differential equations (ODEs) that need to be solved as part of a larger "outer-loop" time-stepping approach. The SUNDIALS library provides a plethora of robust time integration algorithms for solving ODEs, and the U.S. Department of Energy Exascale Computing Project (ECP) has supported its extension to applications on exascale-capable computing hardware. In this paper, we highlight some SUNDIALS capabilities and its deployment in combustion and cosmology application codes (Pele and Nyx, respectively) where operator splitting gives rise to numerous, small ODE systems that must be solved concurrently.
翻译:许多复杂系统可通过一组耦合的含时偏微分方程(PDEs)精确建模。然而求解此类方程的计算成本可能极为高昂,轻易便会挑战全球最大型超级计算机的算力极限。解决此类问题的实用策略之一是将PDEs分解为更易独立求解的组件。这种算子分裂方法在科学领域得到广泛应用,许多情况下会导出一组常微分方程(ODEs),需在更大的"外层循环"时间步进框架中求解。SUNDIALS库提供了丰富的鲁棒性时间积分算法用于求解ODEs,美国能源部百亿亿次计算项目(ECP)已支持其扩展至百亿亿次级计算硬件上的应用。本文重点介绍SUNDIALS在燃烧学与宇宙学应用代码(分别对应Pele和Nyx)中的部分功能与部署,这些应用中算子分裂方法产生了大量需并行求解的小型ODE系统。