Saya mencari untuk port beberapa kode yang menyelesaikan satu set persamaan diferensial parsial (PDE) dengan metode volume hingga dalam bentuk IMPLICIT (untuk diskritisasi waktu).
Akibatnya ada sistem persamaan tridiagonal dalam arah x, y, z yang ditangani oleh skema ADI / TDMA.
Saya tidak bisa menemukan apa pun mengenai solusi implisit dari PDE dengan CUDA.
Apakah skema ADI / TDMA dapat diterapkan di CUDA ?? Apakah ada contoh seperti persamaan difusi panas 2D yang tersedia di suatu tempat ??
Yang bisa saya temukan adalah kode sampel CUDA untuk persamaan difusi panas 2D dalam perbedaan hingga tetapi dalam bentuk EXPLICIT (University of Cambridge).
Setiap petunjuk / referensi akan sangat dihargai.
Jawaban:
Masalah ini cocok untuk bentuk yang sangat vektor. Seperti yang Anda catat, metode ADI memberikan beberapa langkah sistem tridiagonal. Karena ini dalam bentuk persamaan linear, Anda dapat menggunakan CUsolver dan CUblas untuk memanggil versi GPU paralel dari rutinitas aljabar linier standar. Dengan menggunakan ini, Anda harus dapat mengambil kode eksplisit dan hanya mengubah loop batin ke panggilan CUsolver yang tepat dan menyelesaikannya dengan cara di mana kode tersebut terlihat hampir persis seperti implementasi CPU, tetapi dengan operasi matriks yang dilakukan pada GPU melalui panggilan perpustakaan.
sumber