線形連立方程式を解くためのマルチグリッド法をどのように並列化できますか?


11

私が理解しているように、マルチグリッド法は、同じ問題のより粗いバージョンを解決することで線形システムを解決し(低周波誤差を除去することにより)、高精度誤差を滑らかにするために細かいグリッドに投影し直します。大規模なシステムの場合、各グリッドレベルで反復法を並列に実装する方法を確認できます。このアプローチは並行してうまく拡張できますか?アルゴリズムに並行して利用できる並行性の他のソースはありますか?

回答:


14

並列幾何学的マルチグリッドは、構造化されたグリッドに簡単に実装できます。代数的で非構造化されたマルチグリッドはより技術的です。実装へのリンクについてはこの回答をご覧ください。

VlogcNNc2d3ddlog2logcN。実際のハードウェアでの同時実行性の増加が、より低い定数と加法の堅牢性の低下を正当化するデモをまだ見ていません。

O(N/P)

実際には、粗いグリッドはすぐに強力なスケーラビリティ制限に達します(それを超えると、プロセスを追加するとランタイムが増加します)。したがって、より小さなMPIコミュニケーターに常駐する必要があります。これにより、実装が若干複雑になります。粗いレベルの構造が多すぎて粗くなり続ける問題の場合、粗いレベルの解決がボトルネックになる可能性があります。

さまざまな並列マルチグリッドメソッドをテストするには、ごくわずかなユーザーコードで多くの異なるアルゴリズムを実行できるPETScなどのライブラリを使用することをお勧めします。


Adams(2001)リンクは機能しなくなりました。あなたが意図した記事はこれだと思います:ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1592790&tag= 1 。「マルチグリッドスムーザーのための分散メモリ非構造化ガウスザイデルアルゴリズム」私が間違っているかどうか教えてください。
-nukeguy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.