<p><b>duda</b> 2012-01-09 15:01:16 -0700 (Mon, 09 Jan 2012)</p><p>BRANCH COMMIT<br>
<br>
Add copy lists for shared-memory copies of ghost cells to complement<br>
the existing send and receive lists for MPI communication of ghost cells.<br>
<br>
<br>
M src/registry/gen_inc.c<br>
M src/framework/mpas_grid_types.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/omp_blocks/ddt_reorg/src/framework/mpas_grid_types.F
===================================================================
--- branches/omp_blocks/ddt_reorg/src/framework/mpas_grid_types.F        2012-01-09 21:23:30 UTC (rev 1326)
+++ branches/omp_blocks/ddt_reorg/src/framework/mpas_grid_types.F        2012-01-09 22:01:16 UTC (rev 1327)
@@ -149,10 +149,15 @@
type parallel_info
type (exchange_list), pointer :: cellsToSend ! List of types describing which cells to send to other blocks
type (exchange_list), pointer :: cellsToRecv ! List of types describing which cells to receive from other blocks
+ type (exchange_list), pointer :: cellsToCopy ! List of types describing which cells to copy from other blocks
+
type (exchange_list), pointer :: edgesToSend ! List of types describing which edges to send to other blocks
type (exchange_list), pointer :: edgesToRecv ! List of types describing which edges to receive from other blocks
+ type (exchange_list), pointer :: edgesToCopy ! List of types describing which edges to copy from other blocks
+
type (exchange_list), pointer :: verticesToSend ! List of types describing which vertices to send to other blocks
type (exchange_list), pointer :: verticesToRecv ! List of types describing which vertices to receive from other blocks
+ type (exchange_list), pointer :: verticesToCopy ! List of types describing which vertices to copy from other blocks
end type parallel_info
Modified: branches/omp_blocks/ddt_reorg/src/registry/gen_inc.c
===================================================================
--- branches/omp_blocks/ddt_reorg/src/registry/gen_inc.c        2012-01-09 21:23:30 UTC (rev 1326)
+++ branches/omp_blocks/ddt_reorg/src/registry/gen_inc.c        2012-01-09 22:01:16 UTC (rev 1327)
@@ -866,18 +866,21 @@
for(i=1; i<=var_ptr2->ntime_levs; i++) {
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% sendList => b %% parinfo %% cellsToSend</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% recvList => b %% parinfo %% cellsToRecv</font>
<font color="blue">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% copyList => b %% parinfo %% cellsToCopy</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
}
}
else if (strncmp("nEdges",outer_dim,1024) == 0) {
for(i=1; i<=var_ptr2->ntime_levs; i++) {
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% sendList => b %% parinfo %% edgesToSend</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% recvList => b %% parinfo %% edgesToRecv</font>
<font color="blue">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% copyList => b %% parinfo %% edgesToCopy</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
}
}
else if (strncmp("nVertices",outer_dim,1024) == 0) {
for(i=1; i<=var_ptr2->ntime_levs; i++) {
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% sendList => b %% parinfo %% verticesToSend</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% recvList => b %% parinfo %% verticesToRecv</font>
<font color="blue">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% copyList => b %% parinfo %% verticesToCopy</font>
<font color="gray">", group_ptr->name, i, group_ptr->name, var_ptr2->super_array);
}
}
}
@@ -885,7 +888,18 @@
if (strncmp("nCells",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% %s %% sendList => b %% parinfo %% cellsToSend</font>
<font color="black">", group_ptr->name, var_ptr2->super_array);
fortprintf(fd, " b %% %s %% %s %% recvList => b %% parinfo %% cellsToRecv</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% %s %% copyList => b %% parinfo %% cellsToCopy</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
}
+ else if (strncmp("nEdges",outer_dim,1024) == 0) {
+ fortprintf(fd, " b %% %s %% %s %% sendList => b %% parinfo %% edgesToSend</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% %s %% recvList => b %% parinfo %% edgesToRecv</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% %s %% copyList => b %% parinfo %% edgesToCopy</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ }
+ else if (strncmp("nVertices",outer_dim,1024) == 0) {
+ fortprintf(fd, " b %% %s %% %s %% sendList => b %% parinfo %% verticesToSend</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% %s %% recvList => b %% parinfo %% verticesToRecv</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ fortprintf(fd, " b %% %s %% %s %% copyList => b %% parinfo %% verticesToCopy</font>
<font color="blue">", group_ptr->name, var_ptr2->super_array);
+ }
}
fortprintf(fd, "</font>
<font color="gray">");
}
@@ -897,14 +911,17 @@
if (strncmp("nCells",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% sendList => b %% parinfo %% cellsToSend</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% recvList => b %% parinfo %% cellsToRecv</font>
<font color="blue">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
+ fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% copyList => b %% parinfo %% cellsToCopy</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
}
else if (strncmp("nEdges",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% sendList => b %% parinfo %% edgesToSend</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% recvList => b %% parinfo %% edgesToRecv</font>
<font color="blue">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
+ fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% copyList => b %% parinfo %% edgesToCopy</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
}
else if (strncmp("nVertices",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% sendList => b %% parinfo %% verticesToSend</font>
<font color="black">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% recvList => b %% parinfo %% verticesToRecv</font>
<font color="blue">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
+ fortprintf(fd, " b %% %s %% time_levs(%i) %% %s %% %s %% copyList => b %% parinfo %% verticesToCopy</font>
<font color="gray">", group_ptr->name, i, group_ptr->name, var_ptr->name_in_code);
}
}
}
@@ -912,14 +929,17 @@
if (strncmp("nCells",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% %s %% sendList => b %% parinfo %% cellsToSend</font>
<font color="black">", group_ptr->name, var_ptr->name_in_code);
fortprintf(fd, " b %% %s %% %s %% recvList => b %% parinfo %% cellsToRecv</font>
<font color="blue">", group_ptr->name, var_ptr->name_in_code);
+ fortprintf(fd, " b %% %s %% %s %% copyList => b %% parinfo %% cellsToCopy</font>
<font color="black">", group_ptr->name, var_ptr->name_in_code);
}
else if (strncmp("nEdges",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% %s %% sendList => b %% parinfo %% edgesToSend</font>
<font color="black">", group_ptr->name, var_ptr->name_in_code);
fortprintf(fd, " b %% %s %% %s %% recvList => b %% parinfo %% edgesToRecv</font>
<font color="blue">", group_ptr->name, var_ptr->name_in_code);
+ fortprintf(fd, " b %% %s %% %s %% copyList => b %% parinfo %% edgesToCopy</font>
<font color="black">", group_ptr->name, var_ptr->name_in_code);
}
else if (strncmp("nVertices",outer_dim,1024) == 0) {
fortprintf(fd, " b %% %s %% %s %% sendList => b %% parinfo %% verticesToSend</font>
<font color="black">", group_ptr->name, var_ptr->name_in_code);
fortprintf(fd, " b %% %s %% %s %% recvList => b %% parinfo %% verticesToRecv</font>
<font color="blue">", group_ptr->name, var_ptr->name_in_code);
+ fortprintf(fd, " b %% %s %% %s %% copyList => b %% parinfo %% verticesToCopy</font>
<font color="black">", group_ptr->name, var_ptr->name_in_code);
}
}
fortprintf(fd, "</font>
<font color="black">");
</font>
</pre>