diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2018-03-22 21:01:02 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2018-03-22 21:01:02 +0100 |
commit | 9fb6550dd02c54fafbb03e20516a394d9cd63f3f (patch) | |
tree | 143bd103186eb0d3fd9672ab8a41ebb076d1107d /src/tuning/tuning_api.cpp | |
parent | 7a2371213bb900c8c726c346f85920199f424d82 (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.cpp | 28 |
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>&); |