aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/AclEntrypoints.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute/AclEntrypoints.h')
-rw-r--r--arm_compute/AclEntrypoints.h95
1 files changed, 61 insertions, 34 deletions
diff --git a/arm_compute/AclEntrypoints.h b/arm_compute/AclEntrypoints.h
index cf4a237a44..0d4902a3d5 100644
--- a/arm_compute/AclEntrypoints.h
+++ b/arm_compute/AclEntrypoints.h
@@ -21,16 +21,17 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
-#ifndef ARM_COMPUTE_ACLENTRYPOINTS_H_
-#define ARM_COMPUTE_ACLENTRYPOINTS_H_
+#ifndef ARM_COMPUTE_ACL_ENTRYPOINTS_H_
+#define ARM_COMPUTE_ACL_ENTRYPOINTS_H_
#include "arm_compute/AclTypes.h"
#ifdef __cplusplus
-extern "C" {
+extern "C"
+{
#endif /** __cplusplus */
-/** Create a context object
+ /** Create a context object
*
* Context is responsible for retaining internal information and work as an aggregate service mechanism
*
@@ -46,11 +47,9 @@ extern "C" {
* - @ref AclUnsupportedTarget if the requested target is unsupported
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclCreateContext(AclContext *ctx,
- AclTarget target,
- const AclContextOptions *options);
+ AclStatus AclCreateContext(AclContext *ctx, AclTarget target, const AclContextOptions *options);
-/** Destroy a given context object
+ /** Destroy a given context object
*
* @param[in] ctx A valid context object to destroy
*
@@ -60,9 +59,9 @@ AclStatus AclCreateContext(AclContext *ctx,
* - @ref AclSuccess if functions was completed successfully
* - @ref AclInvalidArgument if the provided context is invalid
*/
-AclStatus AclDestroyContext(AclContext ctx);
+ AclStatus AclDestroyContext(AclContext ctx);
-/** Create an operator queue
+ /** Create an operator queue
*
* Queue is responsible for any scheduling related activities
*
@@ -78,9 +77,9 @@ AclStatus AclDestroyContext(AclContext ctx);
* - @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);
+ AclStatus AclCreateQueue(AclQueue *queue, AclContext ctx, const AclQueueOptions *options);
-/** Wait until all elements on the queue have been completed
+ /** Wait until all elements on the queue have been completed
*
* @param[in] queue Queue to wait on completion
*
@@ -91,9 +90,9 @@ AclStatus AclCreateQueue(AclQueue *queue, AclContext ctx, const AclQueueOptions
* - @ref AclInvalidArgument if the provided queue is invalid
* - @ref AclRuntimeError on any other runtime related error
*/
-AclStatus AclQueueFinish(AclQueue queue);
+ AclStatus AclQueueFinish(AclQueue queue);
-/** Destroy a given queue object
+ /** Destroy a given queue object
*
* @param[in] queue A valid context object to destroy
*
@@ -103,9 +102,9 @@ AclStatus AclQueueFinish(AclQueue queue);
* - @ref AclSuccess if functions was completed successfully
* - @ref AclInvalidArgument if the provided context is invalid
*/
-AclStatus AclDestroyQueue(AclQueue queue);
+ AclStatus AclDestroyQueue(AclQueue queue);
-/** Create a Tensor object
+ /** Create a Tensor object
*
* Tensor is a generalized matrix construct that can represent up to ND dimensionality (where N = 6 for Compute Library)
* The object holds a backing memory along-side to operate on
@@ -121,9 +120,9 @@ AclStatus AclDestroyQueue(AclQueue queue);
* - @ref AclUnsupportedTarget if the requested target is unsupported
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclCreateTensor(AclTensor *tensor, AclContext ctx, const AclTensorDescriptor *desc, bool allocate);
+ AclStatus AclCreateTensor(AclTensor *tensor, AclContext ctx, const AclTensorDescriptor *desc, bool allocate);
-/** Map a tensor's backing memory to the host
+ /** Map a tensor's backing memory to the host
*
* @param[in] tensor Tensor to be mapped
* @param[in, out] handle A handle to the underlying backing memory
@@ -134,9 +133,9 @@ AclStatus AclCreateTensor(AclTensor *tensor, AclContext ctx, const AclTensorDesc
* - @ref AclSuccess if function was completed successfully
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclMapTensor(AclTensor tensor, void **handle);
+ AclStatus AclMapTensor(AclTensor tensor, void **handle);
-/** Unmap the tensor's backing memory
+ /** Unmap the tensor's backing memory
*
* @param[in] tensor tensor to unmap memory from
* @param[in] handle Backing memory to be unmapped
@@ -147,9 +146,9 @@ AclStatus AclMapTensor(AclTensor tensor, void **handle);
* - @ref AclSuccess if function was completed successfully
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclUnmapTensor(AclTensor tensor, void *handle);
+ AclStatus AclUnmapTensor(AclTensor tensor, void *handle);
-/** Import external memory to a given tensor object
+ /** Import external memory to a given tensor object
*
* @param[in, out] tensor Tensor to import memory to
* @param[in] handle Backing memory to be imported
@@ -159,9 +158,9 @@ AclStatus AclUnmapTensor(AclTensor tensor, void *handle);
* - @ref AclSuccess if function was completed successfully
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclTensorImport(AclTensor tensor, void *handle, AclImportMemoryType type);
+ AclStatus AclTensorImport(AclTensor tensor, void *handle, AclImportMemoryType type);
-/** Destroy a given tensor object
+ /** Destroy a given tensor object
*
* @param[in,out] tensor A valid tensor object to be destroyed
*
@@ -171,9 +170,9 @@ AclStatus AclTensorImport(AclTensor tensor, void *handle, AclImportMemoryType ty
* - @ref AclSuccess if function was completed successfully
* - @ref AclInvalidArgument if the provided tensor is invalid
*/
-AclStatus AclDestroyTensor(AclTensor tensor);
+ AclStatus AclDestroyTensor(AclTensor tensor);
-/** Creates a tensor pack
+ /** Creates a tensor pack
*
* Tensor packs are used to create a collection of tensors that can be passed around for operator execution
*
@@ -187,9 +186,9 @@ AclStatus AclDestroyTensor(AclTensor tensor);
* - @ref AclOutOfMemory if there was a failure allocating memory resources
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclCreateTensorPack(AclTensorPack *pack, AclContext ctx);
+ AclStatus AclCreateTensorPack(AclTensorPack *pack, AclContext ctx);
-/** Add a tensor to a tensor pack
+ /** Add a tensor to a tensor pack
*
* @param[in,out] pack Pack to append a tensor to
* @param[in] tensor Tensor to pack
@@ -202,9 +201,9 @@ AclStatus AclCreateTensorPack(AclTensorPack *pack, AclContext ctx);
* - @ref AclOutOfMemory if there was a failure allocating memory resources
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclPackTensor(AclTensorPack pack, AclTensor tensor, int32_t slot_id);
+ AclStatus AclPackTensor(AclTensorPack pack, AclTensor tensor, int32_t slot_id);
-/** A list of tensors to a tensor pack
+ /** A list of tensors to a tensor pack
*
* @param[in,out] pack Pack to append the tensors to
* @param[in] tensors Tensors to append to the pack
@@ -218,9 +217,9 @@ AclStatus AclPackTensor(AclTensorPack pack, AclTensor tensor, int32_t slot_id);
* - @ref AclOutOfMemory if there was a failure allocating memory resources
* - @ref AclInvalidArgument if a given argument is invalid
*/
-AclStatus AclPackTensors(AclTensorPack pack, AclTensor *tensors, int32_t *slot_ids, size_t num_tensors);
+ AclStatus AclPackTensors(AclTensorPack pack, AclTensor *tensors, int32_t *slot_ids, size_t num_tensors);
-/** Destroy a given tensor pack object
+ /** Destroy a given tensor pack object
*
* @param[in,out] pack A valid tensor pack object to destroy
*
@@ -230,9 +229,37 @@ AclStatus AclPackTensors(AclTensorPack pack, AclTensor *tensors, int32_t *slot_i
* - @ref AclSuccess if functions was completed successfully
* - @ref AclInvalidArgument if the provided context is invalid
*/
-AclStatus AclDestroyTensorPack(AclTensorPack pack);
+ AclStatus AclDestroyTensorPack(AclTensorPack pack);
+ /** Eager execution of a given operator on a list of inputs and outputs
+ *
+ * @param[in] op Operator to execute
+ * @param[in] queue Queue to schedule the operator on
+ * @param[in,out] tensors A list of input and outputs tensors to execute the operator on
+ *
+ * @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
+ * - @ref AclRuntimeError on any other runtime related error
+ */
+ AclStatus AclRunOperator(AclOperator op, AclQueue queue, AclTensorPack tensors);
+
+ /** Destroy a given operator object
+ *
+ * @param[in,out] op A valid operator object to destroy
+ *
+ * @return Status code
+ *
+ * Returns:
+ * - @ref AclSuccess if functions was completed successfully
+ * - @ref AclInvalidArgument if the provided context is invalid
+ */
+ AclStatus AclDestroyOperator(AclOperator op);
#ifdef __cplusplus
}
#endif /* __cplusplus */
-#endif /* ARM_COMPUTE_ACLENTRYPOINTS_H_ */
+#endif /* ARM_COMPUTE_ACL_ENTRYPOINTS_H_ */