diff --git a/qdp_project/results/qdp-xeonmax-simpleq-dram-tca4-tcb0-tcj2-tmul4-wl2147483648-cs2097152.csv b/qdp_project/results/qdp-xeonmax-simpleq-dram-tca4-tcb0-tcj2-tmul4-wl2147483648-cs2097152.csv new file mode 100644 index 0000000..7e769cd --- /dev/null +++ b/qdp_project/results/qdp-xeonmax-simpleq-dram-tca4-tcb0-tcj2-tmul4-wl2147483648-cs2097152.csv @@ -0,0 +1,6 @@ +run;time;result[0]; +0;22199017;0; +1;16588422;0; +2;18267635;0; +3;17026004;0; +4;16958071;0; diff --git a/qdp_project/results/qdp-xeonmax-simpleq-dram-tca4-tcb0-tcj2-tmul4-wl4294967296-cs2097152.csv b/qdp_project/results/qdp-xeonmax-simpleq-dram-tca4-tcb0-tcj2-tmul4-wl4294967296-cs2097152.csv deleted file mode 100644 index 2aa8dc9..0000000 --- a/qdp_project/results/qdp-xeonmax-simpleq-dram-tca4-tcb0-tcj2-tmul4-wl4294967296-cs2097152.csv +++ /dev/null @@ -1,6 +0,0 @@ -run;time;result[0]; -0;67578888;0; -1;73660237;0; -2;73616193;0; -3;76092000;0; -4;70963091;0; diff --git a/qdp_project/results/qdp-xeonmax-simpleq-hbm-tca4-tcb0-tcj2-tmul4-wl2147483648-cs2097152.csv b/qdp_project/results/qdp-xeonmax-simpleq-hbm-tca4-tcb0-tcj2-tmul4-wl2147483648-cs2097152.csv new file mode 100644 index 0000000..b647ecb --- /dev/null +++ b/qdp_project/results/qdp-xeonmax-simpleq-hbm-tca4-tcb0-tcj2-tmul4-wl2147483648-cs2097152.csv @@ -0,0 +1,6 @@ +run;time;result[0]; +0;14448722;0; +1;17734795;0; +2;19240141;0; +3;15579654;0; +4;14252101;0; diff --git a/qdp_project/results/qdp-xeonmax-simpleq-hbm-tca4-tcb0-tcj2-tmul4-wl4294967296-cs2097152.csv b/qdp_project/results/qdp-xeonmax-simpleq-hbm-tca4-tcb0-tcj2-tmul4-wl4294967296-cs2097152.csv deleted file mode 100644 index 0b64ba1..0000000 --- a/qdp_project/results/qdp-xeonmax-simpleq-hbm-tca4-tcb0-tcj2-tmul4-wl4294967296-cs2097152.csv +++ /dev/null @@ -1,6 +0,0 @@ -run;time;result[0]; -0;59248029;0; -1;64829305;0; -2;65696823;0; -3;59917878;0; -4;64575991;0; diff --git a/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca1-tcb1-tcj1-tmul32-wl2147483648-cs134217728.csv b/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca1-tcb1-tcj1-tmul32-wl2147483648-cs134217728.csv new file mode 100644 index 0000000..87cc9a8 --- /dev/null +++ b/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca1-tcb1-tcj1-tmul32-wl2147483648-cs134217728.csv @@ -0,0 +1,6 @@ +run;time;result[0]; +0;916843;0; +1;1060229;0; +2;914006;0; +3;1217119;0; +4;1029607;0; diff --git a/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca2-tcb1-tcj4-tmul4-wl4294967296-cs268435456.csv b/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca2-tcb1-tcj4-tmul4-wl4294967296-cs268435456.csv deleted file mode 100644 index faba7c5..0000000 --- a/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca2-tcb1-tcj4-tmul4-wl4294967296-cs268435456.csv +++ /dev/null @@ -1,6 +0,0 @@ -run;time;result[0]; -0;6977961232;0; -1;7020570076;0; -2;6935229235;0; -3;7109847364;0; -4;6920307956;0; diff --git a/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca4-tcb1-tcj4-tmul4-wl4294967296-cs268435456.csv b/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca4-tcb1-tcj4-tmul4-wl4294967296-cs268435456.csv deleted file mode 100644 index bfcb42a..0000000 --- a/qdp_project/results/qdp-xeonmax-simpleq-prefetch-tca4-tcb1-tcj4-tmul4-wl4294967296-cs268435456.csv +++ /dev/null @@ -1,6 +0,0 @@ -run;time;result[0]; -0;7233530125;0; -1;7086960403;0; -2;6962089706;0; -3;6915175958;0; -4;6964562288;0; diff --git a/qdp_project/src/Benchmark.cpp b/qdp_project/src/Benchmark.cpp index 332f320..b6bef2f 100644 --- a/qdp_project/src/Benchmark.cpp +++ b/qdp_project/src/Benchmark.cpp @@ -19,21 +19,21 @@ #include "BenchmarkHelpers.cpp" -#define MODE_HBM +#define MODE_PREFETCH //////////////////////////////// /// BENCHMARK SETUP -constexpr size_t WL_SIZE_B = 4_GiB; +constexpr size_t WL_SIZE_B = 2_GiB; constexpr uint32_t WARMUP_ITERATION_COUNT = 5; constexpr uint32_t ITERATION_COUNT = 5; #ifdef MODE_PREFETCH -constexpr size_t CHUNK_SIZE_B = 256_MiB; -constexpr uint32_t GROUP_COUNT = 4; -constexpr uint32_t TC_SCANA = 4; +constexpr size_t CHUNK_SIZE_B = 128_MiB; +constexpr uint32_t GROUP_COUNT = ; +constexpr uint32_t TC_SCANA = 1; constexpr uint32_t TC_SCANB = 1; -constexpr uint32_t TC_AGGRJ = 4; +constexpr uint32_t TC_AGGRJ = 1; constexpr bool PERFORM_CACHING = true; constexpr bool DATA_IN_HBM = false; constexpr char MODE_STRING[] = "prefetch"; @@ -111,6 +111,8 @@ inline uint16_t* get_mask(uint16_t* base, const size_t chunk_index) { } void scan_b(size_t gid, size_t tid) { + using namespace std::chrono_literals; + LAUNCH_.wait(); if constexpr (PERFORM_CACHING) { @@ -121,10 +123,11 @@ void scan_b(size_t gid, size_t tid) { uint64_t* chunk_ptr = get_chunk(DATA_B_, chunk_index); data = CACHE_.Access(reinterpret_cast(chunk_ptr), CHUNK_SIZE_B / TC_AGGRJ); + std::this_thread::sleep_for(100ms); + data->WaitOnCompletion(); } - - data->WaitOnCompletion(); } + BARRIERS_[gid]->arrive_and_drop(); }