summaryrefslogtreecommitdiff
path: root/src/tuning
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-11-19 16:31:08 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-11-19 16:31:08 +0100
commita3a8b44f598b3eca18ab226112bf5c2bc3b19df8 (patch)
treed9302e2e174817b91142739c254211cef0317acb /src/tuning
parentc6690df8962dc48112558c09531eeda9d93d1e97 (diff)
Some fixed for the new auto-tuner to be compatible with the Python scripts
Diffstat (limited to 'src/tuning')
-rw-r--r--src/tuning/tuning.cpp10
-rw-r--r--src/tuning/tuning.hpp3
2 files changed, 9 insertions, 4 deletions
diff --git a/src/tuning/tuning.cpp b/src/tuning/tuning.cpp
index 5db7d2fb..6804fbce 100644
--- a/src/tuning/tuning.cpp
+++ b/src/tuning/tuning.cpp
@@ -37,13 +37,17 @@ void PrintTimingsToFileAsJSON(const std::string &filename,
for (auto &datum: metadata) {
fprintf(file, " \"%s\": \"%s\",\n", datum.first.c_str(), datum.second.c_str());
}
- fprintf(file, " \"platform_version\": \"%s\",\n", platform.Version().c_str());
- fprintf(file, " \"clblast_device_name\": \"%s\",\n", GetDeviceName(device).c_str());
- fprintf(file, " \"clblast_device_vendor\": \"%s\",\n", platform.Vendor().c_str());
fprintf(file, " \"clblast_device_type\": \"%s\",\n", device.Type().c_str());
+ fprintf(file, " \"clblast_device_vendor\": \"%s\",\n", platform.Vendor().c_str());
fprintf(file, " \"clblast_device_architecture\": \"%s\",\n", GetDeviceArchitecture(device).c_str());
+ fprintf(file, " \"clblast_device_name\": \"%s\",\n", GetDeviceName(device).c_str());
+ fprintf(file, " \"device\": \"%s\",\n", device.Name().c_str());
+ fprintf(file, " \"platform_version\": \"%s\",\n", platform.Version().c_str());
+ fprintf(file, " \"device_vendor\": \"%s\",\n", platform.Vendor().c_str());
+ fprintf(file, " \"device_type\": \"%s\",\n", device.Type().c_str());
fprintf(file, " \"device_core_clock\": \"%zu\",\n", device.CoreClock());
fprintf(file, " \"device_compute_units\": \"%zu\",\n", device.ComputeUnits());
+ fprintf(file, " \"device_extra_info\": \"%s\",\n", device.GetExtraInfo().c_str());
fprintf(file, " \"results\": [\n");
// Loops over all results
diff --git a/src/tuning/tuning.hpp b/src/tuning/tuning.hpp
index 95464001..80d71e06 100644
--- a/src/tuning/tuning.hpp
+++ b/src/tuning/tuning.hpp
@@ -260,7 +260,7 @@ void Tuner(int argc, char* argv[]) {
for (auto config_id = size_t{0}; config_id < configurations.size(); ++config_id) {
try {
- const auto configuration = configurations[config_id];
+ auto configuration = configurations[config_id];
printf("| %4zu | %5zu |", config_id + 1, configurations.size());
for (const auto& parameter : settings.parameters) {
printf("%5zu", configuration.at(parameter.first));
@@ -321,6 +321,7 @@ void Tuner(int argc, char* argv[]) {
}
// All was OK
+ configuration["PRECISION"] = static_cast<size_t>(args.precision);
results.push_back(TuningResult{settings.kernel_name, time_ms, configuration});
printf(" %6.1lf |", settings.metric_amount / (time_ms * 1.0e6));
printf(" %sresults match%s |\n", kPrintSuccess.c_str(), kPrintEnd.c_str());