Browse Source

implement cache in aggrj for qdp

master
Constantin Fürst 11 months ago
parent
commit
94669924c8
  1. 8
      qdp_project/src/Benchmark.cpp

8
qdp_project/src/Benchmark.cpp

@ -40,7 +40,6 @@ void caching(size_t gid, size_t tid) {
constexpr bool CACHE_SUBCHUNKING = SUBCHUNK_THREAD_RATIO > 1;
constexpr bool CACHE_OVERCHUNKING = VIRT_TID_INCREMENT > 1;
if constexpr (PERFORM_CACHING) {
if constexpr (CACHE_SUBCHUNKING) {
constexpr size_t SUBCHUNK_COUNT = SUBCHUNK_THREAD_RATIO > 0 ? SUBCHUNK_THREAD_RATIO : 1;
constexpr size_t SUBCHUNK_SIZE_B = CHUNK_SIZE_B / SUBCHUNK_COUNT;
@ -74,7 +73,6 @@ void caching(size_t gid, size_t tid) {
CACHE_.Access(reinterpret_cast<uint8_t*>(chunk_ptr), CHUNK_SIZE_B);
}
}
}
}
void scan_b(size_t gid, size_t tid) {
@ -85,7 +83,7 @@ void scan_b(size_t gid, size_t tid) {
THREAD_TIMING_[SCANB_TIMING_INDEX][UniqueIndex(gid,tid)][0][TIME_STAMP_BEGIN] = std::chrono::steady_clock::now();
if constexpr (!PERFORM_CACHING_IN_AGGREGATION) {
if constexpr (PERFORM_CACHING && !PERFORM_CACHING_IN_AGGREGATION) {
caching<TC_SCANB>(gid, tid);
}
@ -135,6 +133,10 @@ void aggr_j(size_t gid, size_t tid) {
LAUNCH_.wait();
if constexpr (PERFORM_CACHING && PERFORM_CACHING_IN_AGGREGATION) {
caching<TC_AGGRJ>(gid, tid);
}
for (size_t i = 0; i < RUN_COUNT; i++) {
THREAD_TIMING_[AGGRJ_TIMING_INDEX][UniqueIndex(gid,tid)][i][TIME_STAMP_BEGIN] = std::chrono::steady_clock::now();

Loading…
Cancel
Save