File: split2.java

package info (click to toggle)
mpj 0.44%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 7,600 kB
  • ctags: 6,809
  • sloc: java: 49,853; ansic: 2,508; xml: 596; sh: 311; perl: 156; makefile: 26
file content (41 lines) | stat: -rw-r--r-- 838 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
package mpi.comm;

import mpi.*;

public class split2 {
  static public void main(String[] args) throws Exception {
    try {
      split2 a = new split2(args);
    }
    catch (Exception e) {
    }
  }

  public split2() {
  }

  public split2(String[] args) throws Exception {

    MPI.Init(args);
    int size = MPI.COMM_WORLD.Size();
    int rank = MPI.COMM_WORLD.Rank();

    if (size != 8) {
      if (rank == 0)
	System.out.println("comm->split2: MUST RUN WITH 8 processes");
      MPI.COMM_WORLD.Barrier();
      MPI.Finalize();
      return;
    }

    int color = 2 * rank / size;
    int key = size - rank - 1;
    Intracomm newcomm = MPI.COMM_WORLD.Split(color, key);
    int nrank = newcomm.Rank();

    MPI.COMM_WORLD.Barrier();
    if (rank == 0)
      System.out.println("split2 TEST COMPLETE");
    MPI.Finalize();
  }
}