不连续的Galerkin是否真的比连续的Galerkin更可并行化?


Answers:


9

DG方法作为并行方法可能会引起更多关注的原因之一是,很容易看出该方法固有地局限于某个元素。DG方法中的耦合很弱,因为它仅通过相邻的边(或3d中的面)发生。因此,对于三角形或四边形,DG最多分别与三个或四个处理器通信。CG方法将包括元素角,因此元素角的化合价变得很重要。根据使用的网格生成器,此化合价可以是八个处理器(可能更高)。因此,对于CG方法,组装时间导数的成本可以被认为“更高”。对于频谱方法,这尤其值得关注,在频谱方法中,要传达的信息量可能非常大(并且随着每个分区大小的缩小,延迟隐藏可能会变得更加困难)。

但是CG组装它的时间导数所产生的额外成本可以通过不同的负载平衡策略来补偿。不同的网格划分策略(我最喜欢METIS)允许用户通过各种指标来平衡负载,例如,确保每个分区具有大约相同数量的元素或限制分区之间的通信量。我认为DG的讨论会很容易并行化的原因是,将问题天真地拆分成相等的部分可以提供非常有效的并行实现,甚至在某些情况下由于缓存效应而呈现超线性加速(请参见例如Baggag等人。Altmann等。人)。CG可能需要更聪明的分区方法。因此,将空间离散从DG更改为CG,可能需要重新考虑如何将网格划分为子问题。


8

从我多年编写FEM软件的经验来看,我认为DG方案比CG方案更适合并行化的说法是伪造的。在DG论文的介绍中经常使用它作为DG方法的依据,但我从未见过它被实际研究该问题的参考所证实。它类似于NSF关于数字理论项目的每项提议,都将“密码学”视为具有更广泛影响的领域,这种说法也从未得到证实。

实际上,我相信,除了明确的时间步长方案以及可能需要转换质量矩阵的问题之外,如果有人调查了其中一种方案涉及的通信成本,DG方案就不会比CG方案好或坏。我的确是从实际意义上讲的:当然,可能必须传达较少的数据,但我想壁钟时间的差异对于所有其他操作程序对此数据所做的处理可以忽略不计。

当然,如果有人接受挑战证明我做错了,我会很高兴!


5

就像大多数关于数值方案的一般性陈述一样,答案取决于您要查看的确切环境。首先,DG在并行化方面的优势主要体现在明确的时间积分方案中,这是因为

  • DG方案的单元局部质量矩阵(因此您不必全局应用质量矩阵的逆矩阵)
  • CPU本地工作量(体积积分)与通信相关工作量(边缘积分)的比率,尤其是对于较高阶数

虽然这些声明适用于通用DG离散化,但实际的 HPC应用程序(例如,使用数千个处理器)需要在并行化策略方面付出更多努力才能保持良好的扩展性。论文显示,例如,如何可以实现近乎完美的比例高达每个处理器一个细胞。对于连续的FEM,这当然是您无法期望的,但是如前所述,隐式方案是完全不同的事情。


1

组装刚度矩阵时,必须将存储在连续(节点)FEM中的元素中的数据传递给其所有节点邻居。相比之下,DGFEM要求将元素数据传递到其所有面邻居。在1D中,节点和面邻居是相同的,但在3D中,差异可能会很大:对于规则的六面体网格,有26个节点邻居,但只有6个面邻居。对于具有许多高价顶点的不规则网格,CG的情况变得更糟,而DG的情况保持不变。


是的,但是您所说的有什么实际意义?换句话说,如果您测量了在真正的FEM程序中传达这些元素的时间,并将其与计算矩阵项所需的时间进行了比较,那会不会很重要?
Wolfgang Bangerth,2014年

1

双曲线PDE的DG可以替代有限体积方案。与有限差分一样,在有限体积中,当您增加方案的顺序时,模板将增加。这使并行化更加困难,因为对于每个方案顺序,您都有不同的模具。在分区边界,您必须确保从该方案的特定顺序的邻居分区所需的所有单元格都可用。但是对于DG,无论方案采用什么顺序,每个小区都只能与其面部邻居进行通信。因此,在有限体积/差和DG之间进行比较,可以说DG更易于并行化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.