回答:
DGメソッドが並列メソッドとしてより注目される理由の1つは、メソッドが本質的に要素に対してローカルであることがすぐにわかることです。DGメソッドの結合は、隣接するエッジ(または3Dの面)を介してのみ発生するため、弱いものです。したがって、三角形または四角形の場合、DGはそれぞれ最大で3つまたは4つのプロセッサと通信します。CGメソッドには要素のコーナーが含まれますが、要素のコーナーの価数が重要になります。使用するメッシュジェネレーターに応じて、この価数は8つのプロセッサー(おそらくそれ以上)になります。したがって、時間微分をアセンブルするコストは、CGメソッドの場合は「より高い」と見なすことができます。これは特に、通信する情報の量が非常に大きくなる可能性がある(そして各パーティションのサイズが小さくなると、待ち時間の隠蔽がより困難になる可能性がある)スペクトル方式の場合に問題になります。
しかし、CGが時間微分を組み立てるためのこの追加コストは、別のロードバランシング戦略で補うことができます。異なるメッシュ分割戦略(私はMETISで最も農家です)により、ユーザーはさまざまなメトリックを通じて負荷のバランスをとることができます。たとえば、各パーティションにほぼ同じ数の要素があることを確認したり、パーティション間の通信量を制限したりできます。DGのコロシアムが容易に並列化できる理由は、問題を単純な部分に単純に分割すると、非常に効率的な並列実装が可能になり、キャッシュの影響により特定の場合に超線形速度が向上するためです(たとえば、Baggagなどを参照)。 。またはアルトマンら。)。一方、CGではより賢いパーティション分割方法が必要になる場合があります。したがって、たとえば、空間離散化をDGからCGに変更するには、メッシュをサブ問題に分割する方法も再検討する必要があります。
私が長年FEMソフトウェアを作成してきたことから、CGスキームよりもDGスキームの方が並列化に適しているという発言は奇抜であると思います。これは、DG論文の紹介でDGメソッドの正当化として頻繁に使用されますが、実際に質問を調査した参考文献で実証されたことはありません。これは、「暗号化」をより広範な影響のある領域として参照する数論プロジェクトに関するすべてのNSF提案に類似しています。この一般論では、これも実証されていません。
実際、私は、明示的な時間ステップスキームと、場合によっては、質量行列を反転する必要がある問題を除いて、DGスキームは、いずれかに関連する通信のコストを調査した場合、CGスキームより良くも悪くもないと考えています。これは実際的な意味での意味です。確かに、通信するデータが少なくて済むかもしれませんが、壁時計の時間の違いは、このデータに対して実行する他のすべての操作プログラムでは無視できると思います。
もちろん、私が間違っていることを証明するために誰かが挑戦してくれたら嬉しいです!
数値スキームについての最も一般的なステートメントの場合と同様に、答えは見ている状況によって異なります。まず第一に、並列化に関するDGの利点は、主に明示的な時間統合スキームの場合に利益をもたらします。
これらのステートメントは一般的なDG離散化に適用されますが、実際の HPCアプリケーション(たとえば、数千のプロセッサーを使用)は、適切なスケーリングを維持するために、並列化戦略に関してさらに努力が必要です。たとえば、このペーパーでは、プロセッサごとに1セルまでのほぼ完全なスケーリングを実現する方法を示しています。これは確かに継続的なFEMからは期待できないものですが、前述のように、暗黙的なスキームはまったく異なります。
剛性マトリックスを組み立てるとき、連続(節点)FEMの要素に保存されたデータは、そのすべての節点近傍に伝達される必要があります。対照的に、DGFEMでは、要素データをその隣接するすべての要素に伝達する必要があります。1Dの節点と面の隣接は同じですが、3Dでは差が非常に大きくなる可能性があります。通常の六面体メッシュの場合、26の節点の隣接がありますが、面の隣接は6つだけです。原子価の高い頂点が多数ある不規則なメッシュの場合、CGの状況は悪化しますが、DGの状況は変わりません。