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