[cig-commits] [commit] rajesh-petsc-schur: Changed the shape of E->parallel.EXCHANGE_ID as part of caps_per_proc_removal (3e79a4a)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 19:12:55 PST 2014


Repository : https://github.com/geodynamics/citcoms

On branch  : rajesh-petsc-schur
Link       : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd

>---------------------------------------------------------------

commit 3e79a4a12b3eda12de1c72229b316b4822795dcf
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Wed Sep 24 11:09:43 2014 -0700

    Changed the shape of E->parallel.EXCHANGE_ID as part of caps_per_proc_removal


>---------------------------------------------------------------

3e79a4a12b3eda12de1c72229b316b4822795dcf
 lib/Full_parallel_related.c     | 20 ++++++++++----------
 lib/Instructions.c              |  2 +-
 lib/Regional_parallel_related.c | 10 +++++-----
 lib/global_defs.h               |  2 +-
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/lib/Full_parallel_related.c b/lib/Full_parallel_related.c
index ad47ac9..836760b 100644
--- a/lib/Full_parallel_related.c
+++ b/lib/Full_parallel_related.c
@@ -684,7 +684,7 @@ void full_parallel_communication_routs_v(E)
 	    node = E->parallel.NODE[lev][CPPR][k].bound[ii];
 	    E->parallel.EXCHANGE_NODE[lev][CPPR][++kk].pass[kkkp] = node;
 	    for(doff=1;doff<=dims;doff++)
-	      E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkkp] =
+	      E->parallel.EXCHANGE_ID[lev][++jj].pass[kkkp] =
 		E->ID[lev][node].doff[doff];
 	  }
 	  E->parallel.NUM_NODE[lev].pass[kkkp] = kk;
@@ -708,7 +708,7 @@ void full_parallel_communication_routs_v(E)
 	  fprintf(E->fp_out,"proc %d and pass  %d to proc %d with %d eqn and %d node\n",E->parallel.me,k,E->parallel.PROCESSOR[lev].pass[k],E->parallel.NUM_NEQ[lev].pass[k],E->parallel.NUM_NODE[lev].pass[k]);
 	  fprintf(E->fp_out,"Eqn:\n");  
 	  for (ii=1;ii<=E->parallel.NUM_NEQ[lev].pass[k];ii++)  
-	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][CPPR][ii].pass[k]);  
+	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][ii].pass[k]);  
 	  fprintf(E->fp_out,"Node:\n");  
 	  for (ii=1;ii<=E->parallel.NUM_NODE[lev].pass[k];ii++)  
 	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_NODE[lev][CPPR][ii].pass[k]);  
@@ -721,7 +721,7 @@ void full_parallel_communication_routs_v(E)
 	fprintf(E->fp_out,"proc %d and pass  %d to proc %d\n",E->parallel.me,k,E->parallel.PROCESSORz[lev].pass[k]);
 	  fprintf(E->fp_out,"cap=%d eqn=%d node=%d\n",E->sphere.capid[CPPR],E->parallel.NUM_NEQ[lev].pass[kkkp],E->parallel.NUM_NODE[lev].pass[kkkp]);
 	  for (ii=1;ii<=E->parallel.NUM_NEQ[lev].pass[kkkp];ii++) 
-	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][CPPR][ii].pass[kkkp]); 
+	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][ii].pass[kkkp]); 
 	  for (ii=1;ii<=E->parallel.NUM_NODE[lev].pass[kkkp];ii++) 
 	    fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_NODE[lev][CPPR][ii].pass[kkkp]); 
       }
@@ -822,7 +822,7 @@ static void face_eqn_node_to_pass(E,lev,npass,bd)
     node = E->parallel.NODE[lev][CPPR][kk].bound[bd];
     E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[npass] = node;
     for(doff=1;doff<=dims;doff++)
-      E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[npass] = E->ID[lev][node].doff[doff];
+      E->parallel.EXCHANGE_ID[lev][++jj].pass[npass] = E->ID[lev][node].doff[doff];
   }
 
   E->parallel.NUM_NEQ[lev].pass[npass] = jj;
@@ -845,7 +845,7 @@ static void line_eqn_node_to_pass(E,lev,npass,num_node,offset,stride)
     node = (kk-1)*stride + offset;
     E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[npass] = node;
     for(doff=1;doff<=dims;doff++)
-      E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[npass] = E->ID[lev][node].doff[doff];
+      E->parallel.EXCHANGE_ID[lev][++jj].pass[npass] = E->ID[lev][node].doff[doff];
   }
 
   E->parallel.NUM_NEQ[lev].pass[npass] = jj;
@@ -883,7 +883,7 @@ void full_exchange_id_d(E, U, lev)
     for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)     {
 
       for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++) {
-        S[k][j-1] = U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ];
+        S[k][j-1] = U[ E->parallel.EXCHANGE_ID[lev][j].pass[k] ];
 	}
 
       if (E->parallel.PROCESSOR[lev].pass[k] != E->parallel.me &&
@@ -906,7 +906,7 @@ void full_exchange_id_d(E, U, lev)
       }
       else {
 	for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++)
-           U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ] += S[k][j-1];
+           U[ E->parallel.EXCHANGE_ID[lev][j].pass[k] ] += S[k][j-1];
       }
     }      /* for k */
 
@@ -917,7 +917,7 @@ void full_exchange_id_d(E, U, lev)
       if (E->parallel.PROCESSOR[lev].pass[k] != E->parallel.me &&
 	  E->parallel.PROCESSOR[lev].pass[k] != -1) {
 	for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++)
