在初始边界值PDEs的数值解中,在空间中采用并行性是很常见的。在时间离散化中采用某种形式的并行性的情况要少得多,并且并行性通常受到更大的限制。我知道越来越多的代码和已发表的作品展示了时间并行性,但是它们都不包含空间并行性。
是否有在空间和时间上都包含并行性的实现示例?我对出版物和可用代码都感兴趣。
在初始边界值PDEs的数值解中,在空间中采用并行性是很常见的。在时间离散化中采用某种形式的并行性的情况要少得多,并且并行性通常受到更大的限制。我知道越来越多的代码和已发表的作品展示了时间并行性,但是它们都不包含空间并行性。
是否有在空间和时间上都包含并行性的实现示例?我对出版物和可用代码都感兴趣。
Answers:
该PFASST(并联式近似方案在空间和时间)和PEPC(相当有效的并行库仑)算法,最近被一起使用,以实现在空间和时间上并行。
PFASST做时间并行,PEPC做空间并行。其结果最近在DD21大会上发表,我们已经为SC12准备了一份描述PFASST + PEPC组合的文件。
仅使用PEPC(即,仅在空间上平行),就显示了一个由400万个粒子组成的“小”问题(PEPC是平行的N体求解器)可以在JUGENE上很好地扩展至8192个核。除此之外,通信成本变得很高,并行效率开始下降。PFASST的添加使该固定大小的问题可以通过使用32个“时间”处理器(每个处理器由8192个“空间”内核组成)在262,144个内核上运行(即,我们填满了JUGENE)。
尽管时间并行算法的并行效率不是100%,但使用此PFASST + PEPC配置,使用32个PFASST处理器,我们可以获得约6.5倍的加速。
这是预印本的链接:大规模时空并行N体求解器
还有时空DG和连续Galerkin方法。选择正交后,在时间方向上具有结构化网格的时空DG等效于隐式Runge-Kutta方法。但是,时空DG方法允许在域的不同部分使用不同的步长,这种情况很难用隐式RK方法进行分析。时空多重网格方法也可以在这种情况下应用。
看看Parareal算法及其相关的工作,例如频谱延迟校正(简单的Google搜索会发现很多内容)。基本思想是在时间上使用粗略的“网格”并执行粗略的时间步进,然后再遍历它,并在更精细的时间尺度上执行校正。它似乎主要用于流体模拟中,但是我在电磁学领域,所以我真的不能多说。我知道的唯一原因是因为我参加了关于延迟校正方法的研讨会,并且很有趣的是,任何类型的并行化都可以及时完成。