;

Mengenal Tipe Data MPI

Diposting oleh wiratama Senin, Juni 18, 2012

Tipe data MPI banyak digunakan untuk melakuakn pengiriman dan penerimaan data dari node cluster pada mesin paralel.Tipe data MPI dapat ditulis seperti berikut:

      MPI_Datatype dataku;
berikut merupaka salah satu contoh dari MPI_Datatype yang digunakan untuk mengirimkan kumpulan data array keseluruh node:

float a[size][size]={1.0,2.0.,3.0,4.0,5.0,6.0,7.0,8.0,9.0};
  MPI_Datatype rowtype;
for (i=0; i< numtask; i++){
MPI_Send(&a[i][0],1,rowtype,i,1,MPI_COMM_WORLD)
}

Secara umum telah menyediakan tipe data sesuai dengan implementasi dalam bahasa pemrograman.Beberapa tipe data yang disediakan dapat dikategorikan,yaitu:

  • Tipe data Dasar
  • Tipe Data Turunan
Tipe data Dasar
Tipe data dasar dapat digunakan secara langsung pada kode program kita.Tipe data berikut contoh tipe data MPI untuk bahasa C

Tipe dasar MPI                                                       Pada Bahasa C
MPI_CHAR                                                             signed char
MPI_SHORT                                                           signed short int
MPI_INT                                                                 signed int
MPI_LONG                                                             signed long int
MPI_UNSIGNED_CHAR                                      unsigned char
MPI_UNSIGNED_SHORT                                    unsigned short 
MPI_UNSIGNED                                                   unsigned int
MPI_FLOAT                                                          float
MPI_DOUBLE                                                      double
MPI_LONG_DOUBLE                                         long double 
MPI_BYTE  
MPI_UNSIGNED_LONG                                     unsigned long int
MPI_PACKED  

Berikut ini merupakan contoh penggunaannya untuk menerima dan mengirim data melalui MPI_Recv dan MPI_Send:

        INT token,total=100;
        DOUBLE array[100];
        MPI_Recv(&token,1,MPI_INT,1,0,MPI_COMM_WORLD,NULL);
        MPI_Send(array,total,MPI_DOUBLE,1,0,MPI_COMM_WORLD);

Pada kode diatas,MPI Recv menerima dan bertipe MPI_INT sedangkan pada MPI_Send kode diatas melakukan pengiriman array data bertipe DOUBLE maka kita memberikan tipe data MPI_DOUBLE pada MPI_Send.
data yang dibuat dari tipe  data dasar MPi.Implementasi paling mudah adalah memanfaatkan data array atau struct,Misalkan mempunyai tipe dasar struct pada bahasa C sebagai berikut.


typedef struct{
   float x,y,z;
   float velo;
   int n,type;
}particle;

Selanjutnya,tipe data ini akan digunakan pada apliaksi MPI kita.Oleh kareuna itu,kita perlu membuat suatu tipe data turunan dasar adar tipe data struct kita dipergunakan sesuai standart MPI.

Tipe data Turunan
untuk tipe data  dasar turunan kita menggunakan beberapa tipe dasar turunan yang dapat kita gunakan dalam apllikasi MPI.Beberapa tipe data turunan yang dibahas yaitu:
  • kontinu
  • vektor
  • struct
  • index
Setiap kita membuat tipe data turunan pada MPI,kita harus melakukan konfirmasi dengan memanggil MPI_Type_commit().Sedangkan untuk menghapus tipe data turunan yang telah dibuat dapat menggunakan MPI_Type_free().Deklarasi masing-masing fungsi ini dapat dilihat berikut ini:

int MPI_Type_commit(MPI_Datatype *datatype);
int MPI_Type_free(MPI_Datatype *datatype);

datatype adalah tipe data turunan yang akan dibuat atau dihapus.

0 komentar

Posting Komentar

UPDATE ANTIVIRUS



TRANSLATE


English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese

BLOG TEMEN SEPERJUANGAN

Mengenai Saya

Foto saya
magetan, jawatimur, Indonesia
sesuatu yang indah jika kita merasakan keindahannya..!!!

MOHON ISI BUKU TAMU


ShoutMix chat widget