-	  U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ] += R[k][j-1];
+	  U[ E->parallel.EXCHANGE_ID[lev][j].pass[k] ] += R[k][j-1];
       }
     }
 
@@ -928,7 +928,7 @@ void full_exchange_id_d(E, U, lev)
     kk = k + E->sphere.max_connections;
 
       for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[kk];j++)
-        SV[jj++] = U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[kk] ];
+        SV[jj++] = U[ E->parallel.EXCHANGE_ID[lev][j].pass[kk] ];
 
     MPI_Sendrecv(SV, E->parallel.NUM_NEQz[lev].pass[k], MPI_DOUBLE,
 		 E->parallel.PROCESSORz[lev].pass[k], 1,
@@ -938,7 +938,7 @@ void full_exchange_id_d(E, U, lev)
 
     jj = 0;
       for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[kk];j++)
-        U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[kk] ] += RV[jj++];
+        U[ E->parallel.EXCHANGE_ID[lev][j].pass[kk] ] += RV[jj++];
   }
 
    for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)  {
diff --git a/lib/Instructions.c b/lib/Instructions.c
index b1d5f6f..5643db7 100644
--- a/lib/Instructions.c
+++ b/lib/Instructions.c
@@ -1086,7 +1086,7 @@ void allocate_common_vars(E)
     E->parallel.EXCHANGE_sNODE[i][CPPR] = (struct PASS *) malloc((nozl+2)*sizeof(struct PASS));
     E->parallel.NODE[i][CPPR]   = (struct BOUND *) malloc((nxyz+2)*sizeof(struct BOUND));
     E->parallel.EXCHANGE_NODE[i][CPPR]= (struct PASS *) malloc((nxyz+2)*sizeof(struct PASS));
-    E->parallel.EXCHANGE_ID[i][CPPR] = (struct PASS *) malloc((nxyz*E->mesh.nsd+3)*sizeof(struct PASS));
+    E->parallel.EXCHANGE_ID[i] = (struct PASS *) malloc((nxyz*E->mesh.nsd+3)*sizeof(struct PASS));
 
     for(l=1;l<=E->lmesh.NNO[i];l++)  {
       E->NODE[i][l] = (INTX | INTY | INTZ);  /* and any others ... */
diff --git a/lib/Regional_parallel_related.c b/lib/Regional_parallel_related.c
index 3c387dd..3282dc9 100644
--- a/lib/Regional_parallel_related.c
+++ b/lib/Regional_parallel_related.c
@@ -487,7 +487,7 @@ void regional_parallel_communication_routs_v(E)
             temp_dims = dims;
 
                     for(doff=1;doff<=temp_dims;doff++)
-                         E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
+                         E->parallel.EXCHANGE_ID[lev][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
             }  /* end for node k */
 
               E->parallel.NUM_NEQ[lev].pass[kkk] = jj;
@@ -522,7 +522,7 @@ void regional_parallel_communication_routs_v(E)
             E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[kkk] = node;
             temp_dims = dims;
                     for(doff=1;doff<=temp_dims;doff++)
-                         E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
+                         E->parallel.EXCHANGE_ID[lev][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
             }  /* end for node kk */
 
               E->parallel.NUM_NEQ[lev].pass[kkk] = jj;
@@ -557,7 +557,7 @@ void regional_parallel_communication_routs_v(E)
             E->parallel.EXCHANGE_NODE[lev][CPPR][kk].pass[kkk] = node;
             temp_dims = dims;
                     for(doff=1;doff<=temp_dims;doff++)
-                         E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
+                         E->parallel.EXCHANGE_ID[lev][++jj].pass[kkk] = E->ID[lev][node].doff[doff];
             }  /* end for node k */
 
               E->parallel.NUM_NEQ[lev].pass[kkk] = jj;
@@ -718,7 +718,7 @@ void regional_exchange_id_d(E, U, lev)
    for (k=1;k<=E->parallel.TNUM_PASS[lev];k++)  {
 
      for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++)
-       S[k][j-1] = U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ];
+       S[k][j-1] = U[ E->parallel.EXCHANGE_ID[lev][j].pass[k] ];
 
      MPI_Sendrecv(S[k],E->parallel.NUM_NEQ[lev].pass[k],MPI_DOUBLE,
 		  E->parallel.PROCESSOR[lev].pass[k],1,
@@ -727,7 +727,7 @@ void regional_exchange_id_d(E, U, lev)
 		  E->parallel.world,&status);
 
      for (j=1;j<=E->parallel.NUM_NEQ[lev].pass[k];j++)
-       U[ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ] += R[k][j-1];
+       U[ E->parallel.EXCHANGE_ID[lev][j].pass[k] ] += R[k][j-1];
 
    }           /* for k */
 
diff --git a/lib/global_defs.h b/lib/global_defs.h
index d192905..cfb20af 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -242,7 +242,7 @@ struct Parallel {
     struct PASS NUM_NEQ[MAX_LEVELS];
     struct PASS NUM_NODE[MAX_LEVELS];
     struct PASS PROCESSOR[MAX_LEVELS];
-    struct PASS *EXCHANGE_ID[MAX_LEVELS][NCS];
+    struct PASS *EXCHANGE_ID[MAX_LEVELS];
     struct PASS *EXCHANGE_NODE[MAX_LEVELS][NCS];
 
     int TNUM_PASSz[MAX_LEVELS];



More information about the CIG-COMMITS mailing list