From f921aa47c47ca8902ed8505e114d4572189a0a29 Mon Sep 17 00:00:00 2001 From: StefanoPetrilli Date: Wed, 8 Jun 2022 15:19:57 -0500 Subject: [PATCH] Master region for tempCounter.clear() (Might have solved stucked runs) --- ...mEdgesLinearSearchMesgBndlSmallMateCMP.cpp | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/amgprec/impl/aggregator/algoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP.cpp b/amgprec/impl/aggregator/algoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP.cpp index 2a541e9f..dee2a019 100644 --- a/amgprec/impl/aggregator/algoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP.cpp +++ b/amgprec/impl/aggregator/algoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP.cpp @@ -530,7 +530,7 @@ void dalgoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP( PCounter[ghostOwner]++; - //TODO whyyyyy does it fail if I use a private data structure??? + //TODO why does it fail if I use a private data structure??? /* privateQLocalVtx.push_back(v + StartIndex); privateQGhostVtx.push_back(w); @@ -632,19 +632,6 @@ void dalgoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP( //End: PARALLEL_PROCESS_EXPOSED_VERTEX_B(v) } //End of for ( v=0; v < NLVer; v++ ) - -#pragma omp critical(privateMsg) - { - while (!privateQLocalVtx.empty()) - { - - QLocalVtx.push_back(privateQLocalVtx.pop_back()); - QGhostVtx.push_back(privateQGhostVtx.pop_back()); - QMsgType.push_back(privateQMsgType.pop_back()); - QOwner.push_back(privateQOwner.pop_back()); - } - } - #pragma omp critical(U) { while (!privateU.empty()) @@ -653,8 +640,10 @@ void dalgoDistEdgeApproxDomEdgesLinearSearchMesgBndlSmallMateCMP( } } - tempCounter.clear(); //Do not need this any more - +#pragma omp master + { + tempCounter.clear(); //Do not need this any more + } #ifdef PRINT_DEBUG_INFO_ cout<<"\n("<= 0) { if ((w < StartIndex) || (w > EndIndex)) { //A ghost - //Build the Message Packet: - //Message[0] = v; //LOCAL - //Message[1] = w; //GHOST - //Message[2] = REQUEST; //TYPE - //Send a Request (Asynchronous) #ifdef PRINT_DEBUG_INFO_ cout<<"\n("<