Para Rel 3

Click here to load reader

  • date post

    29-May-2018
  • Category

    Documents

  • view

    245
  • download

    0

Embed Size (px)

Transcript of Para Rel 3

  • 8/9/2019 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

    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

    3/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

  • 8/9/2019 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

    5/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

  • 8/9/2019 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

    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

    8/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

    Instalasi MPI

  • 8/9/2019 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

    10/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

  • 8/9/2019 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

    12/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

  • 8/9/2019 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

    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

    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

    16/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

  • 8/9/2019 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

    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

    19/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

    #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;

    }

  • 8/9/2019 Para Rel 3

    20/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

    Running 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

    21/21

    Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.