summaryrefslogtreecommitdiff
path: root/src/tuning/tuning.hpp
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2018-03-21 22:58:37 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2018-03-21 22:58:37 +0100
commit7a2371213bb900c8c726c346f85920199f424d82 (patch)
treede3562f21a76667f1af865905cfc84d8c20a7039 /src/tuning/tuning.hpp
parent52791bf3553bb47a50dea4ac234f7e1b09c4383c (diff)
Re-added support for local memory size constraint checking in the tuner
Diffstat (limited to 'src/tuning/tuning.hpp')
-rw-r--r--src/tuning/tuning.hpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tuning/tuning.hpp b/src/tuning/tuning.hpp
index cbecc300..37a042ff 100644
--- a/src/tuning/tuning.hpp
+++ b/src/tuning/tuning.hpp
@@ -108,6 +108,8 @@ template <typename T>
using TestValidArgumentsFunc = std::function<void(const int V, const Arguments<T> &args)>;
using SetConstraintsFunc = std::function<std::vector<Constraint>(const int V)>;
template <typename T>
+using ComputeLocalMemSizeFunc = std::function<LocalMemSizeInfo(const int V)>;
+template <typename T>
using SetArgumentsFunc = std::function<void(const int V, Kernel &kernel, const Arguments<T> &args, std::vector<Buffer<T>>& buffers)>;
// Function to get command-line argument, set-up the input buffers, configure the tuner, and collect
@@ -119,6 +121,7 @@ void Tuner(int argc, char* argv[], const int V,
GetTunerSettingsFunc<T> GetTunerSettings,
TestValidArgumentsFunc<T> TestValidArguments,
SetConstraintsFunc SetConstraints,
+ ComputeLocalMemSizeFunc<T> ComputeLocalMemSize,
SetArgumentsFunc<T> SetArguments);
// Function to run the tuners through the CLBlast API, no I/O
@@ -128,6 +131,7 @@ StatusCode TunerAPI(Queue &queue, const Arguments<T> &args, const int V,
const GetTunerSettingsFunc<T> GetTunerSettings,
const TestValidArgumentsFunc<T> TestValidArguments,
const SetConstraintsFunc SetConstraints,
+ const ComputeLocalMemSizeFunc<T> ComputeLocalMemSize,
const SetArgumentsFunc<T> SetArguments,
std::unordered_map<std::string,size_t> &parameters);