Add tensor related data structures for the new API
Adds the following:
- TensorDescriptor: which is responsible for holding the information
needed to represent a tensor (e.g. shape, dimensions, etc)
- Tensor: an aggreate object of a descriptor and a backing memory
- TensorPack: A map of tensor that can be passed to operators as
inputs/outputs
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I02734ac6ad85700d91d6e73217b4637adbf5d177
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5260
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/common/IContext.h b/src/common/IContext.h
index 0d23abd..ee23479 100644
--- a/src/common/IContext.h
+++ b/src/common/IContext.h
@@ -41,6 +41,9 @@
namespace arm_compute
{
+// Forward declarations
+class ITensorV2;
+
/**< Context interface */
class IContext : public AclContext_
{
@@ -88,6 +91,14 @@
{
return header.type == detail::ObjectType::Context;
}
+ /** Create a tensor object
+ *
+ * @param[in] desc Descriptor to use
+ * @param[in] allocate Flag to allocate tensor
+ *
+ * @return A pointer to the created tensor object
+ */
+ virtual ITensorV2 *create_tensor(const AclTensorDescriptor &desc, bool allocate) = 0;
private:
Target _target; /**< Target type of context */