Message Passing Interface

Dari PaloDozen

Message Passing Interface (MPI) adalah middleware yang menyediakan layanan pemrograman parallel.

Daftar isi

Lisensi

Ada beberapa versi MPI, salah satu yang open source adalah open MPI http://www.open-mpi.org/.

Memasang

Pada distro Linux Rocks Cluster, openmpi sudah otomatis terpasang. Letaknya di /opt/openmpi.

Memakai

Menulis program

Untuk memakai MPI, program anda harus memakai perintah-perintah sediaan MPI. Sebagai contoh sederhana, salin contoh berikut:

$ cp -a /opt/mpi-test
$ cd mpi-test/src
$ mcedit mpi-ring.c

Kompilasi

Untuk kompilasi, gunakan skrip-skrip berikut

  • mpicc : kompilasi program C
  • mpif90 : kompilasi program fortran

Masing-masing skrip akan menyiapkan pengaturan yang diperlukan, lalu memanggil kompiler yang bersangkutan, yaitu :

  • mpicc akan memanggil kompiler gcc (GNU C Compiler). Untuk mengubah default, misal jadi icc (Intel C Compiler) gunakan
$ export OMPI_CC=icc
  • mpif90 memanggil kompiler gfortran. Untuk mengubahnya
$ export OMPI_FC=ifortran

Untuk contoh mpi-ring, kompilasi sudah memakai Makefile. Jadi tinggal memanggil "make".

Menjalankan program

Untuk menjalankan program hasil kompilasi,

$ mpirun -np 1 mpi-ring

Jika ingin menjalankan pada 3 prosesor, misal pada komputer quad core

$ mpirun -np 3 mpi-ring

Sementara itu jika punya kluster dengan banyak node, buat dulu file cluster.hosts. Untuk itu silahkan salin salah satu file dari dari /export/apps/mpi/, lalu diedit seperlunya, misal:

compute-0-0 slots=4 max_slots=4
compute-0-1 slots=4 max_slots=4
compute-0-2 slots=4 max_slots=4
compute-0-3 slots=4 max_slots=4

Selanjutnya jalankan dengan perintah :

$ mpirun -np 16 --nolocal --hostfile cluster.hosts mpi-ring

Kontributor: Mursito