Saya memparalelkan kode untuk memecahkan model keseimbangan populasi 5 dimensi secara numerik. Saat ini saya memiliki kode paralel MPICH2 yang sangat baik di FORTRAN tetapi ketika kami meningkatkan nilai parameter array menjadi terlalu besar untuk dijalankan dalam mode memori terdistribusi.
Saya memiliki akses ke sebuah cluster dengan 15 node, di mana setiap node memiliki dua CPU 8 core dan 128GB RAM. Saya ingin menulis menjalankan program dengan MPI-3.0 dalam mode memori bersama sehingga setiap proses tidak menghasilkan salinan masing-masing array.
Sebelum saya dapat menjalankan apa pun di cluster, saya harus mengujinya di desktop yang menjalankan Ubuntu. Ini pada dasarnya adalah satu blade dari cluster karena memiliki dua CPU 8 inti dan 128 GB RAM. Saya akan menulis dan menguji kode saya di atasnya, jadi tolong siapkan tanggapan Anda terhadap menjalankan program di komputer Ubuntu.
Saya telah membaca bahwa ada cara untuk menjalankan MPI-3.0 dalam mode memori bersama seperti OpenMP alih-alih mode memori terdistribusi default.
Pertanyaan:
Bagaimana saya harus mengubah kode saya? Apakah saya perlu menambahkan panggilan ke fungsi MPI lain seperti
MPI_WIN_ALLOCATE
?Bagaimana cara mengkompilasi kode saya untuk menjalankan MPI-3.0 dalam mode memori bersama? Apakah ini akan berbeda jika lebih dari beberapa node?
Tolong beri skrip kompilasi sampel jika Anda bisa. Saya juga hanya memiliki kompiler GNU. Cluster yang saya gunakan tidak mendukung kompiler Intel.
mpiexec -n 8 /path/to/application
untuk memalsukan komputer Anda dengan berpikir ia memiliki 8 node yang berbeda.