[cig-commits] [commit] rajesh-petsc-schur: replaced all occurences of the caps_per_proc iteration variable by CPPR in Regional_parallel_related.c (0dace02)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 19:06:01 PST 2014
Repository : https://github.com/geodynamics/citcoms
On branch : rajesh-petsc-schur
Link : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd
>---------------------------------------------------------------
commit 0dace02f1a15c963bc02965a96c72bb716bc08f3
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date: Tue Sep 16 10:21:37 2014 -0700
replaced all occurences of the caps_per_proc iteration variable by CPPR in Regional_parallel_related.c
>---------------------------------------------------------------
0dace02f1a15c963bc02965a96c72bb716bc08f3
lib/Regional_parallel_related.c | 286 ++++++++++++++++++++--------------------
1 file changed, 143 insertions(+), 143 deletions(-)
diff --git a/lib/Regional_parallel_related.c b/lib/Regional_parallel_related.c
index f467659..90688c5 100644
--- a/lib/Regional_parallel_related.c
+++ b/lib/Regional_parallel_related.c
@@ -83,7 +83,7 @@ void regional_parallel_processor_setup(struct All_variables *E)
i = cases[E->sphere.caps_per_proc];
for (j=1;j<=E->sphere.caps_per_proc;j++) {
- E->sphere.capid[j] = 1;
+ E->sphere.capid[CPPR] = 1;
}
/* steup location-to-processor map */
@@ -109,7 +109,7 @@ void regional_parallel_processor_setup(struct All_variables *E)
if (E->control.verbose) {
fprintf(E->fp_out,"me=%d loc1=%d loc2=%d loc3=%d\n",me,E->parallel.me_loc[1],E->parallel.me_loc[2],E->parallel.me_loc[3]);
for (j=1;j<=E->sphere.caps_per_proc;j++) {
- fprintf(E->fp_out,"capid[%d]=%d \n",j,E->sphere.capid[j]);
+ fprintf(E->fp_out,"capid[%d]=%d \n",CPPR,E->sphere.capid[CPPR]);
}
for (m=0;m<E->sphere.caps;m++)
for (j=0;j<E->parallel.nprocy;j++)
@@ -322,11 +322,11 @@ void regional_parallel_domain_boundary_nodes(E)
for(j=1;j<=noz;j++)
for(k=1;k<=noy;k++) {
node = j + (k-1)*noz*nox;
- E->parallel.NODE[lev][m][++lnode].bound[ii] = node;
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | OFFSIDE;
+ E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
}
- E->parallel.NUM_NNO[lev][m].bound[ii] = lnode;
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
lnode = 0;
@@ -334,11 +334,11 @@ void regional_parallel_domain_boundary_nodes(E)
for(j=1;j<=noz;j++)
for(k=1;k<=noy;k++) {
node = (nox-1)*noz + j + (k-1)*noz*nox;
- E->parallel.NODE[lev][m][++lnode].bound[ii] = node;
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | OFFSIDE;
+ E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
}
- E->parallel.NUM_NNO[lev][m].bound[ii] = lnode;
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
/* do XOY boundary elements */
@@ -347,22 +347,22 @@ void regional_parallel_domain_boundary_nodes(E)
for(k=1;k<=noy;k++)
for(i=1;i<=nox;i++) {
node = (k-1)*nox*noz + (i-1)*noz + 1;
- E->parallel.NODE[lev][m][++lnode].bound[ii] = node;
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | OFFSIDE;
+ E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
}
- E->parallel.NUM_NNO[lev][m].bound[ii] = lnode;
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
ii=6; /* top */
lnode=0;
for(k=1;k<=noy;k++)
for(i=1;i<=nox;i++) {
node = (k-1)*nox*noz + i*noz;
- E->parallel.NODE[lev][m][++lnode].bound[ii] = node;
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | OFFSIDE;
+ E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
}
- E->parallel.NUM_NNO[lev][m].bound[ii] = lnode;
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
/* do XOZ boundary elements for 3D */
@@ -371,41 +371,41 @@ void regional_parallel_domain_boundary_nodes(E)
for(j=1;j<=noz;j++)
for(i=1;i<=nox;i++) {
node = (i-1)*noz +j;
- E->parallel.NODE[lev][m][++lnode].bound[ii] = node;
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | OFFSIDE;
+ E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
}
- E->parallel.NUM_NNO[lev][m].bound[ii] = lnode;
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
ii=4; /* rear */
lnode=0;
for(j=1;j<=noz;j++)
for(i=1;i<=nox;i++) {
node = noz*nox*(noy-1) + (i-1)*noz +j;
- E->parallel.NODE[lev][m][++lnode].bound[ii] = node;
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | OFFSIDE;
+ E->parallel.NODE[lev][CPPR][++lnode].bound[ii] = node;
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | OFFSIDE;
}
- E->parallel.NUM_NNO[lev][m].bound[ii] = lnode;
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii] = lnode;
/* determine the overlapped nodes between caps or between proc */
if (E->parallel.me_loc[1]!=E->parallel.nprocx-1)
- for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][m].bound[2];lnode++) {
- node = E->parallel.NODE[lev][m][lnode].bound[2];
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | SKIP;
+ for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[2];lnode++) {
+ node = E->parallel.NODE[lev][CPPR][lnode].bound[2];
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
}
if (E->parallel.me_loc[2]!=E->parallel.nprocy-1)
- for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][m].bound[4];lnode++) {
- node = E->parallel.NODE[lev][m][lnode].bound[4];
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | SKIP;
+ for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[4];lnode++) {
+ node = E->parallel.NODE[lev][CPPR][lnode].bound[4];
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
}
if (E->parallel.me_loc[3]!=E->parallel.nprocz-1)
- for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][m].bound[6];lnode++) {
- node = E->parallel.NODE[lev][m][lnode].bound[6];
- E->NODE[lev][m][node] = E->NODE[lev][m][node] | SKIP;
+ for (lnode=1;lnode<=E->parallel.NUM_NNO[lev][CPPR].bound[6];lnode++) {
+ node = E->parallel.NODE[lev][CPPR][lnode].bound[6];
+ E->NODE[lev][CPPR][node] = E->NODE[lev][CPPR][node] | SKIP;
}
} /* end for m */
@@ -416,14 +416,14 @@ if (E->control.verbose) {
fprintf(E->fp_out,"output_shared_nodes %d \n",E->parallel.me);
for(lev=E->mesh.gridmax;lev>=E->mesh.gridmin;lev--)
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- fprintf(E->fp_out,"lev=%d me=%d capid=%d m=%d \n",lev,E->parallel.me,E->sphere.capid[m],m);
+ fprintf(E->fp_out,"lev=%d me=%d capid=%d m=%d \n",lev,E->parallel.me,E->sphere.capid[CPPR],CPPR);
for (ii=1;ii<=6;ii++)
- for (i=1;i<=E->parallel.NUM_NNO[lev][m].bound[ii];i++)
- fprintf(E->fp_out,"ii=%d %d %d \n",ii,i,E->parallel.NODE[lev][m][i].bound[ii]);
+ for (i=1;i<=E->parallel.NUM_NNO[lev][CPPR].bound[ii];i++)
+ fprintf(E->fp_out,"ii=%d %d %d \n",ii,i,E->parallel.NODE[lev][CPPR][i].bound[ii]);
lnode=0;
for (node=1;node<=E->lmesh.NNO[lev];node++)
- if((E->NODE[lev][m][node] & SKIP)) {
+ if((E->NODE[lev][CPPR][node] & SKIP)) {
lnode++;
fprintf(E->fp_out,"skip %d %d \n",lnode,node);
}
@@ -475,38 +475,38 @@ void regional_parallel_communication_routs_v(E)
for(m=1;m<=E->sphere.caps_per_proc;m++) {
- cap = E->sphere.capid[m] - 1; /* which cap I am in (0~11) */
+ cap = E->sphere.capid[CPPR] - 1; /* which cap I am in (0~11) */
for(i=1;i<=2;i++) { /* do YOZ boundaries & OY lines */
ii ++;
- E->parallel.NUM_PASS[lev][m].bound[ii] = 1;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 1;
if(E->parallel.me_loc[1]==0 && i==1)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
else if(E->parallel.me_loc[1]==nprocxl-1 && i==2)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
- if (E->parallel.NUM_PASS[lev][m].bound[ii] == 1) {
+ if (E->parallel.NUM_PASS[lev][CPPR].bound[ii] == 1) {
kkk ++;
/* determine the pass ID for ii-th boundary and kkk-th pass */
/*E->parallel.PROCESSOR[lev][m].pass[kkk]=me-((i==1)?1:-1)*nproczl; */
dir = ( (i==1)? 1 : -1);
- E->parallel.PROCESSOR[lev][m].pass[kkk]=E->parallel.loc2proc_map[cap][lx-dir][ly][lz];
+ E->parallel.PROCESSOR[lev][CPPR].pass[kkk]=E->parallel.loc2proc_map[cap][lx-dir][ly][lz];
- E->parallel.NUM_NODE[lev][m].pass[kkk] = E->parallel.NUM_NNO[lev][m].bound[ii];
+ E->parallel.NUM_NODE[lev][CPPR].pass[kkk] = E->parallel.NUM_NNO[lev][CPPR].bound[ii];
jj = 0;
- for (k=1;k<=E->parallel.NUM_NODE[lev][m].pass[kkk];k++) {
+ for (k=1;k<=E->parallel.NUM_NODE[lev][CPPR].pass[kkk];k++) {
lnode = k;
- node = E->parallel.NODE[lev][m][lnode].bound[ii];
- E->parallel.EXCHANGE_NODE[lev][m][k].pass[kkk] = node;
+ node = E->parallel.NODE[lev][CPPR][lnode].bound[ii];
+ E->parallel.EXCHANGE_NODE[lev][CPPR][k].pass[kkk] = node;
temp_dims = dims;
for(doff=1;doff<=temp_dims;doff++)
- E->parallel.EXCHANGE_ID[lev][m][++jj].pass[kkk] = E->ID[lev][m][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][CPPR][node].doff[doff];
} /* end for node k */
- E->parallel.NUM_NEQ[lev][m].pass[kkk] = jj;
+ E->parallel.NUM_NEQ[lev][CPPR].pass[kkk] = jj;
} /* end if */
} /* end for i */
@@ -514,34 +514,34 @@ void regional_parallel_communication_routs_v(E)
for(k=1;k<=2;k++) { /* do XOZ boundaries & OZ lines */
ii ++;
- E->parallel.NUM_PASS[lev][m].bound[ii] = 1;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 1;
if(E->parallel.me_loc[2]==0 && k==1)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
else if(E->parallel.me_loc[2]==nprocyl-1 && k==2)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
- if(E->parallel.NUM_PASS[lev][m].bound[ii] == 1) {
+ if(E->parallel.NUM_PASS[lev][CPPR].bound[ii] == 1) {
kkk ++;
/* determine the pass ID for ii-th boundary and kkk-th pass */
/*E->parallel.PROCESSOR[lev][m].pass[kkk]=me-((k==1)?1:-1)*nprocxl*nproczl; */
dir = ( (k==1)? 1 : -1);
- E->parallel.PROCESSOR[lev][m].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly-dir][lz];
+ E->parallel.PROCESSOR[lev][CPPR].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly-dir][lz];
- E->parallel.NUM_NODE[lev][m].pass[kkk] = E->parallel.NUM_NNO[lev][m].bound[ii];
+ E->parallel.NUM_NODE[lev][CPPR].pass[kkk] = E->parallel.NUM_NNO[lev][CPPR].bound[ii];
jj = 0; kf = 0;
- for (kk=1;kk<=E->parallel.NUM_NODE[lev][m].pass[kkk];kk++) {
+ for (kk=1;kk<=E->parallel.NUM_NODE[lev][CPPR].pass[kkk];kk++) {
lnode = kk;
- node = E->parallel.NODE[lev][m][lnode].bound[ii];
- E->parallel.EXCHANGE_NODE[lev][m][kk].pass[kkk] = node;
+ node = E->parallel.NODE[lev][CPPR][lnode].bound[ii];
+ 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][m][++jj].pass[kkk] = E->ID[lev][m][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][CPPR][node].doff[doff];
} /* end for node kk */
- E->parallel.NUM_NEQ[lev][m].pass[kkk] = jj;
+ E->parallel.NUM_NEQ[lev][CPPR].pass[kkk] = jj;
} /* end if */
@@ -550,40 +550,40 @@ void regional_parallel_communication_routs_v(E)
for(j=1;j<=2;j++) { /* do XOY boundaries & OX lines */
ii ++;
- E->parallel.NUM_PASS[lev][m].bound[ii] = 1;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 1;
if(E->parallel.me_loc[3]==0 && j==1)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
else if(E->parallel.me_loc[3]==nproczl-1 && j==2)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
- if(E->parallel.NUM_PASS[lev][m].bound[ii] == 1) {
+ if(E->parallel.NUM_PASS[lev][CPPR].bound[ii] == 1) {
kkk ++;
/* determine the pass ID for ii-th boundary and kkk-th pass */
/*E->parallel.PROCESSOR[lev][m].pass[kkk]=me-((j==1)?1:-1);*/
dir = ( (j==1)? 1 : -1);
- E->parallel.PROCESSOR[lev][m].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly][lz-dir];
+ E->parallel.PROCESSOR[lev][CPPR].pass[kkk]=E->parallel.loc2proc_map[cap][lx][ly][lz-dir];
- E->parallel.NUM_NODE[lev][m].pass[kkk] = E->parallel.NUM_NNO[lev][m].bound[ii];
+ E->parallel.NUM_NODE[lev][CPPR].pass[kkk] = E->parallel.NUM_NNO[lev][m].bound[ii];
jj = 0; kf = 0;
- for (kk=1;kk<=E->parallel.NUM_NODE[lev][m].pass[kkk];kk++) {
+ for (kk=1;kk<=E->parallel.NUM_NODE[lev][CPPR].pass[kkk];kk++) {
lnode = kk;
- node = E->parallel.NODE[lev][m][lnode].bound[ii];
- E->parallel.EXCHANGE_NODE[lev][m][kk].pass[kkk] = node;
+ node = E->parallel.NODE[lev][CPPR][lnode].bound[ii];
+ 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][m][++jj].pass[kkk] = E->ID[lev][m][node].doff[doff];
+ E->parallel.EXCHANGE_ID[lev][CPPR][++jj].pass[kkk] = E->ID[lev][CPPR][node].doff[doff];
} /* end for node k */
- E->parallel.NUM_NEQ[lev][m].pass[kkk] = jj;
+ E->parallel.NUM_NEQ[lev][CPPR].pass[kkk] = jj;
} /* end if */
} /* end for j */
- E->parallel.TNUM_PASS[lev][m] = kkk;
+ E->parallel.TNUM_PASS[lev][CPPR] = kkk;
} /* end for m */
@@ -594,9 +594,9 @@ void regional_parallel_communication_routs_v(E)
for(lev=E->mesh.gridmax;lev>=E->mesh.gridmin;lev--) {
fprintf(E->fp_out,"output_communication route surface for lev=%d \n",lev);
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- fprintf(E->fp_out," me= %d cap=%d pass %d \n",E->parallel.me,E->sphere.capid[m],E->parallel.TNUM_PASS[lev][m]);
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
- 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][m].pass[k],E->parallel.NUM_NEQ[lev][m].pass[k],E->parallel.NUM_NODE[lev][m].pass[k]);
+ fprintf(E->fp_out," me= %d cap=%d pass %d \n",E->parallel.me,E->sphere.capid[CPPR],E->parallel.TNUM_PASS[lev][CPPR]);
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
+ 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][CPPR].pass[k],E->parallel.NUM_NEQ[lev][CPPR].pass[k],E->parallel.NUM_NODE[lev][CPPR].pass[k]);
/* fprintf(E->fp_out,"Eqn:\n"); */
/* for (ii=1;ii<=E->parallel.NUM_NEQ[lev][m].pass[k];ii++) */
/* fprintf(E->fp_out,"%d %d\n",ii,E->parallel.EXCHANGE_ID[lev][m][ii].pass[k]); */
@@ -654,24 +654,24 @@ void regional_parallel_communication_routs_s(E)
for(i=1;i<=2;i++) { /* do YOZ boundaries & OY lines */
ii ++;
- E->parallel.NUM_PASS[lev][m].bound[ii] = 1;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 1;
if(E->parallel.me_loc[1]==0 && i==1)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
else if(E->parallel.me_loc[1]==nprocxl-1 && i==2)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
for (p=1;p<=E->parallel.NUM_PASS[lev][m].bound[ii];p++) {
kkk ++;
/* determine the pass ID for ii-th boundary and p-th pass */
- E->parallel.sPROCESSOR[lev][m].pass[kkk]=me-((i==1)?1:-1)*nproczl;
+ E->parallel.sPROCESSOR[lev][CPPR].pass[kkk]=me-((i==1)?1:-1)*nproczl;
- E->parallel.NUM_sNODE[lev][m].pass[kkk] =
- E->parallel.NUM_NNO[lev][m].bound[ii]/noz;
- for (k=1;k<=E->parallel.NUM_sNODE[lev][m].pass[kkk];k++) {
+ E->parallel.NUM_sNODE[lev][CPPR].pass[kkk] =
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii]/noz;
+ for (k=1;k<=E->parallel.NUM_sNODE[lev][CPPR].pass[kkk];k++) {
lnode = k; /* due to lnode increases in horizontal di first */
- node = (E->parallel.NODE[lev][m][lnode].bound[ii]-1)/noz+1;
- E->parallel.EXCHANGE_sNODE[lev][m][k].pass[kkk] = node;
+ node = (E->parallel.NODE[lev][CPPR][lnode].bound[ii]-1)/noz+1;
+ E->parallel.EXCHANGE_sNODE[lev][CPPR][k].pass[kkk] = node;
} /* end for node k */
} /* end for loop p */
@@ -681,26 +681,26 @@ void regional_parallel_communication_routs_s(E)
for(k=1;k<=2;k++) { /* do XOZ boundaries & OX lines */
ii ++;
- E->parallel.NUM_PASS[lev][m].bound[ii] = 1;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 1;
if(E->parallel.me_loc[2]==0 && k==1)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
else if(E->parallel.me_loc[2]==nprocyl-1 && k==2)
- E->parallel.NUM_PASS[lev][m].bound[ii] = 0;
+ E->parallel.NUM_PASS[lev][CPPR].bound[ii] = 0;
- for (p=1;p<=E->parallel.NUM_PASS[lev][m].bound[ii];p++) {
+ for (p=1;p<=E->parallel.NUM_PASS[lev][CPPR].bound[ii];p++) {
kkk ++;
/* determine the pass ID for ii-th boundary and p-th pass */
- E->parallel.sPROCESSOR[lev][m].pass[kkk]=me-((k==1)?1:-1)*nprocxl*nproczl;
+ E->parallel.sPROCESSOR[lev][CPPR].pass[kkk]=me-((k==1)?1:-1)*nprocxl*nproczl;
- E->parallel.NUM_sNODE[lev][m].pass[kkk] =
- E->parallel.NUM_NNO[lev][m].bound[ii]/noz;
+ E->parallel.NUM_sNODE[lev][CPPR].pass[kkk] =
+ E->parallel.NUM_NNO[lev][CPPR].bound[ii]/noz;
- for (kk=1;kk<=E->parallel.NUM_sNODE[lev][m].pass[kkk];kk++) {
+ for (kk=1;kk<=E->parallel.NUM_sNODE[lev][CPPR].pass[kkk];kk++) {
lnode = kk; /* due to lnode increases in horizontal di first */
- node = (E->parallel.NODE[lev][m][lnode].bound[ii]-1)/noz+1;
- E->parallel.EXCHANGE_sNODE[lev][m][kk].pass[kkk] = node;
+ node = (E->parallel.NODE[lev][CPPR][lnode].bound[ii]-1)/noz+1;
+ E->parallel.EXCHANGE_sNODE[lev][CPPR][kk].pass[kkk] = node;
} /* end for node kk */
} /* end for loop p */
@@ -708,7 +708,7 @@ void regional_parallel_communication_routs_s(E)
} /* end for k */
- E->parallel.sTNUM_PASS[lev][m] = kkk;
+ E->parallel.sTNUM_PASS[lev][CPPR] = kkk;
} /* end for m */
@@ -754,33 +754,33 @@ void regional_exchange_id_d(E, U, lev)
MPI_Status status;
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
- sizeofk = (1+E->parallel.NUM_NEQ[lev][m].pass[k])*sizeof(double);
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
+ sizeofk = (1+E->parallel.NUM_NEQ[lev][CPPR].pass[k])*sizeof(double);
S[k]=(double *)malloc( sizeofk );
R[k]=(double *)malloc( sizeofk );
}
}
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
- for (j=1;j<=E->parallel.NUM_NEQ[lev][m].pass[k];j++)
- S[k][j-1] = U[m][ E->parallel.EXCHANGE_ID[lev][m][j].pass[k] ];
+ for (j=1;j<=E->parallel.NUM_NEQ[lev][CPPR].pass[k];j++)
+ S[k][j-1] = U[CPPR][ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ];
- MPI_Sendrecv(S[k],E->parallel.NUM_NEQ[lev][m].pass[k],MPI_DOUBLE,
- E->parallel.PROCESSOR[lev][m].pass[k],1,
- R[k],E->parallel.NUM_NEQ[lev][m].pass[k],MPI_DOUBLE,
- E->parallel.PROCESSOR[lev][m].pass[k],1,
+ MPI_Sendrecv(S[k],E->parallel.NUM_NEQ[lev][CPPR].pass[k],MPI_DOUBLE,
+ E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+ R[k],E->parallel.NUM_NEQ[lev][CPPR].pass[k],MPI_DOUBLE,
+ E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
E->parallel.world,&status);
- for (j=1;j<=E->parallel.NUM_NEQ[lev][m].pass[k];j++)
- U[m][ E->parallel.EXCHANGE_ID[lev][m][j].pass[k] ] += R[k][j-1];
+ for (j=1;j<=E->parallel.NUM_NEQ[lev][CPPR].pass[k];j++)
+ U[CPPR][ E->parallel.EXCHANGE_ID[lev][CPPR][j].pass[k] ] += R[k][j-1];
} /* for k */
} /* for m */ /* finish sending */
for (m=1;m<=E->sphere.caps_per_proc;m++)
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
free((void*) S[k]);
free((void*) R[k]);
}
@@ -804,32 +804,32 @@ static void exchange_node_d(E, U, lev)
MPI_Status status;
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
- sizeofk = (1+E->parallel.NUM_NODE[lev][m].pass[k])*sizeof(double);
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
+ sizeofk = (1+E->parallel.NUM_NODE[lev][CPPR].pass[k])*sizeof(double);
S[k]=(double *)malloc( sizeofk );
R[k]=(double *)malloc( sizeofk );
} /* end for k */
}
for(m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
- for (j=1;j<=E->parallel.NUM_NODE[lev][m].pass[k];j++)
- S[k][j-1] = U[m][ E->parallel.EXCHANGE_NODE[lev][m][j].pass[k] ];
+ for (j=1;j<=E->parallel.NUM_NODE[lev][CPPR].pass[k];j++)
+ S[k][j-1] = U[CPPR][ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ];
- MPI_Sendrecv(S[k],E->parallel.NUM_NODE[lev][m].pass[k],MPI_DOUBLE,
- E->parallel.PROCESSOR[lev][m].pass[k],1,
- R[k],E->parallel.NUM_NODE[lev][m].pass[k],MPI_DOUBLE,
- E->parallel.PROCESSOR[lev][m].pass[k],1,
+ MPI_Sendrecv(S[k],E->parallel.NUM_NODE[lev][CPPR].pass[k],MPI_DOUBLE,
+ E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+ R[k],E->parallel.NUM_NODE[lev][CPPR].pass[k],MPI_DOUBLE,
+ E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
E->parallel.world,&status);
- for (j=1;j<=E->parallel.NUM_NODE[lev][m].pass[k];j++)
- U[m][ E->parallel.EXCHANGE_NODE[lev][m][j].pass[k] ] += R[k][j-1];
+ for (j=1;j<=E->parallel.NUM_NODE[lev][CPPR].pass[k];j++)
+ U[CPPR][ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ] += R[k][j-1];
}
}
for (m=1;m<=E->sphere.caps_per_proc;m++)
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
free((void*) S[k]);
free((void*) R[k]);
}
@@ -853,8 +853,8 @@ static void exchange_node_f(E, U, lev)
MPI_Status status;
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
- sizeofk = (1+E->parallel.NUM_NODE[lev][m].pass[k])*sizeof(float);
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
+ sizeofk = (1+E->parallel.NUM_NODE[lev][CPPR].pass[k])*sizeof(float);
S[k]=(float *)malloc( sizeofk );
R[k]=(float *)malloc( sizeofk );
} /* end for k */
@@ -862,25 +862,25 @@ static void exchange_node_f(E, U, lev)
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
- for (j=1;j<=E->parallel.NUM_NODE[lev][m].pass[k];j++)
- S[k][j-1] = U[m][ E->parallel.EXCHANGE_NODE[lev][m][j].pass[k] ];
+ for (j=1;j<=E->parallel.NUM_NODE[lev][CPPR].pass[k];j++)
+ S[k][j-1] = U[CPPR][ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ];
- MPI_Sendrecv(S[k],E->parallel.NUM_NODE[lev][m].pass[k],MPI_FLOAT,
- E->parallel.PROCESSOR[lev][m].pass[k],1,
- R[k],E->parallel.NUM_NODE[lev][m].pass[k],MPI_FLOAT,
- E->parallel.PROCESSOR[lev][m].pass[k],1,
+ MPI_Sendrecv(S[k],E->parallel.NUM_NODE[lev][CPPR].pass[k],MPI_FLOAT,
+ E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
+ R[k],E->parallel.NUM_NODE[lev][CPPR].pass[k],MPI_FLOAT,
+ E->parallel.PROCESSOR[lev][CPPR].pass[k],1,
E->parallel.world,&status);
- for (j=1;j<=E->parallel.NUM_NODE[lev][m].pass[k];j++)
- U[m][ E->parallel.EXCHANGE_NODE[lev][m][j].pass[k] ] += R[k][j-1];
+ for (j=1;j<=E->parallel.NUM_NODE[lev][CPPR].pass[k];j++)
+ U[CPPR][ E->parallel.EXCHANGE_NODE[lev][CPPR][j].pass[k] ] += R[k][j-1];
}
}
for (m=1;m<=E->sphere.caps_per_proc;m++)
- for (k=1;k<=E->parallel.TNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.TNUM_PASS[lev][CPPR];k++) {
free((void*) S[k]);
free((void*) R[k]);
}
@@ -902,39 +902,39 @@ void regional_exchange_snode_f(struct All_variables *E, float **U1,
MPI_Status status;
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.sTNUM_PASS[lev][m];k++) {
- sizeofk = (1+2*E->parallel.NUM_sNODE[lev][m].pass[k])*sizeof(float);
+ for (k=1;k<=E->parallel.sTNUM_PASS[lev][CPPR];k++) {
+ sizeofk = (1+2*E->parallel.NUM_sNODE[lev][CPPR].pass[k])*sizeof(float);
S[k]=(float *)malloc( sizeofk );
R[k]=(float *)malloc( sizeofk );
}
}
for (m=1;m<=E->sphere.caps_per_proc;m++) {
- for (k=1;k<=E->parallel.sTNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.sTNUM_PASS[lev][CPPR];k++) {
- for (j=1;j<=E->parallel.NUM_sNODE[lev][m].pass[k];j++) {
- S[k][j-1] = U1[m][ E->parallel.EXCHANGE_sNODE[lev][m][j].pass[k] ];
- S[k][j-1+E->parallel.NUM_sNODE[lev][m].pass[k]]
- = U2[m][ E->parallel.EXCHANGE_sNODE[lev][m][j].pass[k] ];
+ for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
+ S[k][j-1] = U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
+ S[k][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]]
+ = U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
}
- MPI_Sendrecv(S[k],2*E->parallel.NUM_sNODE[lev][m].pass[k],MPI_FLOAT,
- E->parallel.sPROCESSOR[lev][m].pass[k],1,
- R[k],2*E->parallel.NUM_sNODE[lev][m].pass[k],MPI_FLOAT,
- E->parallel.sPROCESSOR[lev][m].pass[k],1,
+ MPI_Sendrecv(S[k],2*E->parallel.NUM_sNODE[lev][CPPR].pass[k],MPI_FLOAT,
+ E->parallel.sPROCESSOR[lev][CPPR].pass[k],1,
+ R[k],2*E->parallel.NUM_sNODE[lev][CPPR].pass[k],MPI_FLOAT,
+ E->parallel.sPROCESSOR[lev][CPPR].pass[k],1,
E->parallel.world,&status);
- for (j=1;j<=E->parallel.NUM_sNODE[lev][m].pass[k];j++) {
- U1[m][ E->parallel.EXCHANGE_sNODE[lev][m][j].pass[k] ] += R[k][j-1];
- U2[m][ E->parallel.EXCHANGE_sNODE[lev][m][j].pass[k] ] +=
- R[k][j-1+E->parallel.NUM_sNODE[lev][m].pass[k]];
+ for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
+ U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += R[k][j-1];
+ U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
+ R[k][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]];
}
}
}
for (m=1;m<=E->sphere.caps_per_proc;m++)
- for (k=1;k<=E->parallel.sTNUM_PASS[lev][m];k++) {
+ for (k=1;k<=E->parallel.sTNUM_PASS[lev][CPPR];k++) {
free((void*) S[k]);
free((void*) R[k]);
}
More information about the CIG-COMMITS
mailing list