para rel 3
TRANSCRIPT
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 1/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Parallel Computing Using MPI with
Visual C++ 2005
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 2/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Untuk belajar mengenai parallel computing biasanya
para peneliti maupun akademis memanfaatkanlibrary MPI ataupun OpenMP untuk melakukan
komputasi paralel. Kedua library ini menggunakan
teknik parsing message ke suatu multi-processor atau
multi-machine. Misalkan anda mempunyai sejumlahdata katakanlah sekitar 1000000 dimana masing-
masing data akan dilakukan suatu komputasi tertentu
dan selanjutnya digabung diakhir komputer seperti
gambar dibawah ini
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 3/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 4/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Kalau ini dilakukan secara serial maka ini bisa spend time
yang luar biasa apalagi ketika diharapkan hasilnya bisa real-time sehingga parallel computing menjadi solusi untuk
problem ini.
Penerapan MPI & OpenMP pada OS Windows
Pada OS Windows kita dapat memanfaatkan MPI dan
OpenMP. Untuk keperluan ini, kita bisa memanfaatkan Visual
C++ yang satu package dengan Visual Studio.NET 2003 dan
Visual Studio 2005.Sedangkan bagian infrastructure kita bisa memafaatkan
Windows Cluster (HPC). Sistem clustering yang disini secara
arsitektur dari socket bisa kita lihat pada gambar dibawah ini:
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 5/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 6/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Sedangkan untuk struktur logical view bisa dilihat pada gambar
dibawah ini
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 7/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Untuk memulai parallel computing, 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
MicrosoftCompute Cluster Pack SDK, download di
http://www.microsoft.com/downloads/details.aspx?family
id=d8462378-2f68-409d-9cb3
02312bc23bfd&displaylang=en , download file
sdk_x86.msi untuk mesin 32-bit atau sdk_x64.msi untuk
mesin 64-bitOS Windows 2000/XP/2003
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 8/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Instalasi MPI
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 9/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Starting Coding
Selanjutnya kita mulai coding MPI, lakukan langkah-
langkah dibawah ini
1. Jalan Visual Studio 2005
2. Buat project Visual C++ dengan template Win32 seperti
gambar dibawah ini
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 10/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 11/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
3. Berikan nama project sesuai dengan keinginan dantekan ok kalau udah
4. Untuk feature project Win32 pastikan precompiled
header di unchecked seperti gambar dibawah ini
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 12/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 13/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
5. Nah, sekarang kita baru melakukan konfigurasi daricompiler kita
6. Lakukan klik kanan dibagian project dan pilih menu
Properties sehingga akan muncul kotak dialog properties dari
project kita
7. 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\MicrosoftCompute Cluster Park\Include , yang dapat digambar seperti
gambar dibawah ini
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 14/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
8. Kemudian kita konfigurasi C/C++ --> Advanced, kita pilih
Compile As C Code (/TC) gunanya supaya compiler hanyacompile code C kita bukan c++ karena MPI code nya
menggunakan C. Lihat gambar dibawah untuk lebih jelasnya
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 15/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
9.Selanjutnya kita konfigurasi Linker --> General, dibagianAdditional 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
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 16/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 17/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10. Konfigurasi yang terakhir kita lakukan adalah
menambahkan msmpi.lib dibagian Linker-->Input pada
Additional Dependencies seperti yang tergambar dibawah ini
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 18/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Coding Parallel Computing
Kalau sudah selesai konfigurasinya maka selanjutnya kitacode 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 menjadiint main(int argc, char* argv[])
{
return 0;
}
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 19/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
# include "stdafx.h"
# include <mpi.h>
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;
}
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 20/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
R unning MPI Code
Untuk menjalankan aplikasi MPI kita dapat memanfaatkanmpiexec.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 yangkita 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 padagambar dibawah ini:
8/9/2019 Para Rel 3
http://slidepdf.com/reader/full/para-rel-3 21/21
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.