Browse Source

prepare qdp project for test run

master
Constantin Fürst 11 months ago
parent
commit
5026e1ae99
  1. 3
      qdp_project/CMakeLists.txt
  2. 21
      qdp_project/src/benchmark/MAX_benchmark.cpp

3
qdp_project/CMakeLists.txt

@ -62,9 +62,6 @@ add_definitions(-DQUERY=$<STREQUAL:${QUERY},simple>)
eval(THREAD_FACTOR "1;2;3;4;5;6;7;8;9;10" "4") eval(THREAD_FACTOR "1;2;3;4;5;6;7;8;9;10" "4")
add_definitions(-DTHREAD_GROUP_MULTIPLIER=${THREAD_FACTOR}) add_definitions(-DTHREAD_GROUP_MULTIPLIER=${THREAD_FACTOR})
eval(PINNING "cpu;numa" "cpu")
add_definitions(-DPINNING=$<STREQUAL:${PINNING},cpu>)
# build directory # build directory
set(CMAKE_BINARY_DIR "../bin") #relative to inside build set(CMAKE_BINARY_DIR "../bin") #relative to inside build
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})

21
qdp_project/src/benchmark/MAX_benchmark.cpp

@ -115,7 +115,7 @@ int main(int argc, char** argv) {
"q-" + (std::string)(simple_query == true ? "simple" : "complex") + "q-" + (std::string)(simple_query == true ? "simple" : "complex") +
"_bm-" + (std::string) BARRIER_MODE + "_bm-" + (std::string) BARRIER_MODE +
"_bl-" + (std::string)(BUFFER_LIMIT == 1 ? "limited" : "unlimited") + "_bl-" + (std::string)(BUFFER_LIMIT == 1 ? "limited" : "unlimited") +
"_tc-" + std::to_string(thread_count) + "1MiB-2MiB.csv");
"_tc-" + std::to_string(thread_count) + "1MiB-2MiB.csv", std::ios::app);
// set benchmark parameter // set benchmark parameter
Linear_Int_Range<uint32_t, 0, 30, 1> run("run"); Linear_Int_Range<uint32_t, 0, 30, 1> run("run");
@ -215,33 +215,17 @@ int main(int argc, char** argv) {
//std::vector<std::pair<int, int>> pinning_ranges {std::make_pair(0, 48)}; // node 0-3 sapphire rapids //std::vector<std::pair<int, int>> pinning_ranges {std::make_pair(0, 48)}; // node 0-3 sapphire rapids
for(uint32_t gid = 0; gid < THREAD_GROUP_MULTIPLIER; ++gid) { for(uint32_t gid = 0; gid < THREAD_GROUP_MULTIPLIER; ++gid) {
for(uint32_t tid = 0; tid < tc_filter; ++tid) { for(uint32_t tid = 0; tid < tc_filter; ++tid) {
filter_pool.emplace_back(filter_lambda, gid, THREAD_GROUP_MULTIPLIER, tid); filter_pool.emplace_back(filter_lambda, gid, THREAD_GROUP_MULTIPLIER, tid);
#if PINNING
pin_thread_in_range(filter_pool.back(), thread_id++, pinning_ranges);
#else
pin_thread_in_range(filter_pool.back(), pinning_ranges);
#endif
} }
// if tc_copy == 0 this loop is skipped // if tc_copy == 0 this loop is skipped
for(uint32_t tid = 0; tid < tc_copy; ++tid) { for(uint32_t tid = 0; tid < tc_copy; ++tid) {
copy_pool.emplace_back(copy_lambda, gid, THREAD_GROUP_MULTIPLIER, tid); copy_pool.emplace_back(copy_lambda, gid, THREAD_GROUP_MULTIPLIER, tid);
#if PINNING
pin_thread_in_range(copy_pool.back(), thread_id++, pinning_ranges);
#else
pin_thread_in_range(copy_pool.back(), pinning_ranges);
#endif
} }
for(uint32_t tid = 0; tid < tc_agg; ++tid) { for(uint32_t tid = 0; tid < tc_agg; ++tid) {
agg_pool.emplace_back(aggregation_lambda, gid, THREAD_GROUP_MULTIPLIER, tid); agg_pool.emplace_back(aggregation_lambda, gid, THREAD_GROUP_MULTIPLIER, tid);
#if PINNING
pin_thread_in_range(agg_pool.back(), thread_id++, pinning_ranges);
#else
pin_thread_in_range(agg_pool.back(), pinning_ranges);
#endif
} }
} }
@ -259,8 +243,6 @@ int main(int argc, char** argv) {
uint64_t nanos = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count(); uint64_t nanos = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
double seconds = (double)(nanos) / nanos_per_second; double seconds = (double)(nanos) / nanos_per_second;
print_to_file(out_file, run, chunk_size, new_mode_manager::string(mode.current), THREAD_GROUP_MULTIPLIER, seconds, print_to_file(out_file, run, chunk_size, new_mode_manager::string(mode.current), THREAD_GROUP_MULTIPLIER, seconds,
#ifdef THREAD_TIMINGS #ifdef THREAD_TIMINGS
qw->trt->summarize_time(0), qw->trt->summarize_time(1), qw->trt->summarize_time(2), qw->trt->summarize_time(0), qw->trt->summarize_time(1), qw->trt->summarize_time(2),
@ -274,6 +256,7 @@ int main(int argc, char** argv) {
qw->pvc->summarize_as_string("aggr_j"), qw->pvc->summarize_as_string("aggr_j"),
#endif #endif
results[0]); results[0]);
out_file << std::endl;
iteration = IterateOnce(run, chunk_size, mode); iteration = IterateOnce(run, chunk_size, mode);
} }

Loading…
Cancel
Save