summaryrefslogtreecommitdiff
path: root/src/tuning
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-07-23 16:58:11 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2016-07-23 16:58:11 +0200
commit40a72259eba491631d8875aae465c5a93d7fed02 (patch)
treea192d68c4c7331334721da58401a88a21fa9a88b /src/tuning
parent7a4f9637639ce83191bc2d6e8485f9a9dfd949af (diff)
Fixe a bug in the new XgemvFastRot kernel related to local memory size
Diffstat (limited to 'src/tuning')
-rw-r--r--src/tuning/kernels/xgemv.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/tuning/kernels/xgemv.cpp b/src/tuning/kernels/xgemv.cpp
index 8446e4a9..96d4a5f2 100644
--- a/src/tuning/kernels/xgemv.cpp
+++ b/src/tuning/kernels/xgemv.cpp
@@ -61,10 +61,20 @@ class TuneXgemv {
// Sets the tuning parameters and their possible values
static void SetParameters(cltune::Tuner &tuner, const size_t id) {
- tuner.AddParameter(id, "WGS"+std::to_string(V), {16, 32, 64, 128});
- if (V==1 || V==2) { tuner.AddParameter(id, "WPT"+std::to_string(V), {1, 2, 4}); }
- else { tuner.AddParameter(id, "WPT"+std::to_string(V), {1, 2, 4, 8, 16, 32}); }
- if (V==2 || V==3) { tuner.AddParameter(id, "VW"+std::to_string(V), {1, 2, 4, 8}); }
+ if (V==1) {
+ tuner.AddParameter(id, "WGS"+std::to_string(V), {32, 64, 128, 256});
+ tuner.AddParameter(id, "WPT"+std::to_string(V), {1, 2, 4});
+ }
+ if (V==2) {
+ tuner.AddParameter(id, "WGS"+std::to_string(V), {16, 32, 64, 128, 256});
+ tuner.AddParameter(id, "WPT"+std::to_string(V), {1, 2, 4});
+ tuner.AddParameter(id, "VW"+std::to_string(V), {1, 2, 4, 8});
+ }
+ if (V==3) {
+ tuner.AddParameter(id, "WGS"+std::to_string(V), {16, 32, 64, 128});
+ tuner.AddParameter(id, "WPT"+std::to_string(V), {1, 2, 4, 8, 16, 32});
+ tuner.AddParameter(id, "VW"+std::to_string(V), {1, 2, 4, 8});
+ }
}
// Sets the constraints and local memory size