Ejemplos
MPI_Cart_create(MPI_COMM_WORLD,2,dim,period,reorder,&vu);
if(rank==5){
MPI_Cart_coords(vu,rank,2,coord);
printf("P:%dMy coordinates are %d %dn",rank,coord[0],coord[1]);
}
if(rank==0) {
coord[0]=3; coord[1]=1;
MPI_Cart_rank(vu,coord,&id);
printf("Theprocessor at position (%d, %d) has rank %dn",coord[0],coord[1],id);
}
MPI_Finalize();
}
Ejemplos
#include
#define TRUE 1
#define FALSE 0
void main(intargc, char *argv[]) {
int rank;
MPI_Comm vu;
int dim[2],period[2],reorder;
int up,down,right,left;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
dim[0]=4; dim[1]=3;
period[0]=TRUE; period[1]=FALSE;
reorder=TRUE;
Ejemplos
MPI_Cart_create(MPI_COMM_WORLD,2,dim,period,reorder,&vu);
if(rank==9){
MPI_Cart_shift(vu,0,1,&left,&right);
MPI_Cart_shift(vu,1,1,&up,&down);
printf("P:%dMy neighbors are r: %d d:%d 1:%d u:%dn",rank,right,down,left,up);
}
MPI_Finalize();
}
Página anterior | Volver al principio del trabajo | Página siguiente |