Memulai Parallel Computing Menggunakan MPI Dengan Visual C++

Next sharing knowledge, gw mau nunjukkan bagaimana kita clustering OS Windows dengan melakukan parallel computing dengan beberapa OS Windows melalui library MPI…it’s a great knowledge.

 hal-hal yang dipersiapkan antara lain :

  1. Visual C++ 2005 under IDE Visual Studio 2005 (bisa pakai Visual C++ 2005 Express Edition)
  2. Download MPI Library yang terdapat didalam Microsoft Compute Cluster Pack SDK, download di http://www.microsoft.com/downloads/details.aspx?familyid=d8462378-2f68-409d-9cb3-02312bc23bfd&displaylang=en , download file sdk_x86.msi untuk mesin 32-bit atau sdk_x64.msi untuk mesin 64-bit
  3. OS Windows 2000/XP/2003

Untuk demo disini, gw pakai Visual C++ 2005 under IDE Visual Studio 2005 Team Suite dan OS Windows 2003 Enterprise Edition.

Instalasi MPI
Untuk dapat coding parallel computing kita memperlukan library nya. Yang gw ketahu dan pernah coba ada MPI dan OpenMP. Sedangkan untuk session ini, gw akan jelasin pakai MPI library untuk membuat code parallel computing. Setelah anda download Microsoft Compute Cluster Pack SDK maka langsung diinstall file *.MSI nya yang tampilannya seperti gambar dibawah ini :

Ikuti petunjukan instalasi dan diingat directory instalasinya

Starting Coding
Selanjutnya kita mulai coding MPI, lakukan langkah-langkah dibawah ini

Jalan Visual Studio 2005
Buat project Visual C++ dengan template Win32 seperti gambar dibawah ini

Berikan nama project sesuai dengan keinginan dan tekan ok kalau udah
Untuk feature project Win32 pastikan precompiled header di unchecked seperti gambar dibawah ini

Nah, sekarang kita baru melakukan konfigurasi dari compiler kita
Lakukan klik kanan dibagian project dan pilih menu Properties sehingga akan muncul kotak dialog properties dari project kita
Pertama-tama kita konfigurasi dibagian C/C++ –> General, tulis path dari header MPI kita, misalkan kalau install di D, maka maka biasanya diisi d:\Program Files\Microsoft Compute Cluster Park\Include , yang dapat digambar seperti gambar dibawah ini

Kemudian kita konfigurasi C/C++ –> Advanced, kita pilih Compile As C Code (/TC) gunanya supaya compiler hanya compile code C kita bukan c++ karena MPI code nya menggunakan C. Lihat gambar dibawah untuk lebih jelasnya

Selanjutnya kita konfigurasi Linker –> General, dibagian Additional Library Directories tambahkan library MPI kita, untuk processor Intel kita dapat menggunakan x86, contoh d:\Program Files\Microsoft Compute Cluster Park\Lib\i386 , contohnya seperti gambar dibawah ini

Konfigurasi yang terakhir kita lakukan adalah menambahkan msmpi.lib dibagian Linker–>Input pada Additional Dependencies seperti yang tergambar dibawah ini

Coding Parallel Computing
Kalau sudah selesai konfigurasinya maka selanjutnya kita code MPI, kalau ada perhatikan di template Win32, seperti code dibawah ini

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

Ini harus diganti untuk comply dengan initialisasi dari MPI sehingga menjadi

int main(int argc, char* argv[])
{
return 0;
}

Contoh sample codenya:

#include “stdafx.h”
#include

int main(int argc,char* argv[])
{
int id;
int p;

MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&id);
MPI_Comm_size(MPI_COMM_WORLD,&p);

printf(“Rank = %d , Size = %d\r\n”,id,p);
MPI_Finalize();

return 0;
}

Running MPI Code
Untuk menjalankan aplikasi MPI kita dapat memanfaatkan mpiexec.exe yang ada didalam Microsoft Compute Cluster Pack SDK yang ada didalam folder bin, sintaknya:

mpiexec -n 5 “c:\mympi.exe”

Keterangan, -n 5 —-> menunjukkan jumlah processor yang kita miliki sedangkan “c:\mympi.exe” adalah file EXE dari code MPI kita. Lakukan ini commandline, kalau tidak kenali mpiexec maka arahkan CMD anda ke directory dimana file mpiexec.exe berada.

Contoh hasil running dapat dilihat pada gambar dibawah ini:

Referensi : http://netindonesia.net/blogs/agus/archive/2007/07/04/Parallel-Computing-Using-MPI-with-Visual-C_2B002B00_-2005-in-OS-Windows-Environment.aspx

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s