连续卷积的并行算法
Parallel Algorithms for Successive Convolution
AI总结:
本文提出基于积分算子展开的PDE离散化并行算法,采用区域分解与混合MPI/Kokkos设计,实现O(N)复杂度及高更新速率,并验证了可扩展性。
摘要:
在这项工作中,我们考虑了偏微分方程的替代离散化方法,这些方法使用包含积分算子的展开式来逼近空间导数。这些构造在积分项中使用显式信息,但隐式处理边界数据,这有助于提高方法的整体速度。该方法对线性问题被证明是无条件稳定的,并且其稳定性已在非线性问题中通过实验得到验证。此外,它在某种意义上是无矩阵的,即不需要求解线性系统,并且对于非线性项不需要迭代。而且,该方案采用了一种快速求和算法,使得方法的计算复杂度为$\mathcal{O}(N)$,其中$N$是沿一个方向的网格点数。虽然已有大量工作探索了这些方法背后的理论,但它们在大型计算环境中的实用性在很大程度上是一个尚未探索的话题。在这项工作中,我们通过开发适用于分布式内存系统的区域分解算法以及共享内存算法来探索这些方法的性能。作为第一步,我们推导了一个人为的CFL条件,该条件强制实现最近邻通信模式,并简要讨论了可能的推广。我们还分析了实现并行算法的几种方法,通过优化主要的循环结构和最大化数据重用。使用一种混合设计,分别采用MPI和Kokkos处理算法的分布式和共享内存部分,我们表明我们的方法是高效的,并且能够维持大于$1\times10^8$自由度/节点/秒的更新速率。我们提供了结果,展示了我们算法在使用几个不同偏微分方程测试问题时的可扩展性和多功能性,包括一个采用自适应时间步进规则的非线性示例。
英文摘要:
In this work, we consider alternative discretizations for PDEs which use expansions involving integral operators to approximate spatial derivatives. These constructions use explicit information within the integral terms, but treat boundary data implicitly, which contributes to the overall speed of the method. This approach is provably unconditionally stable for linear problems and stability has been demonstrated experimentally for nonlinear problems. Additionally, it is matrix-free in the sense that it is not necessary to invert linear systems and iteration is not required for nonlinear terms. Moreover, the scheme employs a fast summation algorithm that yields a method with a computational complexity of $\mathcal{O}(N)$, where $N$ is the number of mesh points along a direction. While much work has been done to explore the theory behind these methods, their practicality in large scale computing environments is a largely unexplored topic. In this work, we explore the performance of these methods by developing a domain decomposition algorithm suitable for distributed memory systems along with shared memory algorithms. As a first pass, we derive an artificial CFL condition that enforces a nearest-neighbor communication pattern and briefly discuss possible generalizations. We also analyze several approaches for implementing the parallel algorithms by optimizing predominant loop structures and maximizing data reuse. Using a hybrid design that employs MPI and Kokkos for the distributed and shared memory components of the algorithms, respectively, we show that our methods are efficient and can sustain an update rate $> 1\times10^8$ DOF/node/s. We provide results that demonstrate the scalability and versatility of our algorithms using several different PDE test problems, including a nonlinear example, which employs an adaptive time-stepping rule.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。