การแก้ PDE ในแบบคู่ขนาน

Jan 13 2021

ฉันได้อ่านวิธีการต่างๆเกี่ยวกับวิธีแก้ปัญหา pdes แบบขนานซึ่งแยกออกจากกันโดยใช้วิธีไฟไนต์เอลิเมนต์ ตัวอย่างเช่น:

  1. วิธีการสลายโดเมนที่ไม่ทับซ้อนกันดังที่กล่าวไว้ใน https://imsc.uni-graz.at/haasegu/Papers/Douglas-Haase-Langer/textbook.pdf บทที่ 5.2 แต่ละกระบวนการทำงานบนแต่ละโดเมนของตัวเองและเวกเตอร์โซลูชันมีการจัดเก็บที่สม่ำเสมอในขณะที่ด้านขวามือเมทริกซ์ส่วนที่เหลือและความแข็งมีที่เก็บข้อมูลเพิ่มเติม

  2. กระจายตาข่ายเป็นส่วน N โปรเซสเซอร์แต่ละตัวมีข้อมูลเกี่ยวกับโดเมนย่อยของตัวเองบวกกับเลเยอร์โกสต์ (Global solvers approach)

อะไรคือความแตกต่างระหว่างสองวิธีนี้ข้อดีข้อเสีย? โปรแกรม FEM ใช้วิธีการขนานใด

คำตอบ

6 WolfgangBangerth Jan 13 2021 at 10:21

การสลายตัวของโดเมนได้รับการพัฒนาในช่วงปลายทศวรรษที่ 1990 และต้นปี 2000 เนื่องจากอนุญาตให้ใช้ตัวแก้ PDE แบบลำดับซ้ำได้: คุณจะต้องเขียนกระดาษห่อหุ้มรอบ ๆ เพื่อส่งโซลูชันที่คำนวณไปยังโปรเซสเซอร์อื่นรับโซลูชันของโปรเซสเซอร์อื่นและใช้สิ่งเหล่านี้ เป็นค่าขอบเขตสำหรับการทำซ้ำครั้งถัดไป สิ่งนี้ทำงานได้ดีพอสมควรสำหรับโปรเซสเซอร์จำนวนน้อยที่ใช้ในเวลานั้น (ไม่กี่โหลถึงไม่กี่ร้อยตัว) แต่วิธีนี้ใช้ไม่ได้ผลกับโปรเซสเซอร์จำนวนมาก

แนวทางที่เกือบจะใช้กันทั่วไปในปัจจุบันเป็นวิธีที่สองที่คุณกำหนดโดยที่เราคิดว่าตาข่ายและระบบเชิงเส้นเป็นหนึ่งเดียวในระดับโลก มันจะถูกจัดเก็บในลักษณะที่กระจายข้อมูลไปยังโปรเซสเซอร์จำนวนมาก กล่าวอีกนัยหนึ่งเราไม่ได้แยกย่อยปัญหาให้เป็นปัญหาเล็ก ๆ เราเพียงแค่ย่อยสลายการจัดเก็บข้อมูลที่เกี่ยวข้องกับปัญหาระดับโลกเพียงปัญหาเดียว สิ่งนี้ต้องการการพัฒนาซอฟต์แวร์จำนวนมากในไลบรารีเช่น PETSc, Trilinos, libMesh หรือโครงการข้อตกลง II ที่ฉันเป็นผู้นำร่วม แต่ในทางกลับกันมุมมองนี้นำไปสู่วิธีการที่สามารถแก้ไขได้อย่างมีประสิทธิภาพและด้วยเหตุนี้พวกเขาจึงได้แทนที่วิธีการย่อยสลายโดเมนเป็นส่วนใหญ่ในช่วงสิบห้าปีที่ผ่านมา