|
@ -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(); |
|
|
THREAD_TIMING_[AGGRJ_TIMING_INDEX][tid * gid][0][TIME_STAMP_END] = std::chrono::steady_clock::now(); |
|
|
|
|
|
|
|
|
|
|
|
if constexpr (!AGGRJ_ITERATIVE) { |
|
|
BARRIERS_[gid]->arrive_and_drop(); |
|
|
BARRIERS_[gid]->arrive_and_drop(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
aggregation::happly(DATA_DST_ + (tid * GROUP_COUNT + gid), aggregator); |
|
|
aggregation::happly(DATA_DST_ + (tid * GROUP_COUNT + gid), aggregator); |
|
|
|
|
|
|
|
|
if constexpr (AGGRJ_ITERATIVE) { |
|
|
if constexpr (AGGRJ_ITERATIVE) { |
|
|
if (++tid < TC_AGGRJ) aggr_j(gid, tid); |
|
|
if (++tid < TC_AGGRJ) aggr_j(gid, tid); |
|
|
|
|
|
else BARRIERS_[gid]->arrive_and_drop(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|