คำถามติดแท็ก petsc

PETSc เป็นชุดโครงสร้างข้อมูลและกิจวัตรแบบโอเพ่นซอร์สสำหรับโซลูชันแอปพลิเคชันทางวิทยาศาสตร์ที่ปรับขนาดได้ (ขนาน) ซึ่งจำลองโดยสมการเชิงอนุพันธ์ย่อย

1
การแก้ระบบ Ax = b อย่างง่ายควบคู่ไปกับ PETSc
ฉันยังใหม่กับแพ็คเกจ PETSc ฉันมีเมทริกซ์ ~ 4000x4000 A ในรูปแบบเมทริกซ์ตลาดและฉันต้องการให้ PETSc แก้ปัญหานี้โดยใช้โปรเซสเซอร์หลายตัว ฉันรู้วิธีแก้ปัญหาระบบในโปรเซสเซอร์เดียว แต่ฉันไม่ทราบวิธีการกระจายเมทริกซ์และเวกเตอร์ระหว่างโปรเซสเซอร์ที่แตกต่างกัน มีคำแนะนำง่ายๆในการทำเช่นนี้หรือไม่?
10 petsc  matrix 

3
แรงขับสำหรับการเขียนโปรแกรม GPU
ฉันมากใหม่ในการเขียนโปรแกรม GPGPU ดังนั้นโปรดยกโทษให้ฉันถ้าคำถามไม่เหมาะสมโดยเฉพาะอย่างยิ่ง จากสิ่งที่ฉันเข้าใจการเขียนโปรแกรม GPU เป็นงานวิศวกรรมที่ซับซ้อนมากเมื่อเทียบกับการเขียนโปรแกรม CPU ปกติ สิ่งหนึ่งที่จะต้องระมัดระวังอย่างมากเกี่ยวกับปัญหาความแตกต่างการปูกระเบื้องการจัดสรรหน่วยความจำที่ตรึงไว้และการคำนวณอุปกรณ์สื่อสาร / อุปกรณ์โฮสต์ซ้อนทับกัน หลังจากทำวิจัยเล็กน้อยฉันพบห้องสมุดแรงผลักดันซึ่งดูเหมือนว่าพยายามเลียนแบบ C ++ STL มันค่อนข้างดี อย่างไรก็ตามจากประสบการณ์ที่ จำกัด มากของฉันและการได้เห็นการจัดการไมโครที่จำเป็นทั้งหมดเพื่อให้ได้ประสิทธิภาพที่ดีฉันค่อนข้างสงสัยเกี่ยวกับประสิทธิภาพ แรงขับสามารถจัดการกับส่วนการเขียนโปรแกรมที่ซับซ้อนทั้งหมดได้อย่างมีประสิทธิภาพภายในหรือไม่? ห้องสมุดที่รู้จักกันดีบางแห่งเช่น PETSc ดูเหมือนจะใช้แพ็คเกจนี้ซึ่งทำให้ฉันเชื่อว่ามันควรจะเป็นอย่างใด ฉันสงสัยว่าคนที่มีประสบการณ์เกี่ยวกับ CUDA และแรงผลักดันอาจพูดคำหนึ่งหรือสองเกี่ยวกับประสิทธิภาพของแพ็คเกจเมื่อเทียบกับการเขียนโปรแกรม CUDA ระดับต่ำ ฉันสามารถใช้แรงขับได้เมื่อใดและฉันควรเปลี่ยนกลับเป็น CUDA เมื่อใด

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

