Sending and receiving with MPI.COMM_WORLD.Send and MPI.COMM_WORLD.Recv
December 21, 2017
This is an example for Sending and Receiving Program in MPJExpress. Overview about sending and receiving with MPI will be added later 🙂
package MPJExpress;
import mpi.MPI;
/**
*
* @author pbasari
*/
public class SendReceive {
public static void main (String args[]) {
MPI.Init(args);
int rank = MPI.COMM_WORLD.Rank();
int size = MPI.COMM_WORLD.Size();
// sending
if (rank == 0) {
int data [] = {1, 2, 3, 4};
for (int i = 1; i < size; i++) {
System.out.println(“From 0 Send to ” +i);
MPI.COMM_WORLD.Send(data, 0, data.length, MPI.INT, i, 0);
}
}
else { // receiving
int data [] = new int[4];
System.out.println(“Received From 0 “);
MPI.COMM_WORLD.Recv(data, 0, data.length, MPI.INT, 0, 0);
for (int i = 0; i < data.length; i++)
System.out.println(“Rank:” + rank + “; ” + data[i]);
}
MPI.Finalize();
}
}
Filed in Java Programming, Materi kuliah, Message Passing Interface, MPJExpress, Parallel Programming
Tags: Java Programming, MPI, MPJExpress, Paralle Programming, Receiving, Sending