From c3c352e60050f3deacad767e429a88dc24b31af0 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Thu, 18 Mar 2021 10:59:40 +0000 Subject: Add Queue support Queues are responsible for scheduling operators and performing other runtime related activities like for example tuning. Signed-off-by: Georgios Pinitas Change-Id: I0366d9048470d277b8cbf59fa42f95c0ae57c5c9 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5487 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Reviewed-by: Michalis Spyrou Comments-Addressed: Arm Jenkins --- arm_compute/AclEntrypoints.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'arm_compute/AclEntrypoints.h') diff --git a/arm_compute/AclEntrypoints.h b/arm_compute/AclEntrypoints.h index cd974341c2..cf4a237a44 100644 --- a/arm_compute/AclEntrypoints.h +++ b/arm_compute/AclEntrypoints.h @@ -62,6 +62,49 @@ AclStatus AclCreateContext(AclContext *ctx, */ AclStatus AclDestroyContext(AclContext ctx); +/** Create an operator queue + * + * Queue is responsible for any scheduling related activities + * + * @param[in, out] queue A valid non-zero queue object is not failures occur + * @param[in] ctx Context to be used + * @param[in] options Queue options to be used for the operators using the queue + * + * @return Status code + * + * Returns: + * - @ref AclSuccess if function was completed successfully + * - @ref AclOutOfMemory if there was a failure allocating memory resources + * - @ref AclUnsupportedTarget if the requested target is unsupported + * - @ref AclInvalidArgument if a given argument is invalid + */ +AclStatus AclCreateQueue(AclQueue *queue, AclContext ctx, const AclQueueOptions *options); + +/** Wait until all elements on the queue have been completed + * + * @param[in] queue Queue to wait on completion + * + * @return Status code + * + * Returns: + * - @ref AclSuccess if functions was completed successfully + * - @ref AclInvalidArgument if the provided queue is invalid + * - @ref AclRuntimeError on any other runtime related error + */ +AclStatus AclQueueFinish(AclQueue queue); + +/** Destroy a given queue object + * + * @param[in] queue A valid context object to destroy + * + * @return Status code + * + * Returns: + * - @ref AclSuccess if functions was completed successfully + * - @ref AclInvalidArgument if the provided context is invalid + */ +AclStatus AclDestroyQueue(AclQueue queue); + /** Create a Tensor object * * Tensor is a generalized matrix construct that can represent up to ND dimensionality (where N = 6 for Compute Library) -- cgit v1.2.1