3
มีแพ็คเกจ FEM“ น้ำหนักเบา” หรือไม่?
โดยทั่วไปแล้ว FEM ดูเหมือนจะเป็นปัญหาที่ "แก้ไข" ได้ค่อนข้างมาก มีเฟรมเวิร์กที่ทรงพลังมากมายเช่น Trilinos, PETSc, FEniCS, Libmesh หรือ MOOSE สิ่งหนึ่งที่พวกเขามีเหมือนกัน: พวกเขาเป็น "น้ำหนักมาก" ก่อนอื่นการติดตั้งปกติจะเจ็บปวดสุด ๆ ประการที่สองอินเทอร์เฟซ / API หนาและหนา - คุณต้องแปลความคิดทั้งหมดของคุณให้เป็นความคิดของห้องสมุดที่เกี่ยวข้อง นั่นหมายความว่าการทำงานร่วมกันและการขยายสำหรับข้อกำหนดพิเศษหรือรหัสที่มีอยู่เป็นเรื่องยาก โครงการอื่น ๆ เช่น (ตัวอย่างแบบสุ่ม) Boost, LibIGL, Aztec (ตัวแก้ปัญหาเชิงเส้น), Eigen หรือ CGAL แสดงให้เห็นว่าเป็นไปได้อย่างแน่นอนที่จะเขียนไลบรารีที่ทรงพลังที่รวมเข้ากับโค้ด C ++ หรือ Python ได้อย่างราบรื่นโดยไม่ต้องติดตั้ง ของกรอบหนักสุด มีแพ็คเกจที่เบามากสำหรับ FEM หรือไม่? ฉันไม่ได้มองหาวิธีแก้ปัญหาที่ง่ายและเป็นระบบอัตโนมัติ - ฉันกำลังมองหาห้องสมุดที่มีฟังก์ชั่นที่ทรงพลังในขณะที่รักษาอินเตอร์เฟสแบบลีนความสามารถในการทำงานร่วมกันกับโครงสร้างข้อมูลทั่วไป (เช่น C …

1
preconditioner สำหรับวิธีการปราศจากเมทริกซ์เพื่อแก้ Ax = b
ฉันต้องแก้ Ax = b แต่ฉันรู้ว่าแม้ว่าจะเบาบาง แต่การจัดเก็บค่าสัมประสิทธิ์เมทริกซ์ของปัญหาของฉันจะใช้หน่วยความจำมากเกินไป ดังนั้นตอนนี้ฉันกำลังพิจารณาใช้วิธีการแบบปราศจากเมทริกซ์เนื่องจากค่าสัมประสิทธิ์เดียวกันปรากฏขึ้นเป็นจำนวนมากเวลาในเมทริกซ์ดังนั้นฉันจึงสามารถใช้รูปแบบการจัดเก็บข้อมูลส่วนตัวของฉันเอง (และเพิ่มประสิทธิภาพแคช) ฉันกำลังมองหา Petsc ซึ่งให้ส่วนต่อประสานสำหรับตัวดำเนินการเชิงเส้นแบบปราศจากเมทริกซ์ แต่สิ่งที่ฉันไม่เข้าใจจริง ๆ แล้วเป็นวิธีการคำนวณล่วงหน้าโดย petc หรือไม่? หรือฉันควรจัดให้มีเงื่อนไขเบื้องต้นของฉันเอง? ถ้าเป็นเช่นนั้นจะมีเครื่องมือหรือผู้รับในการสร้างตัวสร้างเงื่อนไขล่วงหน้าจากตัวดำเนินการเชิงเส้นแบบปราศจากเมทริกซ์หรือไม่? ข้อมูลเพิ่มเติมเกี่ยวกับโอเปอเรเตอร์ของฉัน: มันไม่สมมาตร, ไม่เป็นแนวทแยงมุม, แต่ครอบงำด้วย sidebands ไม่กี่อัน (แต่มันไม่ใช่แถบสีในแนวทแยง)

4
ตัวแก้ปัญหาที่แข็งแกร่งและวนซ้ำสำหรับปัญหาเชิงเส้นยืดสามมิติขนาดใหญ่คืออะไร
ฉันกำลังดำดิ่งสู่โลกอันน่าทึ่งของการวิเคราะห์องค์ประกอบ จำกัด และต้องการที่จะแก้ปัญหาเครื่องจักรกลเทอร์โมขนาดใหญ่ (เฉพาะกลไกทางความร้อน , ไม่มีข้อเสนอแนะ)→→\rightarrow สำหรับปัญหาทางกลฉันได้เข้าใจจากคำตอบของเจฟฟ์แล้วว่าฉันจะต้องใช้ตัวแก้ซ้ำเนื่องจากขนาดตาข่ายของฉัน ฉันอ่านเพิ่มเติมในคำตอบของ Mattว่าการเลือกอัลกอริทึมการวนซ้ำที่ถูกต้องเป็นงานที่น่ากังวล ฉันถามที่นี่หากมีประสบการณ์เกี่ยวกับปัญหาการยืดตัวเชิงเส้นแบบสามมิติขนาดใหญ่ที่จะช่วยให้ฉัน จำกัด การค้นหาเพื่อประสิทธิภาพที่ดีที่สุดหรือไม่ ในกรณีของฉันมันเป็นโครงสร้างที่มีฟิล์มบาง ๆ มีลวดลายและวัสดุที่วางผิดปกติ (ทั้ง high-CTE และ low-CTE) ไม่มีการเสียรูปขนาดใหญ่ในการวิเคราะห์เชิงกลทางความร้อน ฉันสามารถใช้ HPC ในมหาวิทยาลัยของฉัน [1.314 โหนดพร้อมโปรเซสเซอร์ AMD Opteron 2 ตัว (แต่ละ 2.2 GHz / 8 คอร์)] ฉันคิดว่าPETScอาจมีบางสิ่งที่น่าสนใจโดยเฉพาะอย่างยิ่งอัลกอริทึมที่ใช้ในการแยกโดเมน (FETI, multigrid) แต่ฉันรู้สึกสับสนกับตัวเลือกและไม่มีประสบการณ์ ฉันชอบวลีที่ว่า"สิ่งมีชีวิตที่มีความรู้ทางเรขาคณิต"แต่ไม่แน่ใจว่าสิ่งนี้จะช่วยฉันได้หรือไม่ ฉันยังไม่ได้พบสิ่งที่เพ่งความสนใจไปที่กลศาสตร์ต่อเนื่องเชิงเส้น Strong Scaling (Amdahl) มีความสำคัญมากในใบสมัครของฉันเพราะพันธมิตรอุตสาหกรรมของฉันไม่สามารถรอผลการจำลองเป็นเวลานาน ฉันไม่เพียง แต่ชื่นชมคำตอบเท่านั้น แต่ยังมีคำแนะนำสำหรับการอ่านเพิ่มเติมในความคิดเห็น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.