การรวบรวม PETSc กับไลบรารี BLAS / LAPACK ภายนอกส่งผลกระทบต่อประสิทธิภาพการทำงานของเมทริกซ์แบบเบาบางหรือไม่หรือใช้ไลบรารีเหล่านั้นเพื่อคำนวณเมทริกซ์หนาแน่นเท่านั้น?
การรวบรวม PETSc กับไลบรารี BLAS / LAPACK ภายนอกส่งผลกระทบต่อประสิทธิภาพการทำงานของเมทริกซ์แบบเบาบางหรือไม่หรือใช้ไลบรารีเหล่านั้นเพื่อคำนวณเมทริกซ์หนาแน่นเท่านั้น?
คำตอบ:
PETSc ใช้ BLAS สำหรับเวกเตอร์ดั้งเดิมสองสามตัว แต่โดยทั่วไปจะถูก จำกัด ด้วยแบนด์วิดท์หน่วยความจำและไม่มีความแปรปรวนใน "การปรับให้เหมาะสม" มากนักดังนั้นจึงมีแนวโน้มที่จะไม่สร้างความแตกต่างด้านประสิทธิภาพมากนัก
นอกจากนี้ยังใช้ Lapack สำหรับการวิเคราะห์บางอย่างเช่น Lanczos หรือ Arnoldi ประมาณค่าลักษณะเฉพาะและค่าเอกพจน์ แต่โดยทั่วไปจะไม่คำนึงถึงประสิทธิภาพ
โดยทั่วไปการดำเนินการ "ระดับ 3" ที่หนาแน่นจะปรากฏเฉพาะในบริบทที่ไวต่อประสิทธิภาพเมื่อใช้ตัวแก้ปัญหาแบบเบาบางโดยตรงจากห้องสมุดบุคคลที่สาม (เช่น MUMPS, SuperLU, UMFPACK) ซึ่งในกรณีนี้การเติมจะนำไปสู่ปัญหาความหนาแน่นสูง โทรหา BLAS
หากคุณพึ่งพานักแก้ปัญหาแบบเบาบางโดยตรงเหล่านี้ที่นำไปใช้กับปัญหาที่มีขนาดใหญ่มันก็คุ้มค่าที่จะสร้างด้วยการปรับใช้ BLAS ที่ปรับแต่งไว้