我一直听说,轻松并行化是DG方法的优点之一,但是我真的不明白为什么这些原因中的任何一个也不适用于连续Galerkin。
我一直听说,轻松并行化是DG方法的优点之一,但是我真的不明白为什么这些原因中的任何一个也不适用于连续Galerkin。
Answers:
DG方法作为并行方法可能会引起更多关注的原因之一是,很容易看出该方法固有地局限于某个元素。DG方法中的耦合很弱,因为它仅通过相邻的边(或3d中的面)发生。因此,对于三角形或四边形,DG最多分别与三个或四个处理器通信。CG方法将包括元素角,因此元素角的化合价变得很重要。根据使用的网格生成器,此化合价可以是八个处理器(可能更高)。因此,对于CG方法,组装时间导数的成本可以被认为“更高”。对于频谱方法,这尤其值得关注,在频谱方法中,要传达的信息量可能非常大(并且随着每个分区大小的缩小,延迟隐藏可能会变得更加困难)。
但是CG组装它的时间导数所产生的额外成本可以通过不同的负载平衡策略来补偿。不同的网格划分策略(我最喜欢METIS)允许用户通过各种指标来平衡负载,例如,确保每个分区具有大约相同数量的元素或限制分区之间的通信量。我认为DG的讨论会很容易并行化的原因是,将问题天真地拆分成相等的部分可以提供非常有效的并行实现,甚至在某些情况下由于缓存效应而呈现超线性加速(请参见例如Baggag等人。或Altmann等。人)。CG可能需要更聪明的分区方法。因此,将空间离散从DG更改为CG,可能需要重新考虑如何将网格划分为子问题。
从我多年编写FEM软件的经验来看,我认为DG方案比CG方案更适合并行化的说法是伪造的。在DG论文的介绍中经常使用它作为DG方法的依据,但我从未见过它被实际研究该问题的参考所证实。它类似于NSF关于数字理论项目的每项提议,都将“密码学”视为具有更广泛影响的领域,这种说法也从未得到证实。
实际上,我相信,除了明确的时间步长方案以及可能需要转换质量矩阵的问题之外,如果有人调查了其中一种方案涉及的通信成本,DG方案就不会比CG方案好或坏。我的确是从实际意义上讲的:当然,可能必须传达较少的数据,但我想壁钟时间的差异对于所有其他操作程序对此数据所做的处理可以忽略不计。
当然,如果有人接受挑战证明我做错了,我会很高兴!
组装刚度矩阵时,必须将存储在连续(节点)FEM中的元素中的数据传递给其所有节点邻居。相比之下,DGFEM要求将元素数据传递到其所有面邻居。在1D中,节点和面邻居是相同的,但在3D中,差异可能会很大:对于规则的六面体网格,有26个节点邻居,但只有6个面邻居。对于具有许多高价顶点的不规则网格,CG的情况变得更糟,而DG的情况保持不变。