aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h
diff options
context:
space:
mode:
authorVidhya Sudhan Loganathan <vidhyasudhan.loganathan@arm.com>2018-11-19 15:18:20 +0000
committerAnthony Barbier <Anthony.barbier@arm.com>2018-11-19 16:23:00 +0000
commitd646ae17893a89771cdc61ac8790f7e241ecd799 (patch)
tree753ec98326b58064f520464feb112142a779534d /arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h
parente27887f9ec5e71b89829c7e8735839249e14bff9 (diff)
downloadComputeLibrary-d646ae17893a89771cdc61ac8790f7e241ecd799.tar.gz
COMPMID-1065 : Create documentation explaining how to add new functions / kernels
Change-Id: I98183f95814442b6f3dbb67a1bdae99df05b9b01
Diffstat (limited to 'arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h')
-rw-r--r--arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h b/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h
index c71c105d92..96580053dd 100644
--- a/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h
+++ b/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h
@@ -448,8 +448,35 @@ public:
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const WinogradInfo &winograd_info);
// Inherited methods overridden:
+
+#ifndef DOXYGEN_SKIP_THIS
+ /** Configure the weights transform kernel.
+ *
+ * @param[in] weights_hwio Pointer to the weights tensor
+ * @param[out] output Pointer to working space for the output tensor in the Winograd domain.
+ * @param[in] matrix_stride Stride across matrices in the output workspace.
+ * @param[in] num_output_channels Number of filters.
+ * @param[in] num_input_channels Number of channels in each filter.
+ */
void configure(const ITensor *weights_hwio, ITensor *output, const int matrix_stride, const int num_output_channels, const int num_input_channels) override;
+#endif /* DOXYGEN_SKIP_THIS */
+
+ /** Determine how much memory (in units of T) to allocate for the
+ * transformed weights.
+ *
+ * @param[in] num_output_channels Number of output feature maps.
+ * @param[in] num_input_channels Number of input feature maps.
+ *
+ * @return Storage size (in units of T) required.
+ */
unsigned int get_weight_storage_size(int num_output_channels, int num_input_channels) const override;
+
+ /** Gets the stride between matrices in the input worspace
+ *
+ * @param[in] kernel_shape The shape of the weights tensor.
+ *
+ * @return Stride expressed in bytes.
+ */
int get_matrix_stride(const KernelShape &kernel_shape) const override;
void run(const Window &window, const ThreadInfo &info) override;
bool is_parallelisable() const override;