From 1b2b46f2f073863a1faac9307583c9d5bb276e10 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Wed, 15 Nov 2017 22:49:35 +0100 Subject: Added first version of integrated and re-written auto-tuner --- src/utilities/timing.hpp | 53 ------------------------------------------------ 1 file changed, 53 deletions(-) (limited to 'src/utilities/timing.hpp') diff --git a/src/utilities/timing.hpp b/src/utilities/timing.hpp index fb5b9e78..3a5e2cff 100644 --- a/src/utilities/timing.hpp +++ b/src/utilities/timing.hpp @@ -72,59 +72,6 @@ std::vector TimeRoutine(const size_t from, const size_t to, const size_t return timings; } -// ================================================================================================= - -using TuningParameter = std::pair; -using TuningParameters = std::vector; -struct TuningResult { std::string name; double score; TuningParameters parameters; }; - -void PrintTimingsToFileAsJSON(const std::string &filename, - const Device& device, const Platform& platform, - const std::vector> &metadata, - const std::vector& tuning_results) { - printf("[ STATUS ] Writing results to '%s'\n", filename.c_str()); - auto file = fopen(filename.c_str(), "w"); - fprintf(file, "{\n"); - 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_architecture\": \"%s\",\n", GetDeviceArchitecture(device).c_str()); - fprintf(file, " \"device_core_clock\": \"%zu\",\n", device.CoreClock()); - fprintf(file, " \"device_compute_units\": \"%zu\",\n", device.ComputeUnits()); - fprintf(file, " \"results\": [\n"); - - // Loops over all results - auto num_results = tuning_results.size(); - for (auto r = size_t{0}; r < num_results; ++r) { - auto result = tuning_results[r]; - fprintf(file, " {\n"); - fprintf(file, " \"kernel\": \"%s\",\n", result.name.c_str()); - fprintf(file, " \"time\": %.3lf,\n", result.score); - - // Loops over all the parameters for this result - fprintf(file, " \"parameters\": {"); - auto num_configs = result.parameters.size(); - for (auto p=size_t{0}; p