ax_interpreter_external2_api.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /***************************************************************************
  2. *
  3. * Copyright (c) 2019-2020 Aichip Technology Co., Ltd. All Rights Reserved.
  4. *
  5. * This source file is the property of Aichip Technology Co., Ltd. and
  6. * may not be copied or distributed in any isomorphic form without the prior
  7. * written consent of Aichip Technology Co., Ltd.
  8. *
  9. ****************************************************************************/
  10. #ifndef AX_INTERPRETER_EXTERNAL2_API_H
  11. #define AX_INTERPRETER_EXTERNAL2_API_H
  12. #include "ax_interpreter_external_api.h"
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. typedef AX_VOID* AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T;
  17. typedef enum _AX_NPU_SDK_EX2_BATCH_TYPE {
  18. AX_NPU_BATCH_TYPE_INVALID = 0,
  19. AX_NPU_BATCH_TYPE_BLOCK = 1,
  20. AX_NPU_BATCH_TYPE_GATHER = 2
  21. } AX_NPU_SDK_EX2_BATCH_TYPE_E;
  22. typedef struct _AX_NPU_SDK_EX2_BATCH_INFO {
  23. AX_NPU_SDK_EX2_BATCH_TYPE_E eBatchType;
  24. AX_U32 nBatchSize;
  25. AX_U64 u64Reserved[8];
  26. } AX_NPU_SDK_EX2_BATCH_INFO_T;
  27. AX_S32 AX_NPU_SDK_EX2_GetMaxBatchSize(AX_NPU_SDK_EX_HANDLE_T hHandle, AX_U32 *pMaxBatchSize);
  28. AX_BOOL AX_NPU_SDK_EX2_IsSupportDynamicBatch(AX_NPU_SDK_EX_HANDLE_T hHandle);
  29. AX_S32 AX_NPU_SDK_EX2_CreateExecutionContext(AX_NPU_SDK_EX_HANDLE_T hHandle, AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T *pContext, const AX_NPU_SDK_EX2_BATCH_INFO_T *pBatchInfo);
  30. AX_S32 AX_NPU_SDK_EX2_DestroyExecutionContext(AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T hContext);
  31. AX_S32 AX_NPU_SDK_EX2_SetBatchInfo(AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T hContext, const AX_NPU_SDK_EX2_BATCH_INFO_T *pBatchInfo);
  32. AX_S32 AX_NPU_SDK_EX2_GetBatchInfo(AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T hContext, AX_NPU_SDK_EX2_BATCH_INFO_T *pBatchInfo);
  33. const AX_NPU_SDK_EX_IO_INFO_T* AX_NPU_SDK_EX2_GetIOInfo(AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T hContext);
  34. AX_S32 AX_NPU_SDK_EX2_RunTaskAsync(AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T hContext,
  35. AX_NPU_SDK_EX_RESOURCE_T *pResource,
  36. AX_NPU_SDK_EX_TASK_ID_T *pTaskId,
  37. AX_NPU_SDK_EX_ExtraParameters *pExtraParameters);
  38. AX_S32 AX_NPU_SDK_EX2_RunTaskSync(AX_NPU_SDK_EX2_EXECUTION_CONTEXT_T hContext, AX_NPU_SDK_EX_IO_T *pIO, AX_NPU_SDK_EX_ExtraParameters *pExtraParameters);
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif