/* * Created on Apr 20, 2007 by berthold * */ import mpi.*; import java.util.Arrays; public class mpiDeadlock { /** * @param args */ public static void main(String[] args) { int rank; int size; int data[]; int i; MPI.Init(args); rank = MPI.COMM_WORLD.Rank(); for (i=0;i < args.length; i++) System.out.println(i + ": " + args[i]); size = 100; if (args.length >= 3) { // Argument 3, nicht 0. MPJ-Magix size = Integer.parseInt(args[3]); } System.out.printf("Bestellte Groesse: %d\n", size); if (size < 2) return; data = new int[size]; i = rank % 256; i += (i<<8); i += (i<<16); Arrays.fill(data, i); System.out.printf("Sende\n"); MPI.COMM_WORLD.Send(data, size, 0, MPI.INT, rank ^ 1, 0); System.out.printf("Empfange\n"); MPI.COMM_WORLD.Recv(data, size, 0, MPI.INT, rank ^ 1, 0); System.out.printf(rank + "Erhalten: 0x%x\n", data[1]); MPI.Finalize(); } }