summaryrefslogtreecommitdiff
path: root/src/tuning/tuning_api.cpp
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2018-04-07 17:05:44 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2018-04-07 17:05:44 +0200
commit3519d32ac41772970d26cded477240b09cc1b4a0 (patch)
tree62e0c1e9d530be5703d482e32b6eb5136600ffa9 /src/tuning/tuning_api.cpp
parent381f1fe67a6c8c188853280975ba29d7547ef37e (diff)
Extended the GEMM tuner to be able to tune the new 'kernel 1'
Diffstat (limited to 'src/tuning/tuning_api.cpp')
-rw-r--r--src/tuning/tuning_api.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tuning/tuning_api.cpp b/src/tuning/tuning_api.cpp
index f37b3600..f1da40c1 100644
--- a/src/tuning/tuning_api.cpp
+++ b/src/tuning/tuning_api.cpp
@@ -104,7 +104,10 @@ StatusCode TuneXgemm(RawCommandQueue * queue, const size_t m, const size_t n, co
const double fraction, std::unordered_map<std::string,size_t> &parameters) {
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n; args.k = k;
auto queue_cpp = Queue(*queue);
- return TunerAPI<T>(queue_cpp, args, 2, XgemmGetTunerDefaults, XgemmGetTunerSettings<T>,
+ auto status = TunerAPI<T>(queue_cpp, args, 2, XgemmGetTunerDefaults, XgemmGetTunerSettings<T>,
+ XgemmTestValidArguments<T>, XgemmSetConstraints, XgemmComputeLocalMemSize<T>, XgemmSetArguments<T>, parameters);
+ if (status != StatusCode::kSuccess) { return status; }
+ return TunerAPI<T>(queue_cpp, args, 12, XgemmGetTunerDefaults, XgemmGetTunerSettings<T>,
XgemmTestValidArguments<T>, XgemmSetConstraints, XgemmComputeLocalMemSize<T>, XgemmSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneXgemm<half>(RawCommandQueue*, const size_t, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);