aboutsummaryrefslogtreecommitdiff
path: root/src/core/CL/CLKernelLibrary.cpp
diff options
context:
space:
mode:
authorGian Marco <gianmarco.iodice@arm.com>2018-01-29 12:15:32 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:45:42 +0000
commit76faef88284e6fd51f53b23063374d3d3a884e4f (patch)
treed29dfaa733edc7928125ade473b278e1e4923b6e /src/core/CL/CLKernelLibrary.cpp
parentb28f329d0cdc2e5f2f72fd3ecc1913c6b913aee8 (diff)
downloadComputeLibrary-76faef88284e6fd51f53b23063374d3d3a884e4f.tar.gz
COMPMID-855 - Optimizing im2col on OpenCL (DCHW)
Introduced optimizations for 1x1, 3x3, 5x5 and 11x11 Change-Id: Ibb7f7a9fbec01a7684746ed8513634078126e452 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/118107 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Diffstat (limited to 'src/core/CL/CLKernelLibrary.cpp')
-rw-r--r--src/core/CL/CLKernelLibrary.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/core/CL/CLKernelLibrary.cpp b/src/core/CL/CLKernelLibrary.cpp
index ae3553860a..d7ae6e3127 100644
--- a/src/core/CL/CLKernelLibrary.cpp
+++ b/src/core/CL/CLKernelLibrary.cpp
@@ -170,7 +170,7 @@ const std::map<std::string, std::string> CLKernelLibrary::_kernel_program_map =
{ "combine_gradients_L2", "canny.cl" },
{ "concatenate_depth", "concatenate.cl" },
{ "convolution_rectangle", "convolution_rectangle.cl" },
- { "col2im", "convolution_layer.cl" },
+ { "col2im", "col2im.cl" },
{ "convolution3x3_static", "convolution3x3.cl" },
{ "convolution5x5_static", "convolution5x5.cl" },
{ "convolution7x7_static", "convolution7x7.cl" },
@@ -248,10 +248,13 @@ const std::map<std::string, std::string> CLKernelLibrary::_kernel_program_map =
{ "hog_detector", "hog.cl" },
{ "hog_orientation_binning", "hog.cl" },
{ "hysteresis", "canny.cl" },
- { "im2col_generic", "convolution_layer.cl" },
- { "im2col_generic_padx0_pady0", "convolution_layer.cl" },
- { "im2col_kernel3x3_padx0_pady0", "convolution_layer.cl" },
- { "im2col_reduced", "convolution_layer.cl" },
+ { "im2col1x1_stridex1_dchw", "im2col.cl" },
+ { "im2col3x3_dchw", "im2col.cl" },
+ { "im2col5x5_dchw", "im2col.cl" },
+ { "im2col11x11_padx0_pady0_dchw", "im2col.cl" },
+ { "im2col_generic_dchw", "im2col.cl" },
+ { "im2col_generic_padx0_pady0_dchw", "im2col.cl" },
+ { "im2col_reduced_dchw", "im2col.cl" },
{ "init_level", "optical_flow_pyramid_lk.cl" },
{ "init_level_max", "optical_flow_pyramid_lk.cl" },
{ "init_level_max_initial_estimate", "optical_flow_pyramid_lk.cl" },
@@ -390,6 +393,10 @@ const std::map<std::string, std::string> CLKernelLibrary::_program_source_map =
#include "./cl_kernels/channel_extract.clembed"
},
{
+ "col2im.cl",
+#include "./cl_kernels/col2im.clembed"
+ },
+ {
"concatenate.cl",
#include "./cl_kernels/concatenate.clembed"
},
@@ -522,6 +529,10 @@ const std::map<std::string, std::string> CLKernelLibrary::_program_source_map =
#include "./cl_kernels/hog.clembed"
},
{
+ "im2col.cl",
+#include "./cl_kernels/im2col.clembed"
+ },
+ {
"integral_image.cl",
#include "./cl_kernels/integral_image.clembed"
},