Saya memecahkan masalah multiskala menggunakan Metode Multiskala Heterogen (HMM) . Pada dasarnya, prosedur khusus saya menggunakan proses berulang berikut:
- Memecahkan banyak sistem matriks lokal.
- Hitung nilai yang menarik dari solusi sistem lokal.
- Merakit sistem matriks global dari "nilai-nilai kepentingan" lokal
- Memecahkan sistem matriks global
- Gunakan solusi sistem matriks global untuk membentuk sistem matriks lokal baru.
Ulangi sampai beberapa kriteria konvergensi terpenuhi.
Karena ada banyak sistem persamaan linear (independen) lokal dan banyak sistem dapat masuk ke dalam memori RAM lokal, saya pikir yang terbaik adalah memuat beberapa sistem "lokal" ke setiap prosesor dan menyelesaikan setiap sistem secara berurutan ( lihat pertanyaan yang diposting ini ).
Pertanyaan saya mengenai strategi terbaik untuk merakit dan memecahkan sistem matriks global. Dalam kasus khusus saya, sistem matriks global cukup kecil sehingga bisa muat sepenuhnya pada memori RAM prosesor apa pun. Selain itu, matriks lokal & global tidak mengubah ukuran antara iterasi. Jadi, saya melihat satu dari tiga strategi yang mungkin:
- Kumpulkan "nilai-nilai menarik" ke dalam satu prosesor, dan rakit / pecahkan sistem matriks global secara berurutan pada satu prosesor.
- Salin nilai-nilai yang menarik ke setiap prosesor, dan rakit / pecahkan sistem matriks global yang sama secara berurutan pada setiap prosesor.
- Dengan asumsi bahwa setiap prosesor memiliki "nilai-nilai menarik" yang diperlukan untuk menghasilkan blok yang berdekatan dari matriks global, maka kita dapat mengumpulkan partisi dari matriks global secara lokal, kemudian menyelesaikannya bersama secara paralel.
Saya bisa melihat beberapa kelebihan / kekurangan untuk setiap metode. Dalam Metode 1, tidak ada komunikasi yang diperlukan dalam fase penyelesaian, tetapi komunikasi ke dan dari pemroses root dapat menjadi hambatan (terutama pada skala). Metode 2 mungkin memerlukan lebih banyak komunikasi antarprosesor untuk merakit matriks global daripada metode pertama, tetapi tidak diperlukan komunikasi dalam fase penyelesaian atau dalam tahap perakitan matriks lokal yang mengikuti. Metode 3 tidak memerlukan komunikasi antarprosesor untuk perakitan matriks lokal atau global, tetapi mengharuskannya dalam tahap penyelesaian.