diff options
author | Adnan AlSinan <adnan.alsinan@arm.com> | 2021-09-01 15:32:03 +0100 |
---|---|---|
committer | Adnan AlSinan <adnan.alsinan@arm.com> | 2021-09-15 15:12:09 +0000 |
commit | e4563a032aaa71de5efdb83fc04ff2933338e02d (patch) | |
tree | f722dbea27753e0da68485df0592a128b72f747b /arm_compute/runtime | |
parent | e42a87ffd23a334b802b47a52ec28ad6c90bfbf0 (diff) | |
download | ComputeLibrary-e4563a032aaa71de5efdb83fc04ff2933338e02d.tar.gz |
Adds Conv3d reference implementation support.
Expands the interface with the following items:
- Size3D Class.
- Conv3dInfo Struct.
- Padding3D Struct.
- Add 'NDHWC' to supported Tensor Data Layouts.
- Add function to compute expected size of Conv3d.
Resolves COMPMID-4658 & COMPMID-4657
Signed-off-by: Adnan AlSinan <adnan.alsinan@arm.com>
Change-Id: Ic7452c48461eedaa38eaf3ac458f54b031e7dfa8
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6187
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime')
-rw-r--r-- | arm_compute/runtime/FunctionDescriptors.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/arm_compute/runtime/FunctionDescriptors.h b/arm_compute/runtime/FunctionDescriptors.h index 1f4216eb21..07a8f6600e 100644 --- a/arm_compute/runtime/FunctionDescriptors.h +++ b/arm_compute/runtime/FunctionDescriptors.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2020 Arm Limited. + * Copyright (c) 2019-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -52,7 +52,7 @@ struct FFT2DInfo FFTDirection direction{ FFTDirection::Forward }; /**< Direction of the FFT. */ }; -/** Descriptor used by the Convolution function */ +/** Descriptor used by the 2d Convolution function */ struct Conv2dInfo { Conv2dInfo() = default; @@ -72,5 +72,29 @@ struct Conv2dInfo bool enable_fast_math{ false }; unsigned int num_groups{ 1 }; }; + +/** Descriptor used by the 3d Convolution function */ +struct Conv3dInfo +{ + Conv3dInfo() = default; + + Conv3dInfo(const Size3D &stride, + const Padding3D &padding, + const ActivationLayerInfo &act_info, + const Size3D &dilation, + const DimensionRoundingType &round_type, + bool enable_fast_math) + : stride(stride), padding(padding), act_info(act_info), dilation(dilation), round_type(round_type), enable_fast_math(enable_fast_math) + { + } + + Size3D stride{ 1U, 1U, 1U }; + Padding3D padding{}; + ActivationLayerInfo act_info{}; + Size3D dilation{ 1U, 1U, 1U }; + DimensionRoundingType round_type{}; + bool enable_fast_math{ false }; +}; + } // namespace arm_compute #endif /* ARM_COMPUTE_RUNTIME_FUNCTION_DESCRIPTORS_H */ |