Doğrusal bir denklem sistemini çözmek için çoklu ızgara yöntemini nasıl paralelleştirebiliriz?


11

Anladığım kadarıyla, multigrid yöntemi, aynı sorunun daha kaba bir versiyonunu (düşük frekans hatasını ortadan kaldırarak) çözüp yüksek frekans hatalarını düzeltmek için ince ızgaraya geri yansıtarak doğrusal bir sistemi çözer. Büyük sistemler için, her ızgara seviyesinde paralel olarak yinelemeli bir yöntemin nasıl uygulanabileceğini görebilirim. Bu yaklaşım paralel olarak iyi ölçekleniyor mu? Algoritmada kişinin paralel olarak yararlanabileceği başka bir eşzamanlılık kaynağı var mı?

Yanıtlar:


14

Paralel geometrik çoklu ızgara yapılandırılmış ızgaralar üzerinde uygulanması kolaydır. Cebirsel ve yapılandırılmamış multigrid daha tekniktir, uygulamalara bağlantılar için bu cevaba bakınız .

VlogcNNc2d3ddlog2logcN. Artan eşzamanlılığın daha zayıf sabitleri ve katkı yöntemlerinin daha az sağlamlığını haklı çıkardığı gerçek donanım hakkında bir gösteri görmedim.

O(N/P)

Pratikte, kaba ızgaralar hızlı bir şekilde güçlü ölçeklenebilirlik sınırına ulaşır (bunun ötesinde daha fazla işlem ekleme çalışma süresini arttırır), bu nedenle daha küçük MPI iletişimcilerinde kalmalıdırlar. Bu, uygulamaya biraz karmaşıklık katar. Kaba düzeylerin kabalaşmaya devam etmek için çok fazla yapıya sahip olduğu problemler için, kaba düzey çözme bir darboğaz haline gelebilir.

Çeşitli paralel çoklugrid yöntemlerini test etmek için, çok az kullanıcı koduyla birçok farklı algoritma çalıştırmanıza izin veren PETSc gibi bir kütüphane kullanmanızı öneririm .


Adams (2001) bağlantısı artık çalışmıyor. Kastettiğin makalenin bu olduğuna inanıyorum: ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1592790&tag=1 . "Dağıtılmış Bellek Yapılandırılmamış Çok Katlı Düzleştiriciler için Gauss-Seidel Algoritması" Yanlış olduğumu bana bildirin.
nukeguy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.