PETSc เคยใช้ประโยชน์จากห้องสมุด LAPACK สำหรับคณิตศาสตร์เมทริกซ์กระจัดกระจายหรือไม่?


10

การรวบรวม PETSc กับไลบรารี BLAS / LAPACK ภายนอกส่งผลกระทบต่อประสิทธิภาพการทำงานของเมทริกซ์แบบเบาบางหรือไม่หรือใช้ไลบรารีเหล่านั้นเพื่อคำนวณเมทริกซ์หนาแน่นเท่านั้น?


คุณสามารถใช้ LU เพื่อการปรับสภาพล่วงหน้า
stali

คำตอบ:


10

PETSc ใช้ BLAS สำหรับเวกเตอร์ดั้งเดิมสองสามตัว แต่โดยทั่วไปจะถูก จำกัด ด้วยแบนด์วิดท์หน่วยความจำและไม่มีความแปรปรวนใน "การปรับให้เหมาะสม" มากนักดังนั้นจึงมีแนวโน้มที่จะไม่สร้างความแตกต่างด้านประสิทธิภาพมากนัก

นอกจากนี้ยังใช้ Lapack สำหรับการวิเคราะห์บางอย่างเช่น Lanczos หรือ Arnoldi ประมาณค่าลักษณะเฉพาะและค่าเอกพจน์ แต่โดยทั่วไปจะไม่คำนึงถึงประสิทธิภาพ

โดยทั่วไปการดำเนินการ "ระดับ 3" ที่หนาแน่นจะปรากฏเฉพาะในบริบทที่ไวต่อประสิทธิภาพเมื่อใช้ตัวแก้ปัญหาแบบเบาบางโดยตรงจากห้องสมุดบุคคลที่สาม (เช่น MUMPS, SuperLU, UMFPACK) ซึ่งในกรณีนี้การเติมจะนำไปสู่ปัญหาความหนาแน่นสูง โทรหา BLAS

หากคุณพึ่งพานักแก้ปัญหาแบบเบาบางโดยตรงเหล่านี้ที่นำไปใช้กับปัญหาที่มีขนาดใหญ่มันก็คุ้มค่าที่จะสร้างด้วยการปรับใช้ BLAS ที่ปรับแต่งไว้


อย่างไรก็ตาม, PETSc ใช้ LAPACK สำหรับการประเมินค่า eigen / เอกพจน์ในกรณีของเมทริกซ์แบบกระจายอย่างไร? มันเป็นกิจวัตรที่ชาญฉลาดหรือบล็อก ScaLAPACK?
Alexander

การคำนวณซ้ำของ Arnoldi สร้างเมทริกซ์ Hessenberg ของมิติเท่ากับจำนวนการวนซ้ำ (พูด 30 หรือ 100) ค่า eigen- หรือเอกพจน์ของเมทริกซ์ Hessenberg ถูกคำนวณซ้ำซ้อนในแต่ละกระบวนการโดยใช้ LAPACK สิ่งนี้เร็วกว่าการพยายามทำแบบขนานมากเนื่องจากขนาดเล็กและข้อมูลถูกแจกจ่ายซ้ำซ้อน คล้ายกับ Lanczos
Jed Brown
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.