|
|
@ -113,32 +113,35 @@ void PARALLEL_PROCESS_EXPOSED_VERTEX_B(MilanLongInt NLVer,
|
|
|
|
|
|
|
|
|
|
|
|
} // End of if(w >=0)
|
|
|
|
} // End of if(w >=0)
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
// This piece of code is executed a really small amount of times
|
|
|
|
#pragma omp critical(adjuse)
|
|
|
|
adj11 = verLocPtr[v];
|
|
|
|
{
|
|
|
|
adj12 = verLocPtr[v + 1];
|
|
|
|
// This piece of code is executed a really small number of times
|
|
|
|
for (k1 = adj11; k1 < adj12; k1++) {
|
|
|
|
adj11 = verLocPtr[v];
|
|
|
|
w = verLocInd[k1];
|
|
|
|
adj12 = verLocPtr[v + 1];
|
|
|
|
if ((w < StartIndex) || (w > EndIndex)) { // A ghost
|
|
|
|
for (k1 = adj11; k1 < adj12; k1++) {
|
|
|
|
|
|
|
|
w = verLocInd[k1];
|
|
|
|
|
|
|
|
if ((w < StartIndex) || (w > EndIndex)) { // A ghost
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PRINT_DEBUG_INFO_
|
|
|
|
#ifdef PRINT_DEBUG_INFO_
|
|
|
|
cout << "\n(" << myRank << ")Sending a failure message: ";
|
|
|
|
cout << "\n(" << myRank << ")Sending a failure message: ";
|
|
|
|
cout << "\n(" << myRank << ")Ghost is " << w << " Owner is: " << findOwnerOfGhost(w, verDistance, myRank, numProcs);
|
|
|
|
cout << "\n(" << myRank << ")Ghost is " << w << " Owner is: " << findOwnerOfGhost(w, verDistance, myRank, numProcs);
|
|
|
|
fflush(stdout);
|
|
|
|
fflush(stdout);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
(*msgInd)++;
|
|
|
|
(*msgInd)++;
|
|
|
|
(*NumMessagesBundled)++;
|
|
|
|
(*NumMessagesBundled)++;
|
|
|
|
ghostOwner = findOwnerOfGhost(w, verDistance, myRank, numProcs);
|
|
|
|
ghostOwner = findOwnerOfGhost(w, verDistance, myRank, numProcs);
|
|
|
|
// assert(ghostOwner != -1);
|
|
|
|
// assert(ghostOwner != -1);
|
|
|
|
// assert(ghostOwner != myRank);
|
|
|
|
// assert(ghostOwner != myRank);
|
|
|
|
PCounter[ghostOwner]++;
|
|
|
|
PCounter[ghostOwner]++;
|
|
|
|
|
|
|
|
|
|
|
|
privateQLocalVtx.push_back(v + StartIndex);
|
|
|
|
privateQLocalVtx.push_back(v + StartIndex);
|
|
|
|
privateQGhostVtx.push_back(w);
|
|
|
|
privateQGhostVtx.push_back(w);
|
|
|
|
privateQMsgType.push_back(FAILURE);
|
|
|
|
privateQMsgType.push_back(FAILURE);
|
|
|
|
privateQOwner.push_back(ghostOwner);
|
|
|
|
privateQOwner.push_back(ghostOwner);
|
|
|
|
|
|
|
|
|
|
|
|
} // End of if(GHOST)
|
|
|
|
} // End of if(GHOST)
|
|
|
|
} // End of for loop
|
|
|
|
} // End of for loop
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// End: PARALLEL_PROCESS_EXPOSED_VERTEX_B(v)
|
|
|
|
// End: PARALLEL_PROCESS_EXPOSED_VERTEX_B(v)
|
|
|
|
|
|
|
|
|
|
|
|