⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cart_topo.java

📁 MPI for java for Distributed Programming
💻 JAVA
字号:
package mpi.topo; import mpi.*;public class cart_topo {  public static void main(String[] args) throws Exception {  }  public cart_topo() {  }  public cart_topo(String[] args) throws Exception {    MPI.Init(args);    Group group = MPI.COMM_WORLD.Group();    int processes = group.Size();    int rank = group.Rank();       if(processes<8) {      if(rank == 0)         System.out.println("topo->cart_topo: MUST RUN WITH 8 tasks");      MPI.COMM_WORLD.Barrier();      MPI.Finalize();      return;    }    /* checking two dimensional cartesian topology     int dims2[] = new int[2];     dims2[0] = 2;      dims2[1] = 2;            boolean periods2[] = new boolean[2];    periods2[0] = false;    periods2[1] = false;    Cartcomm comm = MPI.COMM_WORLD.Create_cart(dims2,periods2,false);             int[] c = new int[2];    for(int i=0 ; i<2 ; i++) {	for(int j=0 ; j<2 ; j++) {	    c[0]= i;	    c[1]= j;if(rank == 0) {    System.out.println("rank =<"+comm.Rank(c)+">,i=<"+c[0]+">=j<"+c[1]);}	}    }	     checking three dimensional cartesian topology */    int dims3[] = new int[3];     dims3[0] = 2;      dims3[1] = 2;            dims3[2] = 2;            boolean periods3[] = new boolean[3];    periods3[0] = false;    periods3[1] = false;    periods3[2] = false;        Cartcomm comm2 = MPI.COMM_WORLD.Create_cart(dims3,periods3,false);     int[] c1 = new int[3];if(rank == 0)    System.out.println("\ncoords to ranks (3D)\n");       for(int i=0 ; i<2 ; i++) {	for(int j=0 ; j<2 ; j++) {	    for(int k=0 ; k<2 ; k++) {		     	        c1[0]= i;	        c1[1]= j;		c1[2]= k;if(rank == 0) {        System.out.println("rank =<"+comm2.Rank(c1)+">,i=<"+c1[0]+		    ">=j<"+c1[1]+">,k=<"+c1[2]);      			}	    }	}    }/*if(rank == 0)    System.out.println("\nranks to coords (3D)\n");    for(int i=0 ; i<comm2.Size()  ; i++) {			int[] ct = new int[3];	ct = comm2.Coords(i);	if(rank == 0) {        System.out.println("rank =<"+i+">,i=<"+ct[0]+		    ">=j<"+ct[1]+">,k=<"+ct[2]);      			}    }*/        //try { Thread.currentThread().sleep(10000); }catch(Exception e){}	    MPI.COMM_WORLD.Barrier();    MPI.Finalize();  }//end main} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -