|
@ -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); |
|
|
} |
|
|
} |
|
|