การเลือกตัวแก้เชิงเส้นสำหรับการคำนวณ GPGPU (OpenCL)


10

ฉันได้พัฒนาวิธีการทำงานของวิธีไฟไนต์เอลิเมนต์เพื่อแก้ปัญหาการถ่ายเทความร้อนโดยใช้ GPU และ OpenCL โดยใช้วิธีการไล่ระดับสีคอนจูเกต ข้อเสียเปรียบหลักของวิธีนี้คือความต้องการหน่วยความจำสูง ยิ่งไปกว่านั้นในกรณีที่การ์ดหน่วยความจำมักจะมีข้อ จำกัด มาก ฉันเห็นสองตัวเลือก:

  1. สร้างโดเมนย่อยและแลกเปลี่ยนส่วนต่าง ๆ ของเมชด้วยหน่วยความจำโฮสต์
  2. ใช้วิธีการแบบหลายหน้า

ฉันต้องคำนึงถึงสถาปัตยกรรมที่เฉพาะเจาะจง การแลกเปลี่ยนอาจมีราคาแพงมาก วิธีการ CG เป็นที่นิยมในบริบทของการคำนวณ GPGPU แต่ฉันไม่พบการเปรียบเทียบระหว่าง CG และวิธีการแบบหลายหน้า (ในกรณีของ GPGPU) วิธีการแบบหลายหน้าสามารถทำได้เร็วกว่า CG ไหม นี่เป็นคำถามทั่วไปที่จริงแล้วมันยังขึ้นอยู่กับการใช้งาน


2
คุณทำแอสเซมบลีสากลของเมทริกซ์ในรหัส FEM ของคุณหรือไม่ หรือคุณใช้การใช้งานแบบไม่มีเมทริกซ์? (กล่าวคือไม่มีการก่อตัวของเมทริกซ์ที่ชัดเจน)
อัลลันพี Engsig-Karup

3
คุณใช้สิ่งที่มีเงื่อนไขล่วงหน้าอะไรและโดเมนเป็นอย่างไร เดสก์ท็อปอายุสิบปีที่ใช้อัลกอริทึมที่ดีจะเอาชนะกลุ่มของ GPU โดยใช้อัลกอริทึมเส็งเคร็ง
Jed Brown

คุณกำลังใช้ hexahedral หรือตาข่ายง่าย ๆ ? หากหน่วยความจำเป็นปัญหาและคุณกำลังใช้องค์ประกอบฐานสิบหกที่มีฟังก์ชั่นพื้นฐานของผลิตภัณฑ์เทนเซอร์คุณสามารถบันทึกหน่วยความจำในบางกรณีด้วยการบันทึกโอเปอเรเตอร์ 1D เท่านั้นและใช้การใช้งานแบบไม่มีเมทริกซ์
เจสซีชาน

คำตอบ:


2

ฉันเป็นโครงการนำไปสู่LibGeoDecompดังนั้นฉันคิดว่าฉันอาจเข้ามา

ใช่คุณสามารถใช้ FEM ด้วย LibGeoDecomp ขณะนี้เรากำลังทำงานกับที่เก็บข้อมูลที่ปรับปรุงแล้วสำหรับกรณีการใช้งานนี้ แต่เพื่อความเป็นธรรม: ความสำเร็จของงานนั้นยังคงอยู่อีกหลายเดือนและจนกว่าจะถึงเวลานั้นประสิทธิภาพก็จะไม่เหมาะสม อย่าลังเลที่จะติดต่อฉันทางอีเมลหากคุณยังต้องการลอง LibGeoDecomp

อีกทางเลือกหนึ่งคือFenicsซึ่งมีตัวแก้ปัญหาที่เหมาะสมที่สุดสำหรับปัญหาที่ผิดปกติ แต่ AFAIK คุณไม่ต้องเขียนแก้ปัญหาของคุณเองในกรณีนี้


1

ฉันไม่รู้ว่ามันช่วยคุณได้ไหม ที่นี่คุณจะพบลิงก์ไปยังlibgeodecompเครื่องมือที่ใช้เทคนิคการแยกโดเมนที่กำหนดเองได้ (จากไซต์) มันสามารถใช้กับ GPU ได้เท่าที่ฉันรู้ ถ้ามันช่วยคุณลงคะแนนให้ฉัน ;-)

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