diff options
Diffstat (limited to 'src/kernels/level1/xdot.opencl')
-rw-r--r-- | src/kernels/level1/xdot.opencl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/kernels/level1/xdot.opencl b/src/kernels/level1/xdot.opencl index 1a703d96..64f6eb9d 100644 --- a/src/kernels/level1/xdot.opencl +++ b/src/kernels/level1/xdot.opencl @@ -30,7 +30,11 @@ R"( // ================================================================================================= // The main reduction kernel, performing the multiplication and the majority of the sum operation -__kernel __attribute__((reqd_work_group_size(WGS1, 1, 1))) +#if RELAX_WORKGROUP_SIZE == 1 + __kernel +#else + __kernel __attribute__((reqd_work_group_size(WGS1, 1, 1))) +#endif void Xdot(const int n, const __global real* restrict xgm, const int x_offset, const int x_inc, const __global real* restrict ygm, const int y_offset, const int y_inc, @@ -72,7 +76,11 @@ void Xdot(const int n, // The epilogue reduction kernel, performing the final bit of the sum operation. This kernel has to // be launched with a single workgroup only. -__kernel __attribute__((reqd_work_group_size(WGS2, 1, 1))) +#if RELAX_WORKGROUP_SIZE == 1 + __kernel +#else + __kernel __attribute__((reqd_work_group_size(WGS2, 1, 1))) +#endif void XdotEpilogue(const __global real* restrict input, __global real* dot, const int dot_offset) { __local real lm[WGS2]; |