summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2020-05-10 20:08:28 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2020-05-10 20:08:28 +0200
commit69a4b4d4b08c425b7ede4747a04af39d539d0a7d (patch)
tree1e9d22b2a1979294df4ccf677b2db7fcd3191c79 /src
parent9abc4167854f77e7982957232b0c23483a79c97a (diff)
Added logging of local/global workgroup sizes when run the tuners
Diffstat (limited to 'src')
-rw-r--r--src/tuning/tuning.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/tuning/tuning.cpp b/src/tuning/tuning.cpp
index ded66ad7..54ba33da 100644
--- a/src/tuning/tuning.cpp
+++ b/src/tuning/tuning.cpp
@@ -82,7 +82,7 @@ void PrintTimingsToFileAsJSON(const std::string &filename,
void print_separator(const size_t parameters_size) {
printf("x------x-------x");
for (auto i = size_t{0}; i < parameters_size; ++i) { printf("-----"); }
- printf("-x----------------x--------------x--------x-------------------x\n");
+ printf("-x------------x-------------x----------------x--------------x--------x-------------------x\n");
}
// =================================================================================================
@@ -204,7 +204,7 @@ void Tuner(int argc, char* argv[], const int V,
printf("\n");
printf("| ID | total |");
for (auto i = size_t{0}; i < settings.parameters.size() - 1; ++i) { printf(" "); }
- printf("param | compiles | time | %6s | status |\n", settings.performance_unit.c_str());
+ printf("param | local | global | compiles | time | %6s | status |\n", settings.performance_unit.c_str());
print_separator(settings.parameters.size());
// First runs a reference example to compare against
@@ -219,6 +219,11 @@ void Tuner(int argc, char* argv[], const int V,
device_buffers[id].Write(queue, buffer_sizes[id], source_buffers[id]);
}
+ // Sets the thread configuration
+ const auto global = settings.global_size_ref;
+ const auto local = settings.local_size_ref;
+ printf("%5zu %5zu | %5zu %5zu |", local[0], local[1], global[0], global[1]);
+
// Compiles the kernel
auto compiler_options = std::vector<std::string>();
const auto program = CompileFromSource(settings.sources, args.precision, settings.kernel_name,
@@ -229,7 +234,7 @@ void Tuner(int argc, char* argv[], const int V,
// Runs the kernel
const auto time_ms = TimeKernel(args.num_runs, kernel, queue, device,
- settings.global_size_ref, settings.local_size_ref);
+ global, local);
printf(" - |");
if (time_ms == -1.0) { throw std::runtime_error("Error in reference implementation"); }
@@ -268,6 +273,7 @@ void Tuner(int argc, char* argv[], const int V,
settings.mul_global, settings.div_global);
const auto local = SetThreadConfiguration(configuration, settings.local_size,
settings.mul_local, settings.div_local);
+ printf("%5zu %5zu | %5zu %5zu |", local[0], local[1], global[0], global[1]);
// Sets the parameters for this configuration
auto kernel_source = std::string{""};