cuda และวิธีการเชิงตัวเลขที่มีการลดทอนเวลาโดยนัย


10

ฉันกำลังมองหาที่จะพอร์ตรหัสบางอย่างที่แก้ไขชุดของสมการเชิงอนุพันธ์บางส่วน (PDE) โดยวิธีปริมาณ จำกัด ในรูปแบบ IMPLICIT (สำหรับการแยกส่วนเวลา)

ด้วยเหตุนี้จึงมีระบบสมการสามมิติในทิศทาง x, y, z ซึ่งจัดการโดยโครงการ ADI / TDMA

ฉันไม่สามารถหาอะไรเกี่ยวกับการแก้ปัญหาโดยนัยของ PDEs ด้วย CUDA

สามารถใช้ ADI / TDMA ใน CUDA ได้หรือไม่? มีตัวอย่างเช่นสมการการกระจายความร้อนแบบ 2D ที่มีอยู่ที่ไหนสักแห่ง?

ทั้งหมดที่ฉันสามารถหาได้คือโค้ดตัวอย่าง CUDA สำหรับสมการการกระจายความร้อนแบบ 2D ในความแตกต่างอัน จำกัด แต่ในรูปแบบ EXPLICIT (University of Cambridge)

คำใบ้ / การอ้างอิงใด ๆ จะได้รับการชื่นชมอย่างมาก


2
คุณทำงานกับ PDE ประเภทใด เป็นเส้นตรงไม่เชิงเส้นหรือไม่? ระบบทั้งหมดของคุณเป็นสามเหลี่ยมหรือไม่ (ฉันไม่เข้าใจสิ่งที่คุณหมายถึงโดย 'สามเหลี่ยมในทิศทาง x, y, z') โดยทั่วไปแล้วเป็นการยากที่จะใช้ตัวแก้ปัญหาแบบเบาบางหรือตัวแก้ซ้ำ ๆ บน GPU เนื่องจากผลิตภัณฑ์ด้านในที่เป็นโลกาภิวัฒน์และการสื่อสารที่ผิดปกติ (แต่การสื่อสารอาจมีปัญหาน้อยกว่าหากเป็นแบบไตรภาคี) แก้ไข: ตกลง googled ADI ไม่เคยใช้มาก่อนตัวเอง Google ด่วนบนตัวแก้ปัญหาแบบไตรภาค
Reid.Atcheson

ขอบคุณสำหรับลิงค์ PDE นั้นมาจากสมการการอนุรักษ์โมเมนตัมมวลและพลังงานดังนั้นจึงมีการเชื่อมโยงอย่างมากและไม่เป็นเชิงเส้น ดูเหมือนว่านาย Nikolai Sakharnykh ได้ทำไปแล้ว นี่คือลิงค์สำหรับที่สนใจ: nvidia.com/content/GTC/documents/1058_GTC09.pdf ไม่พบรหัสตัวอย่างแม้ว่าจะช่วยได้จริงๆ
Khine

2
โปรดลบการโพสต์ที่ซ้ำกันของคุณใน SO หรือขอให้ทำการย้ายที่นี่
David Ketcheson

คำตอบ:


1

ปัญหานี้ทำให้ตัวเองเป็นแบบเวกเตอร์สูง ดังที่คุณได้กล่าวไว้วิธีการของ ADI นั้นให้ขั้นตอนระบบไตรภาคีสองสามขั้นตอน เนื่องจากมันอยู่ในรูปของสมการเชิงเส้นคุณสามารถใช้CUsolverและCUblasเพื่อเรียกรุ่น GPU แบบขนานของรูทีนพีชคณิตเชิงเส้นมาตรฐาน เมื่อใช้สิ่งเหล่านี้คุณควรจะสามารถรับโค้ดที่ชัดเจนและเพียงแค่เปลี่ยนลูปด้านในเป็นการเรียก CUsolver ที่เหมาะสมและแก้ปัญหาในลักษณะที่รหัสดูเหมือนกับการนำ CPU มาใช้เกือบทั้งหมด แต่ด้วยการทำงานของเมทริกซ์บน GPU ผ่านทาง โทรห้องสมุด

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