summaryrefslogtreecommitdiff
path: root/src/tuning/tuning_api.cpp
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2018-03-22 21:01:02 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2018-03-22 21:01:02 +0100
commit9fb6550dd02c54fafbb03e20516a394d9cd63f3f (patch)
tree143bd103186eb0d3fd9672ab8a41ebb076d1107d /src/tuning/tuning_api.cpp
parent7a2371213bb900c8c726c346f85920199f424d82 (diff)
Added the OpenCL local memory size constraint to the tuners
Diffstat (limited to 'src/tuning/tuning_api.cpp')
-rw-r--r--src/tuning/tuning_api.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/tuning/tuning_api.cpp b/src/tuning/tuning_api.cpp
index 0c67d50b..f37b3600 100644
--- a/src/tuning/tuning_api.cpp
+++ b/src/tuning/tuning_api.cpp
@@ -40,7 +40,7 @@ StatusCode TuneXaxpy(RawCommandQueue * queue, const size_t n,
auto args = Arguments<T>(); args.fraction = fraction; args.n = n;
auto queue_cpp = Queue(*queue);
return TunerAPI<T>(queue_cpp, args, 0, XaxpyGetTunerDefaults, XaxpyGetTunerSettings<T>,
- XaxpyTestValidArguments<T>, XaxpySetConstraints, XaxpySetArguments<T>, parameters);
+ XaxpyTestValidArguments<T>, XaxpySetConstraints, XaxpyComputeLocalMemSize<T>, XaxpySetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneXaxpy<half>(RawCommandQueue*, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneXaxpy<float>(RawCommandQueue*, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -54,10 +54,10 @@ StatusCode TuneXdot(RawCommandQueue * queue, const size_t n,
auto args = Arguments<T>(); args.fraction = fraction; args.n = n;
auto queue_cpp = Queue(*queue);
auto status = TunerAPI<T>(queue_cpp, args, 1, XdotGetTunerDefaults, XdotGetTunerSettings<T>,
- XdotTestValidArguments<T>, XdotSetConstraints, XdotSetArguments<T>, parameters);
+ XdotTestValidArguments<T>, XdotSetConstraints, XdotComputeLocalMemSize<T>, XdotSetArguments<T>, parameters);
if (status != StatusCode::kSuccess) { return status; }
return TunerAPI<T>(queue_cpp, args, 2, XdotGetTunerDefaults, XdotGetTunerSettings<T>,
- XdotTestValidArguments<T>, XdotSetConstraints, XdotSetArguments<T>, parameters);
+ XdotTestValidArguments<T>, XdotSetConstraints, XdotComputeLocalMemSize<T>, XdotSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneXdot<half>(RawCommandQueue*, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneXdot<float>(RawCommandQueue*, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -71,13 +71,13 @@ StatusCode TuneXgemv(RawCommandQueue * queue, const size_t m, const size_t n,
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n;
auto queue_cpp = Queue(*queue);
auto status = TunerAPI<T>(queue_cpp, args, 1, XgemvGetTunerDefaults, XgemvGetTunerSettings<T>,
- XgemvTestValidArguments<T>, XgemvSetConstraints, XgemvSetArguments<T>, parameters);
+ XgemvTestValidArguments<T>, XgemvSetConstraints, XgemvComputeLocalMemSize<T>, XgemvSetArguments<T>, parameters);
if (status != StatusCode::kSuccess) { return status; }
status = TunerAPI<T>(queue_cpp, args, 2, XgemvGetTunerDefaults, XgemvGetTunerSettings<T>,
- XgemvTestValidArguments<T>, XgemvSetConstraints, XgemvSetArguments<T>, parameters);
+ XgemvTestValidArguments<T>, XgemvSetConstraints, XgemvComputeLocalMemSize<T>, XgemvSetArguments<T>, parameters);
if (status != StatusCode::kSuccess) { return status; }
return TunerAPI<T>(queue_cpp, args, 3, XgemvGetTunerDefaults, XgemvGetTunerSettings<T>,
- XgemvTestValidArguments<T>, XgemvSetConstraints, XgemvSetArguments<T>, parameters);
+ XgemvTestValidArguments<T>, XgemvSetConstraints, XgemvComputeLocalMemSize<T>, XgemvSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneXgemv<half>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneXgemv<float>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -91,7 +91,7 @@ StatusCode TuneXger(RawCommandQueue * queue, const size_t m, const size_t n,
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n;
auto queue_cpp = Queue(*queue);
return TunerAPI<T>(queue_cpp, args, 0, XgerGetTunerDefaults, XgerGetTunerSettings<T>,
- XgerTestValidArguments<T>, XgerSetConstraints, XgerSetArguments<T>, parameters);
+ XgerTestValidArguments<T>, XgerSetConstraints, XgerComputeLocalMemSize<T>, XgerSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneXger<half>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneXger<float>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -105,7 +105,7 @@ StatusCode TuneXgemm(RawCommandQueue * queue, const size_t m, const size_t n, co
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>,
- XgemmTestValidArguments<T>, XgemmSetConstraints, XgemmSetArguments<T>, parameters);
+ 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>&);
template StatusCode PUBLIC_API TuneXgemm<float>(RawCommandQueue*, const size_t, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -119,7 +119,7 @@ StatusCode TuneXgemmDirect(RawCommandQueue * queue, const size_t m, const size_t
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, XgemmDirectGetTunerDefaults, XgemmDirectGetTunerSettings<T>,
- XgemmDirectTestValidArguments<T>, XgemmDirectSetConstraints, XgemmDirectSetArguments<T>, parameters);
+ XgemmDirectTestValidArguments<T>, XgemmDirectSetConstraints, XgemmDirectComputeLocalMemSize<T>, XgemmDirectSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneXgemmDirect<half>(RawCommandQueue*, const size_t, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneXgemmDirect<float>(RawCommandQueue*, const size_t, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -133,7 +133,7 @@ StatusCode TuneCopy(RawCommandQueue * queue, const size_t m, const size_t n,
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n;
auto queue_cpp = Queue(*queue);
return TunerAPI<T>(queue_cpp, args, 0, CopyGetTunerDefaults, CopyGetTunerSettings<T>,
- CopyTestValidArguments<T>, CopySetConstraints, CopySetArguments<T>, parameters);
+ CopyTestValidArguments<T>, CopySetConstraints, CopyComputeLocalMemSize<T>, CopySetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneCopy<half>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneCopy<float>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -147,7 +147,7 @@ StatusCode TunePad(RawCommandQueue * queue, const size_t m, const size_t n,
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n;
auto queue_cpp = Queue(*queue);
return TunerAPI<T>(queue_cpp, args, 0, PadGetTunerDefaults, PadGetTunerSettings<T>,
- PadTestValidArguments<T>, PadSetConstraints, PadSetArguments<T>, parameters);
+ PadTestValidArguments<T>, PadSetConstraints, PadComputeLocalMemSize<T>, PadSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TunePad<half>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TunePad<float>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -161,7 +161,7 @@ StatusCode TuneTranspose(RawCommandQueue * queue, const size_t m, const size_t n
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n;
auto queue_cpp = Queue(*queue);
return TunerAPI<T>(queue_cpp, args, 0, TransposeGetTunerDefaults, TransposeGetTunerSettings<T>,
- TransposeTestValidArguments<T>, TransposeSetConstraints, TransposeSetArguments<T>, parameters);
+ TransposeTestValidArguments<T>, TransposeSetConstraints, TransposeComputeLocalMemSize<T>, TransposeSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneTranspose<half>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneTranspose<float>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -175,7 +175,7 @@ StatusCode TunePadtranspose(RawCommandQueue * queue, const size_t m, const size_
auto args = Arguments<T>(); args.fraction = fraction; args.m = m; args.n = n;
auto queue_cpp = Queue(*queue);
return TunerAPI<T>(queue_cpp, args, 0, PadtransposeGetTunerDefaults, PadtransposeGetTunerSettings<T>,
- PadtransposeTestValidArguments<T>, PadtransposeSetConstraints, PadtransposeSetArguments<T>, parameters);
+ PadtransposeTestValidArguments<T>, PadtransposeSetConstraints, PadtransposeComputeLocalMemSize<T>, PadtransposeSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TunePadtranspose<half>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TunePadtranspose<float>(RawCommandQueue*, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
@@ -189,7 +189,7 @@ StatusCode TuneInvert(RawCommandQueue * queue, const size_t m, const size_t n, c
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, 0, InvertGetTunerDefaults, InvertGetTunerSettings<T>,
- InvertTestValidArguments<T>, InvertSetConstraints, InvertSetArguments<T>, parameters);
+ InvertTestValidArguments<T>, InvertSetConstraints, InvertComputeLocalMemSize<T>, InvertSetArguments<T>, parameters);
}
template StatusCode PUBLIC_API TuneInvert<half>(RawCommandQueue*, const size_t, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);
template StatusCode PUBLIC_API TuneInvert<float>(RawCommandQueue*, const size_t, const size_t, const size_t, const double, std::unordered_map<std::string,size_t>&);