วิธีการรวบรวมและแก้ปัญหาระบบเมทริกซ์ในแบบคู่ขนานจากค่าที่สร้างขึ้นในโปรเซสเซอร์ที่แตกต่างกันอย่างไร


10

ฉันกำลังแก้ปัญหา Multiscale ใช้วิวิธ Multiscale วิธี (HMM) โดยพื้นฐานแล้วกระบวนการเฉพาะของฉันใช้กระบวนการวนซ้ำต่อไปนี้:

  1. แก้ปัญหาระบบเมทริกซ์ในพื้นที่จำนวนมาก
  2. คำนวณมูลค่าที่น่าสนใจจากโซลูชันของระบบภายใน
  3. ประกอบระบบเมทริกซ์ระดับโลกจาก "ค่าสนใจ" ในพื้นที่
  4. แก้ปัญหาระบบเมทริกซ์ทั่วโลก
  5. ใช้วิธีการแก้ปัญหาของระบบเมทริกซ์ทั่วโลกเพื่อสร้างระบบเมทริกซ์ท้องถิ่นใหม่

ทำซ้ำจนกว่าจะถึงเกณฑ์การลู่เข้า

เนื่องจากมีหลายท้องถิ่น (อิสระ) ระบบเชิงเส้นของสมการและหลายระบบสามารถใส่ลงในหน่วยความจำแรมท้องถิ่นผมคิดว่ามันเป็นที่ดีที่สุดในการโหลดหลายระบบ "ท้องถิ่น" ในแต่ละหน่วยประมวลผลและการแก้ปัญหาในแต่ละระบบตามลำดับ ( ดูคำถามที่โพสต์นี้ )

คำถามของฉันเกี่ยวกับกลยุทธ์ที่ดีที่สุดในการรวบรวมและแก้ไขระบบเมทริกซ์ทั่วโลก ในกรณีเฉพาะของฉันระบบโกลบอลเมทริกซ์นั้นมีขนาดเล็กพอที่จะพอดีกับหน่วยความจำ RAM ของโปรเซสเซอร์ นอกจากนี้เมทริกซ์ท้องถิ่นและทั่วโลกจะไม่เปลี่ยนขนาดระหว่างการวนซ้ำ ดังนั้นฉันคาดว่าหนึ่งในสามกลยุทธ์ที่เป็นไปได้:

  1. รวบรวม "คุณค่าที่น่าสนใจ" ลงในโปรเซสเซอร์เดียวและรวบรวม / แก้ปัญหาระบบเมทริกซ์ทั่วโลกตามลำดับในโปรเซสเซอร์เดียว
  2. คัดลอกค่าที่น่าสนใจไปยังโปรเซสเซอร์ทุกตัวและประกอบ / แก้ปัญหาระบบเมทริกซ์ทั่วโลกที่เหมือนกันตามลำดับในทุกโปรเซสเซอร์
  3. สมมติว่าแต่ละโปรเซสเซอร์มี "คุณค่าของความสนใจ" ที่จำเป็นในการสร้างบล็อกที่ต่อเนื่องกันของเมทริกซ์ระดับโลกจากนั้นเราสามารถรวบรวมพาร์ติชันของเมทริกซ์ระดับโลกในพื้นที่จากนั้นก็แก้ปัญหาพวกมันพร้อมกัน

ฉันเห็นข้อดี / ข้อเสียของแต่ละวิธี ในวิธีที่ 1 ไม่จำเป็นต้องมีการสื่อสารในขั้นตอนการแก้ไข แต่การสื่อสารไปยังและจากตัวประมวลผลหลักอาจกลายเป็นคอขวด (โดยเฉพาะอย่างยิ่งในระดับ) วิธีที่ 2 อาจต้องการการสื่อสารระหว่างผู้ประมวลผลเพิ่มเติมเพื่อรวบรวมโกลบอลเมทริกซ์มากกว่าวิธีแรก แต่ไม่จำเป็นต้องมีการสื่อสารในขั้นตอนการแก้ไขหรือในขั้นตอนการประกอบเมทริกซ์โลคัลที่ตามมา วิธีที่ 3 ไม่ต้องการการสื่อสารระหว่างผู้ประมวลผลสำหรับการประกอบของเมทริกซ์โลคัลหรือโกลบอล แต่ต้องการในการแก้ปัญหา

สมมติว่าแต่ละระบบโลคัลอยู่ในลำดับที่ xและมีระบบเมทริกซ์โลคัล xขอเพิ่มเติมสมมติว่าระบบเมทริกซ์ทั่วโลกมีขนาด x 3 ภายใต้สมมติฐานเหล่านี้กลยุทธ์หนึ่งในสามข้อที่กล่าวมาน่าจะนำไปสู่การแก้ปัญหาที่รวดเร็วกว่าของระบบโลก มีกลยุทธ์การทำแผนที่อื่น ๆ สำหรับ matrix ทั่วโลกที่อาจทำงานได้เร็วขึ้นต่อการวนซ้ำหรือไม่?10 3 10 3 10 3 10 3 10 3103103103103103103


คำถามที่น่าสนใจมาก ฉันหวังว่าบางคนมีคำตอบที่ดี
สอบถาม

nkn×knkn

106

kn

k<100O(n)

คำตอบ:


4

ฉันไม่คิดว่าจะมีกรณีใด ๆ ที่คุณต้องการแก้ปัญหาในอันดับที่ 0 การแก้ปัญหาซ้ำซ้อนนั้นเกือบจะดีกว่าเนื่องจากสำหรับสิ่งเล็ก ๆ allreduce นั้นมีประสิทธิภาพเท่ากับการลดและการคำนวณซ้ำซ้อนมีเพียงหนึ่งแทนที่จะเป็นสอง

อย่างไรก็ตามไม่ว่าจะคำนวณซ้ำซ้อนบนโหนดทั้งหมดหรือในส่วนย่อยหรือส่วนย่อยซ้ำซ้อนขึ้นอยู่กับขนาดของฮาร์ดแวร์และระบบ ดังนั้นคุณควรมีระบบที่สามารถทำสิ่งใดสิ่งหนึ่งได้ PCREDUNDANT ใน PETSc สามารถแก้ปัญหาซ้ำซ้อนในทุกกระบวนการบางกระบวนการหรือส่วนย่อยของกระบวนการในแบบคู่ขนาน

106


ยังไม่มีข้อความ=4096
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.