Improved critical region U

omp-walther
StefanoPetrilli 3 years ago
parent f921aa47c4
commit b2230a6d6d

@ -841,9 +841,13 @@ void dalgoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP(
} //End of If( v != Mate[u] ) } //End of If( v != Mate[u] )
} //End of critical region } //End of critical region
} //End of Else //A Ghost Vertex } //End of Else //A Ghost Vertex
} //End of For Loop adj(u) } //End of For Loop adj(u)
} //End of if ( (u >= StartIndex) && (u <= EndIndex) ) //Process Only If a Local Vertex } //End of if ( (u >= StartIndex) && (u <= EndIndex) ) //Process Only If a Local Vertex
//Avoid to ask for the critical section if there is nothing to add
if(privateU.empty()) continue;
#pragma omp critical(U) #pragma omp critical(U)
{ {
while(!privateU.empty()) { while(!privateU.empty()) {
@ -852,7 +856,6 @@ void dalgoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP(
myCard += privateMyCard; myCard += privateMyCard;
} //End of critical U } //End of critical U
} //End of while ( /*!Q.empty()*/ !U.empty() ) } //End of while ( /*!Q.empty()*/ !U.empty() )
#pragma omp critical(privateMsg) #pragma omp critical(privateMsg)

Loading…
Cancel
Save