diff options
author | Sheri Zhang <sheri.zhang@arm.com> | 2021-04-12 10:53:57 +0100 |
---|---|---|
committer | Sheri Zhang <sheri.zhang@arm.com> | 2021-04-12 12:08:45 +0000 |
commit | 6dbcc0e4d2fd0c61602a1a0c4a0ac548da713087 (patch) | |
tree | 4f517146f6ef8b54f98974ac73ce688599f8046c /src/core/CL/cl_kernels/winograd_output_transform.cl | |
parent | 0aee2dd9ade35a06e8a0548ea14d49da7f9e2663 (diff) | |
download | ComputeLibrary-6dbcc0e4d2fd0c61602a1a0c4a0ac548da713087.tar.gz |
Fix OpenCL kernel compiling failure with array initializer
The issue is related with clang version, clang 3.9 has the problem, clange 4.0 works. The workaround is to add an extra {} to make this work.
Partial resolves: COMPMID-4348
Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: Ia079cbb3c44d617b1b42cb2af758b5a8ba1a032e
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5399
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/CL/cl_kernels/winograd_output_transform.cl')
-rw-r--r-- | src/core/CL/cl_kernels/winograd_output_transform.cl | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/core/CL/cl_kernels/winograd_output_transform.cl b/src/core/CL/cl_kernels/winograd_output_transform.cl index b050c56cde..674a138d48 100644 --- a/src/core/CL/cl_kernels/winograd_output_transform.cl +++ b/src/core/CL/cl_kernels/winograd_output_transform.cl @@ -1043,10 +1043,10 @@ __kernel void winograd_output_transform_4x4_5x5_nhwc( const int bout = GET_SPATIAL_IDX(2, 1, 0); // BATCH SIZE IDX #if defined(WINOGRAD_OUTPUT_TRANSFORM_HORIZONTAL) || defined(WINOGRAD_OUTPUT_TRANSFORM_VERTICAL) - TILE(DATA_TYPE, 8, N0, in) = { { 0 } }; - TILE(DATA_TYPE, 4, N0, out) = { { 0 } }; - TILE(DATA_TYPE, 4, N0, tmp) = { { 0 } }; - TILE(uint, 8, 1, src_indirect_y) = { { 0 } }; + TILE(DATA_TYPE, 8, N0, in) = { { { 0 } } }; + TILE(DATA_TYPE, 4, N0, out) = { { { 0 } } }; + TILE(DATA_TYPE, 4, N0, tmp) = { { { 0 } } }; + TILE(uint, 8, 1, src_indirect_y) = { { { 0 } } }; LOOP_UNROLLING(int, i, 0, 8, 1) { @@ -1081,7 +1081,7 @@ __kernel void winograd_output_transform_4x4_5x5_nhwc( T_ACTIVATION(DATA_TYPE, 4, N0, ACTIVATION_TYPE, A_VAL, B_VAL, out, out); - TILE(uint, 4, 1, dst_indirect_y) = { { 0 } }; + TILE(uint, 4, 1, dst_indirect_y) = { { { 0 } } }; // Calculate the destination indirect Y #if defined(WINOGRAD_OUTPUT_TRANSFORM_VERTICAL) @@ -1105,9 +1105,9 @@ __kernel void winograd_output_transform_4x4_5x5_nhwc( #else // defined(WINOGRAD_OUTPUT_TRANSFORM_HORIZONTAL) || defined(WINOGRAD_OUTPUT_TRANSFORM_VERTICAL) // Calculate the indirect Y for the source tensor - TILE(DATA_TYPE, 64, N0, in) = { { 0 } }; - TILE(DATA_TYPE, 6, N0, tmp) = { { 0 } }; - TILE(uint, 64, 1, src_indirect_y) = { { 0 } }; + TILE(DATA_TYPE, 64, N0, in) = { { { 0 } } }; + TILE(DATA_TYPE, 6, N0, tmp) = { { { 0 } } }; + TILE(uint, 64, 1, src_indirect_y) = { { { 0 } } }; LOOP_UNROLLING(int, i, 0, 64, 1) { @@ -1138,7 +1138,7 @@ __kernel void winograd_output_transform_4x4_5x5_nhwc( } // Compute the output tile - TILE(DATA_TYPE, 16, N0, out) = { { 0 } }; + TILE(DATA_TYPE, 16, N0, out) = { { { 0 } } }; // in * A, with in = A^T * in as above LOOP_UNROLLING(int, i, 0, 4, 1) @@ -1173,7 +1173,7 @@ __kernel void winograd_output_transform_4x4_5x5_nhwc( T_ACTIVATION(DATA_TYPE, 16, N0, ACTIVATION_TYPE, A_VAL, B_VAL, out, out); - TILE(uint, 16, 1, dst_indirect_y) = { { 0 } }; + TILE(uint, 16, 1, dst_indirect_y) = { { { 0 } } }; // Calculate the destination indirect Y LOOP_UNROLLING(int, yk, 0, 4, 1) |