diff options
author | Sang-Hoon Park <sang-hoon.park@arm.com> | 2021-01-27 13:14:56 +0000 |
---|---|---|
committer | Sang-Hoon Park <sang-hoon.park@arm.com> | 2021-03-08 16:36:32 +0000 |
commit | 201e0fee596dafcf9c869a550fae29779aad2394 (patch) | |
tree | a0301279bd02ee65902b62e57ef1f1930e52d5b7 /arm_compute/core | |
parent | eda87d40532304482acade655580930329a0bb8b (diff) | |
download | ComputeLibrary-201e0fee596dafcf9c869a550fae29779aad2394.tar.gz |
Make Softmax kernels on OpenCL stateless
* ClSoftmaxKernel and ClSoftmax are created.
* ClSoftmaxKernel is now state-less and ClSoftmax handles
the internal tensors required for computation.
* add_const_tensor() is added to TensorPack not only
to have symmetric interface but also to benefit from
implicit conversion.
Implements: COMPMID-3998
Change-Id: I4f823121777be24260fd12b2cd71a6ff718c4eed
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5087
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/core')
-rw-r--r-- | arm_compute/core/ITensorPack.h | 7 | ||||
-rw-r--r-- | arm_compute/core/KernelDescriptors.h | 1 | ||||
-rw-r--r-- | arm_compute/core/experimental/Types.h | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/arm_compute/core/ITensorPack.h b/arm_compute/core/ITensorPack.h index c06e1d9a73..8aea880bb6 100644 --- a/arm_compute/core/ITensorPack.h +++ b/arm_compute/core/ITensorPack.h @@ -69,6 +69,13 @@ public: * @param[in] tensor Tensor to add */ void add_tensor(int id, const ITensor *tensor); + + /** Add const tensor to the pack + * + * @param[in] id ID/type of the tensor to add + * @param[in] tensor Tensor to add + */ + void add_const_tensor(int id, const ITensor *tensor); /** Get tensor of a given id from the pac * * @param[in] id ID of tensor to extract diff --git a/arm_compute/core/KernelDescriptors.h b/arm_compute/core/KernelDescriptors.h index e381220695..1f3cee2dd1 100644 --- a/arm_compute/core/KernelDescriptors.h +++ b/arm_compute/core/KernelDescriptors.h @@ -114,6 +114,7 @@ struct SoftmaxKernelInfo float beta{ 1.f }; /**< A scaling factor for the exponent with default value 1.0 */ bool is_log{ false }; /**< Flag used to perform Log Softmax operation */ DataType input_data_type{ DataType::UNKNOWN }; /**< Input tensor data type */ + int32_t axis{ 0 }; /**< The dimension in which to apply softmax. */ }; /** Descriptor used by the direct convolution layer output stage kernels */ diff --git a/arm_compute/core/experimental/Types.h b/arm_compute/core/experimental/Types.h index f615678e31..2a4bd89385 100644 --- a/arm_compute/core/experimental/Types.h +++ b/arm_compute/core/experimental/Types.h @@ -52,6 +52,7 @@ enum TensorType : int32_t ACL_INT_1 = 51, ACL_INT_2 = 52, ACL_INT_3 = 53, + ACL_INT_4 = 54, ACL_SRC_VEC = 256, }; |