diff --git a/qdp_project/src/Benchmark.cpp b/qdp_project/src/Benchmark.cpp index 52af4cb..1de00ba 100644 --- a/qdp_project/src/Benchmark.cpp +++ b/qdp_project/src/Benchmark.cpp @@ -294,12 +294,15 @@ void aggr_j(size_t gid, size_t tid) { THREAD_TIMING_[AGGRJ_TIMING_INDEX][tid * gid][0][TIME_STAMP_END] = std::chrono::steady_clock::now(); - BARRIERS_[gid]->arrive_and_drop(); + if constexpr (!AGGRJ_ITERATIVE) { + BARRIERS_[gid]->arrive_and_drop(); + } aggregation::happly(DATA_DST_ + (tid * GROUP_COUNT + gid), aggregator); if constexpr (AGGRJ_ITERATIVE) { if (++tid < TC_AGGRJ) aggr_j(gid, tid); + else BARRIERS_[gid]->arrive_and_drop(); } }