Module 3 Tugas MPI
Module 3 Tugas MPI
Tujuan Praktikum:
Memahami fungsi MPI routine MPI_Status
Alat dan Bahan:
PC atau Laptop
Sistem operasi Linux atau Windows
C/C++ compiler, mpicc/mpic++ compiler
Text editor
Teori Singkat:
Seperti yang telah dipelajari sebelumnya, penggunaan MPI_Send dan MPI_Recv untuk melakukan
komunikasi standar point-to-point. Operasi MPI_Recv mengambil alamat dari MPI_Status sebagai
argument. Jika kita memindahkan struktur MPI_Status menjadi fungsi MPI_Recv, MPI_Recv akan
diisi dengan informasi tambahan tentang operasi penerimaan setelah operasi selesai. Bagian utama dari
informasi meliputi:
1. Peringkat pengirim (the rank of the sender).
Peringkat pengirim disimpan di element MPI_SOURCE dari struktur program. Maka jika kita
mendeklarasikan variable MPI_Status stat, peringkat (rank) dapat diakses menggunakan
stat.MPI_SOURCE
2. Tanda pesan (the tag of the message)
Tanda (tag) sebuah pesan dapat diakses menggunakan element MPI_TAG dari struktur program
(mirip dengan MPI_SOURCE)
3. Panjang pesan (the length of the message)
Tidak ada element yang mendefinisikan panjang pesan. Maka kita dapat menghitung panjang
pesan menggunakan MPI_Get_Count
Syntax: MPI_Get_count(MPI_Status*
int* count)
status,
MPI_Datatype
datatype,
Dalam MPI_Get_Count, user melewati struktur MPI_Status , tipedata pesan yang dikirim, dan
mengembalikan nilai variable count. Variable count merupakan jumlah total dari element tipedata
yang diterima.
Tugas praktikum:
Mengetik barisan program dibawah pada text editor dan meng-compile nya
Memahami barisan code dan output program, serta menuliskan laporan berupa ringkasan logika
setiap potongan program pada lembar laporan, dan dikumpulkan kepada asisten.
Program 1:
#include
#include
#include
#include
<mpi.h>
<stdio.h>
<stdlib.h>
<time.h>