Anda di halaman 1dari 3

Agus Kurniawan

Bab 2
Message-Passing Interface (MPI)

2.1 Apa Itu MPI?


Ada banyak sekali bahasa pemrograman parallel yang diperkenalkan dan sebagian besar merupakan
bahasa tingkat tinggi untuk menyederhanakan kompleksitas pemrograman parallel. Walaupun begitu
bahasa pemrograman ini untuk parallel tidak banyak diterima dikomunitas pemrograman parallel
meskipun bahasa tersebut dari bahasa C ataupun fortran.

Message Passing Interface atau disingkat MPI adalah bahasa independen untuk protokol komunikasi
yang digunakan program parallel pada komputer. MPI diterima banyak komunitas pemrograman
parallel. Dikarenakan sifatnya yang independen maka realisasi MPI banyak sekali. Komunitas MPI dapat
dijumpai di http://www.mpi-forum.org/ dan tampilannya dapat dilihat pada gambar 2-1.

Pada saat penulis menulis buku ini, forum MPI sudah mengeluarkan spesifikasi MPI 2.2 yang dikeluarkan
tanggal 4 September 2009. Pembaca dapat mengunduh dokumen PDF spesifikasi MPI 2.2 pada alamat
http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf

1 | Pemrograman Paralel dengan MPI dan C


Agus Kurniawan

Gambar 2-1. Komunitas MPI

2.2 Implementasi MPI


Dikarenakan MPI hanyalah standard spesifikasi untuk memprogram program parallel maka realisasi MPI
dapat banyak sekali tergantung bahasa pemrograman yang digunakan. Pada sub bab ini penulis
memaparkan beberapa implementasi MPI.

2.2.1 MPI Untuk C/C++


Implementasi MPI dengan menggunakan C/C++ adalah implementasi paling banyak variasinya.
Beberapa catatan penulis berikut ini library yang dapat digunakan untuk membuat aplikasi parallel
berbasis MPI dengan bahasa C/C++
 LAM/MPI, http://www.lam-mpi.org/
 Open MPI, http://www.open-mpi.org/
 MPICH2, http://www.mcs.anl.gov/research/projects/mpich2/
 Microsoft MPI, http://msdn.microsoft.com/en-us/library/bb524831%28VS.85%29.aspx
 HP MPI,
https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=B6060B
A
 Intel MPI, http://software.intel.com/en-us/intel-mpi-library/

2 | Pemrograman Paralel dengan MPI dan C


Agus Kurniawan

Pada buku ini penulis akan menggunakan MPI dengan bahasa C dan library sebagai berikut
 MPICH2
 LAM/MPI
 Microsoft MPI

2.2.2 MPI Untuk Fortran


Realisasi MPI dengan menggunakan Fortran penulis menemukan library yang dapat digunakan yaitu
 Open MPI, http://www.open-mpi.org/
 MPICH2, http://www.mcs.anl.gov/research/projects/mpich2/
 Microsoft MPI, http://msdn.microsoft.com/en-us/library/bb524831%28VS.85%29.aspx

2.2.3 MPI Untuk Java


Realisasi MPI untuk Java penulis dapat menyarankan untuk menggunakan
 The HP Java Project, http://www.hpjava.org/mpiJava.html
 JavaMPI, http://perun.hscs.wmin.ac.uk/JavaMPI/

2.2.4 MPI Untuk C#


Untuk implementasi MPI menggunakan C#, penulis menyarankan untuk menggunakan MPI.NET yang
dikembangkan oleh Indiana University. MPI.NET dapat diunduh di http://osl.iu.edu/research/mpi.net/ .
Alternatif lain, pembaca dapat menggunakan Pure MPI.NET yang diunduh library di alamat
http://www.purempi.net/

3 | Pemrograman Paralel dengan MPI dan C