diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2023-01-21 20:28:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-21 20:28:32 +0100 |
commit | e72f87ae5eca5e2ea8aea4f2ce49408c1faa0521 (patch) | |
tree | 588a426b6350a5c982d89d98749ae78667fd23b4 /src/kernels/levelx/xconvgemm_part2.opencl | |
parent | 03cffa83c5f7742f8ec0c5e762bb7048e38952f3 (diff) | |
parent | 73f49e9b3d4abc4214122e4b8c07a736e01626ee (diff) |
Merge pull request #451 from CodeLinaro/master
CLBlast modifications to address Qualcomm Adreno performance
Diffstat (limited to 'src/kernels/levelx/xconvgemm_part2.opencl')
-rw-r--r-- | src/kernels/levelx/xconvgemm_part2.opencl | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/kernels/levelx/xconvgemm_part2.opencl b/src/kernels/levelx/xconvgemm_part2.opencl index 693cb120..38ddd7eb 100644 --- a/src/kernels/levelx/xconvgemm_part2.opencl +++ b/src/kernels/levelx/xconvgemm_part2.opencl @@ -23,7 +23,11 @@ R"( // ConvGEMM kernel #if defined(CONVGEMM_WITH_IM2COL) -__kernel __attribute__((reqd_work_group_size(MDIMCD, NDIMCD, 1))) +#if RELAX_WORKGROUP_SIZE == 1 + __kernel +#else + __kernel __attribute__((reqd_work_group_size(MDIMCD, NDIMCD, 1))) +#endif void Xconvgemm(const int num_patches, const int num_kernels, const int patch_size, const __global realND* restrict kernelgm, const int kernel_offset, __global real* resultgm, const int result_offset, const int result_stride, @@ -285,7 +289,11 @@ INLINE_FUNC void Xconvgemm(const int num_patches, const int num_kernels, const i } #if !defined(CONVGEMM_WITH_IM2COL) -__kernel __attribute__((reqd_work_group_size(MDIMCD, NDIMCD, 1))) +#if RELAX_WORKGROUP_SIZE == 1 + __kernel +#else + __kernel __attribute__((reqd_work_group_size(MDIMCD, NDIMCD, 1))) +#endif void XconvgemmFlip(const int num_patches, const int num_kernels, const int patch_size, const __global realND* restrict kernelgm, const int kernel_offset, __global real* resultgm, const int result_offset, const int result_stride, @@ -306,7 +314,11 @@ void XconvgemmFlip(const int num_patches, const int num_kernels, const int patch output_h, output_w, alm, blm, kernel_flip); } -__kernel __attribute__((reqd_work_group_size(MDIMCD, NDIMCD, 1))) +#if RELAX_WORKGROUP_SIZE == 1 + __kernel +#else + __kernel __attribute__((reqd_work_group_size(MDIMCD, NDIMCD, 1))) +#endif void XconvgemmNormal(const int num_patches, const int num_kernels, const int patch_size, const __global realND* restrict kernelgm, const int kernel_offset, __global real* resultgm, const int result_offset, const int result_stride, |