File: SameTag.java

package info (click to toggle)
mpj 0.44%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 7,592 kB
  • sloc: java: 49,853; ansic: 2,508; xml: 596; sh: 311; perl: 156; makefile: 27
file content (67 lines) | stat: -rwxr-xr-x 1,693 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
 * File         : SendRecv.java
 * Author       : Sang Lim
 * Revision     : $Revision: 1.1.1.1 $
 * Updated      : $Date: 2005/03/19 16:06:39 $
 */
import mpjdev.*;
import mpjbuf.*;
import java.io.*;

public class SameTag {
  public static void main(String[] args) throws Exception {
    Comm.init(args);
    Buffer wb = new Buffer(16);
    int id = Comm.WORLD.id();
    int size = Comm.WORLD.size();
    int tag = 99;

    if (id == 0) {

      for (int z = 0; z < 100; z++) {
        int[] fArray0 = new int[2];
        for (int i = 0; i < fArray0.length; i++)
          fArray0[i] = i + z;
        wb.putSectionHeader(Buffer.INT);
        wb.write(fArray0, 0, fArray0.length);
        wb.commit();
        Comm.WORLD.send(wb, 1, tag);
        wb.clear();
      }
      System.out.println("Written all messages");

    }
    else if (id == 1) {
      System.out.println("sleeping");
      try {
        Thread.currentThread().sleep(5000);
      }
      catch (Exception e) {}
      System.out.println("sleeping");
      for (int z = 0; z < 100; z++) {
        Comm.WORLD.recv(wb, 0, tag);
        wb.commit();
        int[] rArray0 = new int[2];
        for (int i = 0; i < rArray0.length; i++)
          rArray0[i] = -1;
        int numEls = wb.getSectionHeader(Buffer.INT);
        wb.read(rArray0, 0, rArray0.length);

        for (int i = 0; i < rArray0.length; i++) {
          if (rArray0[i] != i + z) {
            System.out.println("z " + z);
            System.out.println("Its all fucked up");
            System.exit(0);
          }
        }
        wb.clear();
        System.out.print(" P<" + z + ">");
      }

    }

    Comm.WORLD.nbarrier();
    Comm.finish();
  }
}