örtülü zaman ayrıklaştırmalı cuda ve sayısal yöntemler


10

IMPLICIT formunda (zaman ayrıklaştırma için) sonlu hacim yöntemi ile bir dizi kısmi diferansiyel denklemler (PDE) çözen bazı kod için arıyorum.

Sonuç olarak, ADI / TDMA şeması tarafından işlenen, x, y, z yönlerinde üç boyutlu bir denklem sistemi vardır.

PDE'lerin CUDA ile örtük çözümü hakkında hiçbir şey bulamıyorum.

ADI / TDMA şeması CUDA'da uygulanabilir mi? Bir yerde mevcut 2D ısı difüzyon denklemi gibi bir örnek var mı ??

Bulabildiğim tek şey, sonlu farklarda ancak EXPLICIT formunda (Cambridge Üniversitesi) 2D ısı difüzyon denklemi için bir CUDA örnek kodudur.

Herhangi bir ipucu / referans büyük mutluluk duyacağız.


2
Ne tür PDE'ler ile çalışıyorsunuz? Bu doğrusal, doğrusal değil mi? Tüm sistem tridiagonal mi? ('Tridiagonal x, y, z yönlerinde' ile ne demek istediğini anlamıyorum). Genel olarak, küreselleştirilmiş iç ürünler ve düzensiz iletişim nedeniyle GPU'da seyrek çözücüler veya yinelemeli çözücüler uygulamak zordur (ancak bu üçgenselse iletişim daha az sorun olabilir). Düzenleme: Tamam googled ADI, kendimden önce hiç kullanmadım. Üçgen
Reid.Atcheson

Bağlantı için teşekkürler. PDE'ler momentum, kütle ve enerjinin korunum denklemlerinden gelir, bu nedenle güçlü bir şekilde birleşirler ve doğrusal değildirler. Bay Nikolai Sakharnykh zaten yapmış gibi görünüyor. İlgilenenler için link: nvidia.com/content/GTC/documents/1058_GTC09.pdf . Yine de bir örnek kod bulunamıyor, bu gerçekten yardımcı olacaktır.
Khine

2
Lütfen SO'daki yinelenen yayınınızı silin veya buraya taşınmasını isteyin.
David Ketcheson

Yanıtlar:


1

Bu problem kendini yüksek oranda vektörize bir forma borçludur. Belirttiğiniz gibi, ADI yöntemi üç basamaklı sistemlere birkaç adım verir. Lineer denklemler formunda olduğundan , standart lineer cebir rutinlerinin paralel GPU sürümlerini çağırmak için CUsolver ve CUblas kullanabilirsiniz . Bunları kullanarak, açık kodu alabilmeli ve iç döngüyü uygun bir CUsolver çağrısına değiştirebilmeli ve kodu neredeyse bir CPU uygulaması gibi görünecek şekilde çözebilmelisiniz, ancak GPU'larda yapılan matris işlemleri ile kütüphane çağrıları.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.