From: @ding_fei_fei Reviewed-by: @liucunwei,@ljl0711 Signed-off-by: @liucunweitags/v1.3.0
@@ -26,9 +26,9 @@ extern "C" { | |||
#endif | |||
// Current version is 1.0.0 | |||
#define ACL_MAJOR_VERSION 1 | |||
#define ACL_MINOR_VERSION 0 | |||
#define ACL_PATCH_VERSION 0 | |||
#define ACL_MAJOR_VERSION 1 | |||
#define ACL_MINOR_VERSION 0 | |||
#define ACL_PATCH_VERSION 0 | |||
/** | |||
* @ingroup AscendCL | |||
@@ -72,11 +72,11 @@ ACL_FUNC_VISIBILITY aclError aclrtGetVersion(int32_t *majorVersion, int32_t *min | |||
* | |||
* @retval null for failed | |||
* @retval OtherValues success | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY const char *aclGetRecentErrMsg(); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_H_ | |||
#endif // INC_EXTERNAL_ACL_ACL_H_ |
@@ -136,49 +136,50 @@ static const int ACL_ERROR_PROFILING_FAILURE = 500005; | |||
#define ACL_UNKNOWN_RANK 0xFFFFFFFFFFFFFFFE | |||
typedef enum { | |||
ACL_DT_UNDEFINED = -1, | |||
ACL_FLOAT = 0, | |||
ACL_FLOAT16 = 1, | |||
ACL_INT8 = 2, | |||
ACL_INT32 = 3, | |||
ACL_UINT8 = 4, | |||
ACL_INT16 = 6, | |||
ACL_UINT16 = 7, | |||
ACL_UINT32 = 8, | |||
ACL_INT64 = 9, | |||
ACL_UINT64 = 10, | |||
ACL_DOUBLE = 11, | |||
ACL_BOOL = 12, | |||
ACL_STRING = 13, | |||
ACL_DT_UNDEFINED = -1, | |||
ACL_FLOAT = 0, | |||
ACL_FLOAT16 = 1, | |||
ACL_INT8 = 2, | |||
ACL_INT32 = 3, | |||
ACL_UINT8 = 4, | |||
ACL_INT16 = 6, | |||
ACL_UINT16 = 7, | |||
ACL_UINT32 = 8, | |||
ACL_INT64 = 9, | |||
ACL_UINT64 = 10, | |||
ACL_DOUBLE = 11, | |||
ACL_BOOL = 12, | |||
ACL_STRING = 13, | |||
} aclDataType; | |||
typedef enum { | |||
ACL_FORMAT_UNDEFINED = -1, | |||
ACL_FORMAT_NCHW = 0, | |||
ACL_FORMAT_NHWC = 1, | |||
ACL_FORMAT_ND = 2, | |||
ACL_FORMAT_NC1HWC0 = 3, | |||
ACL_FORMAT_FRACTAL_Z = 4, | |||
ACL_FORMAT_NC1HWC0_C04 = 12, | |||
ACL_FORMAT_NDHWC = 27, | |||
ACL_FORMAT_FRACTAL_NZ = 29, | |||
ACL_FORMAT_NCDHW = 30, | |||
ACL_FORMAT_NDC1HWC0 = 32, | |||
ACL_FRACTAL_Z_3D = 33 | |||
ACL_FORMAT_UNDEFINED = -1, | |||
ACL_FORMAT_NCHW = 0, | |||
ACL_FORMAT_NHWC = 1, | |||
ACL_FORMAT_ND = 2, | |||
ACL_FORMAT_NC1HWC0 = 3, | |||
ACL_FORMAT_FRACTAL_Z = 4, | |||
ACL_FORMAT_NC1HWC0_C04 = 12, | |||
ACL_FORMAT_NDHWC = 27, | |||
ACL_FORMAT_FRACTAL_NZ = 29, | |||
ACL_FORMAT_NCDHW = 30, | |||
ACL_FORMAT_NDC1HWC0 = 32, | |||
ACL_FRACTAL_Z_3D = 33 | |||
} aclFormat; | |||
typedef enum { | |||
ACL_DEBUG = 0, | |||
ACL_INFO = 1, | |||
ACL_WARNING = 2, | |||
ACL_ERROR = 3, | |||
ACL_DEBUG = 0, | |||
ACL_INFO = 1, | |||
ACL_WARNING = 2, | |||
ACL_ERROR = 3, | |||
} aclLogLevel; | |||
typedef enum { | |||
ACL_MEMTYPE_DEVICE = 0, | |||
ACL_MEMTYPE_HOST = 1, | |||
ACL_MEMTYPE_DEVICE = 0, | |||
ACL_MEMTYPE_HOST = 1, | |||
} aclMemType; | |||
/** | |||
* @ingroup AscendCL | |||
* @brief Converts data of type aclFloat16 to data of type float | |||
@@ -311,7 +312,9 @@ ACL_FUNC_VISIBILITY size_t aclDataTypeSize(aclDataType dataType); | |||
* @retval aclTensorDesc pointer. | |||
* @retval nullptr if param is invalid or run out of memory | |||
*/ | |||
ACL_FUNC_VISIBILITY aclTensorDesc *aclCreateTensorDesc(aclDataType dataType, int numDims, const int64_t *dims, | |||
ACL_FUNC_VISIBILITY aclTensorDesc *aclCreateTensorDesc(aclDataType dataType, | |||
int numDims, | |||
const int64_t *dims, | |||
aclFormat format); | |||
/** | |||
@@ -333,7 +336,8 @@ ACL_FUNC_VISIBILITY void aclDestroyTensorDesc(const aclTensorDesc *desc); | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclSetTensorShapeRange(aclTensorDesc *desc, size_t dimsCount, | |||
ACL_FUNC_VISIBILITY aclError aclSetTensorShapeRange(aclTensorDesc* desc, | |||
size_t dimsCount, | |||
int64_t dimsRange[][ACL_TENSOR_SHAPE_RANGE_NUM]); | |||
/** | |||
@@ -430,7 +434,9 @@ ACL_FUNC_VISIBILITY aclError aclGetTensorDescDimV2(const aclTensorDesc *desc, si | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclGetTensorDescDimRange(const aclTensorDesc *desc, size_t index, size_t dimRangeNum, | |||
ACL_FUNC_VISIBILITY aclError aclGetTensorDescDimRange(const aclTensorDesc *desc, | |||
size_t index, | |||
size_t dimRangeNum, | |||
int64_t *dimRange); | |||
/** | |||
@@ -467,7 +473,7 @@ ACL_FUNC_VISIBILITY const char *aclGetTensorDescName(aclTensorDesc *desc); | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclTransTensorDescFormat(const aclTensorDesc *srcDesc, aclFormat dstFormat, | |||
aclTensorDesc **dstDesc); | |||
aclTensorDesc **dstDesc); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -555,7 +561,7 @@ ACL_FUNC_VISIBILITY aclError aclSetTensorOriginShape(aclTensorDesc *desc, int nu | |||
* | |||
* @retval null for failed. | |||
* @retval OtherValues success. | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclTensorDesc *aclGetTensorDescByIndex(aclTensorDesc *desc, size_t index); | |||
/** | |||
@@ -566,7 +572,7 @@ ACL_FUNC_VISIBILITY aclTensorDesc *aclGetTensorDescByIndex(aclTensorDesc *desc, | |||
* | |||
* @retval null for failed | |||
* @retval OtherValues success | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY void *aclGetTensorDescAddress(const aclTensorDesc *desc); | |||
/** | |||
@@ -618,7 +624,7 @@ ACL_FUNC_VISIBILITY aclError aclSetTensorPlaceMent(aclTensorDesc *desc, aclMemTy | |||
* @param ... [IN] the value of current log | |||
*/ | |||
ACL_FUNC_VISIBILITY void aclAppLog(aclLogLevel logLevel, const char *func, const char *file, uint32_t line, | |||
const char *fmt, ...); | |||
const char *fmt, ...); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -626,13 +632,14 @@ ACL_FUNC_VISIBILITY void aclAppLog(aclLogLevel logLevel, const char *func, const | |||
* | |||
* @retval null for failed | |||
* @retval OtherValues success | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY const char *aclrtGetSocName(); | |||
#define ACL_APP_LOG(level, fmt, ...) aclAppLog(level, __FUNCTION__, __FILE__, __LINE__, fmt, ##__VA_ARGS__) | |||
#define ACL_APP_LOG(level, fmt, ...) \ | |||
aclAppLog(level, __FUNCTION__, __FILE__, __LINE__, fmt, ##__VA_ARGS__) | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_BASE_H_ | |||
#endif // INC_EXTERNAL_ACL_ACL_BASE_H_ |
@@ -27,19 +27,19 @@ | |||
extern "C" { | |||
#endif | |||
#define ACL_MAX_DIM_CNT 128 | |||
#define ACL_MAX_TENSOR_NAME_LEN 128 | |||
#define ACL_MAX_BATCH_NUM 128 | |||
#define ACL_MAX_HW_NUM 128 | |||
#define ACL_MAX_SHAPE_COUNT 128 | |||
#define ACL_INVALID_NODE_INDEX 0xFFFFFFFF | |||
#define ACL_MDL_LOAD_FROM_FILE 1 | |||
#define ACL_MDL_LOAD_FROM_FILE_WITH_MEM 2 | |||
#define ACL_MDL_LOAD_FROM_MEM 3 | |||
#define ACL_MDL_LOAD_FROM_MEM_WITH_MEM 4 | |||
#define ACL_MDL_LOAD_FROM_FILE_WITH_Q 5 | |||
#define ACL_MDL_LOAD_FROM_MEM_WITH_Q 6 | |||
#define ACL_MAX_DIM_CNT 128 | |||
#define ACL_MAX_TENSOR_NAME_LEN 128 | |||
#define ACL_MAX_BATCH_NUM 128 | |||
#define ACL_MAX_HW_NUM 128 | |||
#define ACL_MAX_SHAPE_COUNT 128 | |||
#define ACL_INVALID_NODE_INDEX 0xFFFFFFFF | |||
#define ACL_MDL_LOAD_FROM_FILE 1 | |||
#define ACL_MDL_LOAD_FROM_FILE_WITH_MEM 2 | |||
#define ACL_MDL_LOAD_FROM_MEM 3 | |||
#define ACL_MDL_LOAD_FROM_MEM_WITH_MEM 4 | |||
#define ACL_MDL_LOAD_FROM_FILE_WITH_Q 5 | |||
#define ACL_MDL_LOAD_FROM_MEM_WITH_Q 6 | |||
#define ACL_DYNAMIC_TENSOR_NAME "ascend_mbatch_shape_data" | |||
#define ACL_DYNAMIC_AIPP_NAME "ascend_dynamic_aipp_data" | |||
@@ -52,123 +52,123 @@ typedef struct aclAippExtendInfo aclAippExtendInfo; | |||
typedef struct aclmdlConfigHandle aclmdlConfigHandle; | |||
typedef enum { | |||
ACL_YUV420SP_U8 = 1, | |||
ACL_XRGB8888_U8, | |||
ACL_RGB888_U8, | |||
ACL_YUV400_U8, | |||
ACL_NC1HWC0DI_FP16, | |||
ACL_NC1HWC0DI_S8, | |||
ACL_ARGB8888_U8, | |||
ACL_YUYV_U8, | |||
ACL_YUV422SP_U8, | |||
ACL_AYUV444_U8, | |||
ACL_RAW10, | |||
ACL_RAW12, | |||
ACL_RAW16, | |||
ACL_RAW24, | |||
ACL_AIPP_RESERVED = 0xffff, | |||
ACL_YUV420SP_U8 = 1, | |||
ACL_XRGB8888_U8, | |||
ACL_RGB888_U8, | |||
ACL_YUV400_U8, | |||
ACL_NC1HWC0DI_FP16, | |||
ACL_NC1HWC0DI_S8, | |||
ACL_ARGB8888_U8, | |||
ACL_YUYV_U8, | |||
ACL_YUV422SP_U8, | |||
ACL_AYUV444_U8, | |||
ACL_RAW10, | |||
ACL_RAW12, | |||
ACL_RAW16, | |||
ACL_RAW24, | |||
ACL_AIPP_RESERVED = 0xffff, | |||
} aclAippInputFormat; | |||
typedef enum { | |||
ACL_MDL_PRIORITY_INT32 = 0, | |||
ACL_MDL_LOAD_TYPE_SIZET, | |||
ACL_MDL_PATH_PTR, /**< pointer to model load path with deep copy */ | |||
ACL_MDL_MEM_ADDR_PTR, /**< pointer to model memory with shallow copy */ | |||
ACL_MDL_MEM_SIZET, | |||
ACL_MDL_WEIGHT_ADDR_PTR, /**< pointer to weight memory of model with shallow copy */ | |||
ACL_MDL_WEIGHT_SIZET, | |||
ACL_MDL_WORKSPACE_ADDR_PTR, /**< pointer to worksapce memory of model with shallow copy */ | |||
ACL_MDL_WORKSPACE_SIZET, | |||
ACL_MDL_INPUTQ_NUM_SIZET, | |||
ACL_MDL_INPUTQ_ADDR_PTR, /**< pointer to inputQ with shallow copy */ | |||
ACL_MDL_OUTPUTQ_NUM_SIZET, | |||
ACL_MDL_OUTPUTQ_ADDR_PTR /**< pointer to outputQ with shallow copy */ | |||
ACL_MDL_PRIORITY_INT32 = 0, | |||
ACL_MDL_LOAD_TYPE_SIZET, | |||
ACL_MDL_PATH_PTR, /**< pointer to model load path with deep copy */ | |||
ACL_MDL_MEM_ADDR_PTR, /**< pointer to model memory with shallow copy */ | |||
ACL_MDL_MEM_SIZET, | |||
ACL_MDL_WEIGHT_ADDR_PTR, /**< pointer to weight memory of model with shallow copy */ | |||
ACL_MDL_WEIGHT_SIZET, | |||
ACL_MDL_WORKSPACE_ADDR_PTR, /**< pointer to worksapce memory of model with shallow copy */ | |||
ACL_MDL_WORKSPACE_SIZET, | |||
ACL_MDL_INPUTQ_NUM_SIZET, | |||
ACL_MDL_INPUTQ_ADDR_PTR, /**< pointer to inputQ with shallow copy */ | |||
ACL_MDL_OUTPUTQ_NUM_SIZET, | |||
ACL_MDL_OUTPUTQ_ADDR_PTR /**< pointer to outputQ with shallow copy */ | |||
} aclmdlConfigAttr; | |||
typedef enum { | |||
ACL_DATA_WITHOUT_AIPP = 0, | |||
ACL_DATA_WITH_STATIC_AIPP, | |||
ACL_DATA_WITH_DYNAMIC_AIPP, | |||
ACL_DYNAMIC_AIPP_NODE | |||
ACL_DATA_WITHOUT_AIPP = 0, | |||
ACL_DATA_WITH_STATIC_AIPP, | |||
ACL_DATA_WITH_DYNAMIC_AIPP, | |||
ACL_DYNAMIC_AIPP_NODE | |||
} aclmdlInputAippType; | |||
typedef struct aclmdlIODims { | |||
char name[ACL_MAX_TENSOR_NAME_LEN]; /**< tensor name */ | |||
size_t dimCount; /**< dim array count */ | |||
int64_t dims[ACL_MAX_DIM_CNT]; /**< dim data array */ | |||
char name[ACL_MAX_TENSOR_NAME_LEN]; /**< tensor name */ | |||
size_t dimCount; /**< dim array count */ | |||
int64_t dims[ACL_MAX_DIM_CNT]; /**< dim data array */ | |||
} aclmdlIODims; | |||
typedef struct aclAippDims { | |||
aclmdlIODims srcDims; /**< input dims before model transform */ | |||
size_t srcSize; /**< input size before model transform */ | |||
aclmdlIODims aippOutdims; /**< aipp output dims */ | |||
size_t aippOutSize; /**< aipp output size */ | |||
aclmdlIODims srcDims; /**< input dims before model transform */ | |||
size_t srcSize; /**< input size before model transform */ | |||
aclmdlIODims aippOutdims; /**< aipp output dims */ | |||
size_t aippOutSize; /**< aipp output size */ | |||
} aclAippDims; | |||
typedef struct aclmdlBatch { | |||
size_t batchCount; /**< batch array count */ | |||
uint64_t batch[ACL_MAX_BATCH_NUM]; /**< batch data array */ | |||
size_t batchCount; /**< batch array count */ | |||
uint64_t batch[ACL_MAX_BATCH_NUM]; /**< batch data array */ | |||
} aclmdlBatch; | |||
typedef struct aclmdlHW { | |||
size_t hwCount; /**< height&width array count */ | |||
uint64_t hw[ACL_MAX_HW_NUM][2]; /**< height&width data array */ | |||
size_t hwCount; /**< height&width array count */ | |||
uint64_t hw[ACL_MAX_HW_NUM][2]; /**< height&width data array */ | |||
} aclmdlHW; | |||
typedef struct aclAippInfo { | |||
aclAippInputFormat inputFormat; | |||
int32_t srcImageSizeW; | |||
int32_t srcImageSizeH; | |||
int8_t cropSwitch; | |||
int32_t loadStartPosW; | |||
int32_t loadStartPosH; | |||
int32_t cropSizeW; | |||
int32_t cropSizeH; | |||
int8_t resizeSwitch; | |||
int32_t resizeOutputW; | |||
int32_t resizeOutputH; | |||
int8_t paddingSwitch; | |||
int32_t leftPaddingSize; | |||
int32_t rightPaddingSize; | |||
int32_t topPaddingSize; | |||
int32_t bottomPaddingSize; | |||
int8_t cscSwitch; | |||
int8_t rbuvSwapSwitch; | |||
int8_t axSwapSwitch; | |||
int8_t singleLineMode; | |||
int32_t matrixR0C0; | |||
int32_t matrixR0C1; | |||
int32_t matrixR0C2; | |||
int32_t matrixR1C0; | |||
int32_t matrixR1C1; | |||
int32_t matrixR1C2; | |||
int32_t matrixR2C0; | |||
int32_t matrixR2C1; | |||
int32_t matrixR2C2; | |||
int32_t outputBias0; | |||
int32_t outputBias1; | |||
int32_t outputBias2; | |||
int32_t inputBias0; | |||
int32_t inputBias1; | |||
int32_t inputBias2; | |||
int32_t meanChn0; | |||
int32_t meanChn1; | |||
int32_t meanChn2; | |||
int32_t meanChn3; | |||
float minChn0; | |||
float minChn1; | |||
float minChn2; | |||
float minChn3; | |||
float varReciChn0; | |||
float varReciChn1; | |||
float varReciChn2; | |||
float varReciChn3; | |||
aclFormat srcFormat; | |||
aclDataType srcDatatype; | |||
size_t srcDimNum; | |||
size_t shapeCount; | |||
aclAippDims outDims[ACL_MAX_SHAPE_COUNT]; | |||
aclAippExtendInfo *aippExtend; /**< reserved parameters, current version needs to be null */ | |||
aclAippInputFormat inputFormat; | |||
int32_t srcImageSizeW; | |||
int32_t srcImageSizeH; | |||
int8_t cropSwitch; | |||
int32_t loadStartPosW; | |||
int32_t loadStartPosH; | |||
int32_t cropSizeW; | |||
int32_t cropSizeH; | |||
int8_t resizeSwitch; | |||
int32_t resizeOutputW; | |||
int32_t resizeOutputH; | |||
int8_t paddingSwitch; | |||
int32_t leftPaddingSize; | |||
int32_t rightPaddingSize; | |||
int32_t topPaddingSize; | |||
int32_t bottomPaddingSize; | |||
int8_t cscSwitch; | |||
int8_t rbuvSwapSwitch; | |||
int8_t axSwapSwitch; | |||
int8_t singleLineMode; | |||
int32_t matrixR0C0; | |||
int32_t matrixR0C1; | |||
int32_t matrixR0C2; | |||
int32_t matrixR1C0; | |||
int32_t matrixR1C1; | |||
int32_t matrixR1C2; | |||
int32_t matrixR2C0; | |||
int32_t matrixR2C1; | |||
int32_t matrixR2C2; | |||
int32_t outputBias0; | |||
int32_t outputBias1; | |||
int32_t outputBias2; | |||
int32_t inputBias0; | |||
int32_t inputBias1; | |||
int32_t inputBias2; | |||
int32_t meanChn0; | |||
int32_t meanChn1; | |||
int32_t meanChn2; | |||
int32_t meanChn3; | |||
float minChn0; | |||
float minChn1; | |||
float minChn2; | |||
float minChn3; | |||
float varReciChn0; | |||
float varReciChn1; | |||
float varReciChn2; | |||
float varReciChn3; | |||
aclFormat srcFormat; | |||
aclDataType srcDatatype; | |||
size_t srcDimNum; | |||
size_t shapeCount; | |||
aclAippDims outDims[ACL_MAX_SHAPE_COUNT]; | |||
aclAippExtendInfo *aippExtend; /**< reserved parameters, current version needs to be null */ | |||
} aclAippInfo; | |||
/** | |||
@@ -292,7 +292,8 @@ ACL_FUNC_VISIBILITY aclError aclmdlAddDatasetBuffer(aclmdlDataset *dataset, aclD | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetDatasetTensorDesc(aclmdlDataset *dataset, aclTensorDesc *tensorDesc, | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetDatasetTensorDesc(aclmdlDataset *dataset, | |||
aclTensorDesc *tensorDesc, | |||
size_t index); | |||
/** | |||
@@ -354,7 +355,8 @@ ACL_FUNC_VISIBILITY aclError aclmdlLoadFromFile(const char *modelPath, uint32_t | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromMem(const void *model, size_t modelSize, uint32_t *modelId); | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromMem(const void *model, size_t modelSize, | |||
uint32_t *modelId); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -376,8 +378,9 @@ ACL_FUNC_VISIBILITY aclError aclmdlLoadFromMem(const void *model, size_t modelSi | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromFileWithMem(const char *modelPath, uint32_t *modelId, void *workPtr, | |||
size_t workSize, void *weightPtr, size_t weightSize); | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromFileWithMem(const char *modelPath, | |||
uint32_t *modelId, void *workPtr, size_t workSize, | |||
void *weightPtr, size_t weightSize); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -400,9 +403,9 @@ ACL_FUNC_VISIBILITY aclError aclmdlLoadFromFileWithMem(const char *modelPath, ui | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromMemWithMem(const void *model, size_t modelSize, uint32_t *modelId, | |||
void *workPtr, size_t workSize, void *weightPtr, | |||
size_t weightSize); | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromMemWithMem(const void *model, size_t modelSize, | |||
uint32_t *modelId, void *workPtr, size_t workSize, | |||
void *weightPtr, size_t weightSize); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -437,8 +440,8 @@ ACL_FUNC_VISIBILITY aclError aclmdlLoadFromFileWithQ(const char *modelPath, uint | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadFromMemWithQ(const void *model, size_t modelSize, uint32_t *modelId, | |||
const uint32_t *inputQ, size_t inputQNum, const uint32_t *outputQ, | |||
size_t outputQNum); | |||
const uint32_t *inputQ, size_t inputQNum, | |||
const uint32_t *outputQ, size_t outputQNum); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -468,8 +471,8 @@ ACL_FUNC_VISIBILITY aclError aclmdlExecute(uint32_t modelId, const aclmdlDataset | |||
* @see aclmdlLoadFromFile | aclmdlLoadFromMem | aclmdlLoadFromFileWithMem | | |||
* aclmdlLoadFromMemWithMem | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlExecuteAsync(uint32_t modelId, const aclmdlDataset *input, aclmdlDataset *output, | |||
aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclmdlExecuteAsync(uint32_t modelId, const aclmdlDataset *input, | |||
aclmdlDataset *output, aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -644,7 +647,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlGetCurOutputDims(const aclmdlDesc *modelDesc, | |||
* @param modelDesc [IN] model description | |||
* @param opName [IN] op name | |||
* @param attr [IN] attr name | |||
* | |||
* | |||
* @retval the attr value | |||
*/ | |||
ACL_FUNC_VISIBILITY const char *aclmdlGetOpAttr(aclmdlDesc *modelDesc, const char *opName, const char *attr); | |||
@@ -856,11 +859,11 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPInputFormat(aclmdlAIPP *aippParmsSet, | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPCscParams(aclmdlAIPP *aippParmsSet, int8_t csc_switch, int16_t cscMatrixR0C0, | |||
int16_t cscMatrixR0C1, int16_t cscMatrixR0C2, int16_t cscMatrixR1C0, | |||
int16_t cscMatrixR1C1, int16_t cscMatrixR1C2, int16_t cscMatrixR2C0, | |||
int16_t cscMatrixR2C1, int16_t cscMatrixR2C2, | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPCscParams(aclmdlAIPP *aippParmsSet, int8_t csc_switch, | |||
int16_t cscMatrixR0C0, int16_t cscMatrixR0C1, int16_t cscMatrixR0C2, | |||
int16_t cscMatrixR1C0, int16_t cscMatrixR1C1, int16_t cscMatrixR1C2, | |||
int16_t cscMatrixR2C0, int16_t cscMatrixR2C1, int16_t cscMatrixR2C2, | |||
uint8_t cscOutputBiasR0, uint8_t cscOutputBiasR1, | |||
uint8_t cscOutputBiasR2, uint8_t cscInputBiasR0, | |||
uint8_t cscInputBiasR1, uint8_t cscInputBiasR2); | |||
@@ -876,7 +879,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPCscParams(aclmdlAIPP *aippParmsSet, in | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPRbuvSwapSwitch(aclmdlAIPP *aippParmsSet, int8_t rbuvSwapSwitch); | |||
/** | |||
@@ -890,7 +893,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPRbuvSwapSwitch(aclmdlAIPP *aippParmsSe | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPAxSwapSwitch(aclmdlAIPP *aippParmsSet, int8_t axSwapSwitch); | |||
/** | |||
@@ -905,7 +908,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPAxSwapSwitch(aclmdlAIPP *aippParmsSet, | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPSrcImageSize(aclmdlAIPP *aippParmsSet, int32_t srcImageSizeW, | |||
int32_t srcImageSizeH); | |||
@@ -925,10 +928,14 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPSrcImageSize(aclmdlAIPP *aippParmsSet, | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPScfParams(aclmdlAIPP *aippParmsSet, int8_t scfSwitch, int32_t scfInputSizeW, | |||
int32_t scfInputSizeH, int32_t scfOutputSizeW, | |||
int32_t scfOutputSizeH, uint64_t batchIndex); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPScfParams(aclmdlAIPP *aippParmsSet, | |||
int8_t scfSwitch, | |||
int32_t scfInputSizeW, | |||
int32_t scfInputSizeH, | |||
int32_t scfOutputSizeW, | |||
int32_t scfOutputSizeH, | |||
uint64_t batchIndex); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -946,9 +953,13 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPScfParams(aclmdlAIPP *aippParmsSet, in | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPCropParams(aclmdlAIPP *aippParmsSet, int8_t cropSwitch, int32_t cropStartPosW, | |||
int32_t cropStartPosH, int32_t cropSizeW, int32_t cropSizeH, | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPCropParams(aclmdlAIPP *aippParmsSet, | |||
int8_t cropSwitch, | |||
int32_t cropStartPosW, | |||
int32_t cropStartPosH, | |||
int32_t cropSizeW, | |||
int32_t cropSizeH, | |||
uint64_t batchIndex); | |||
/** | |||
@@ -967,7 +978,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPCropParams(aclmdlAIPP *aippParmsSet, i | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPPaddingParams(aclmdlAIPP *aippParmsSet, int8_t paddingSwitch, | |||
int32_t paddingSizeTop, int32_t paddingSizeBottom, | |||
int32_t paddingSizeLeft, int32_t paddingSizeRight, | |||
@@ -988,10 +999,13 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPPaddingParams(aclmdlAIPP *aippParmsSet | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPDtcPixelMean(aclmdlAIPP *aippParmsSet, int16_t dtcPixelMeanChn0, | |||
int16_t dtcPixelMeanChn1, int16_t dtcPixelMeanChn2, | |||
int16_t dtcPixelMeanChn3, uint64_t batchIndex); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPDtcPixelMean(aclmdlAIPP *aippParmsSet, | |||
int16_t dtcPixelMeanChn0, | |||
int16_t dtcPixelMeanChn1, | |||
int16_t dtcPixelMeanChn2, | |||
int16_t dtcPixelMeanChn3, | |||
uint64_t batchIndex); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1008,10 +1022,13 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPDtcPixelMean(aclmdlAIPP *aippParmsSet, | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPDtcPixelMin(aclmdlAIPP *aippParmsSet, float dtcPixelMinChn0, | |||
float dtcPixelMinChn1, float dtcPixelMinChn2, | |||
float dtcPixelMinChn3, uint64_t batchIndex); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPDtcPixelMin(aclmdlAIPP *aippParmsSet, | |||
float dtcPixelMinChn0, | |||
float dtcPixelMinChn1, | |||
float dtcPixelMinChn2, | |||
float dtcPixelMinChn3, | |||
uint64_t batchIndex); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1028,10 +1045,13 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPDtcPixelMin(aclmdlAIPP *aippParmsSet, | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPPixelVarReci(aclmdlAIPP *aippParmsSet, float dtcPixelVarReciChn0, | |||
float dtcPixelVarReciChn1, float dtcPixelVarReciChn2, | |||
float dtcPixelVarReciChn3, uint64_t batchIndex); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPPixelVarReci(aclmdlAIPP *aippParmsSet, | |||
float dtcPixelVarReciChn0, | |||
float dtcPixelVarReciChn1, | |||
float dtcPixelVarReciChn2, | |||
float dtcPixelVarReciChn3, | |||
uint64_t batchIndex); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1047,8 +1067,10 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPPixelVarReci(aclmdlAIPP *aippParmsSet, | |||
* | |||
* @see aclmdlLoadFromFile | aclmdlLoadFromMem | aclmdlLoadFromFileWithMem | | |||
* aclmdlLoadFromMemWithMem | aclmdlGetInputIndexByName | aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetInputAIPP(uint32_t modelId, aclmdlDataset *dataset, size_t index, | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetInputAIPP(uint32_t modelId, | |||
aclmdlDataset *dataset, | |||
size_t index, | |||
const aclmdlAIPP *aippParmsSet); | |||
/** | |||
@@ -1065,8 +1087,10 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetInputAIPP(uint32_t modelId, aclmdlDataset | |||
* | |||
* @see aclmdlLoadFromFile | aclmdlLoadFromMem | aclmdlLoadFromFileWithMem | | |||
* aclmdlLoadFromMemWithMem | aclmdlGetInputIndexByName | aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPByInputIndex(uint32_t modelId, aclmdlDataset *dataset, size_t index, | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPByInputIndex(uint32_t modelId, | |||
aclmdlDataset *dataset, | |||
size_t index, | |||
const aclmdlAIPP *aippParmsSet); | |||
/** | |||
@@ -1084,8 +1108,10 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetAIPPByInputIndex(uint32_t modelId, aclmdlD | |||
* | |||
* @see aclmdlLoadFromFile | aclmdlLoadFromMem | aclmdlLoadFromFileWithMem | | |||
* aclmdlLoadFromMemWithMem | aclmdlGetInputIndexByName | aclmdlCreateAIPP | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlGetAippType(uint32_t modelId, size_t index, aclmdlInputAippType *type, | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlGetAippType(uint32_t modelId, | |||
size_t index, | |||
aclmdlInputAippType *type, | |||
size_t *dynamicAttachedDataIndex); | |||
/** | |||
@@ -1102,7 +1128,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlGetAippType(uint32_t modelId, size_t index, a | |||
* | |||
* @see aclmdlLoadFromFile | aclmdlLoadFromMem | aclmdlLoadFromFileWithMem | | |||
* aclmdlLoadFromMemWithMem | aclmdlGetInputIndexByName | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlGetFirstAippInfo(uint32_t modelId, size_t index, aclAippInfo *aippinfo); | |||
/** | |||
@@ -1121,11 +1147,10 @@ ACL_FUNC_VISIBILITY aclError aclmdlGetFirstAippInfo(uint32_t modelId, size_t ind | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlCreateAndGetOpDesc(uint32_t deviceId, uint32_t streamId, uint32_t taskId, | |||
char *opName, size_t opNameLen, aclTensorDesc **inputDesc, | |||
size_t *numInputs, aclTensorDesc **outputDesc, | |||
size_t *numOutputs); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlCreateAndGetOpDesc(uint32_t deviceId, uint32_t streamId, | |||
uint32_t taskId, char *opName, size_t opNameLen, aclTensorDesc **inputDesc, size_t *numInputs, | |||
aclTensorDesc **outputDesc, size_t *numOutputs); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1133,7 +1158,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlCreateAndGetOpDesc(uint32_t deviceId, uint32_ | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlInitDump(); | |||
/** | |||
@@ -1144,7 +1169,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlInitDump(); | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetDump(const char *dumpCfgPath); | |||
/** | |||
@@ -1153,7 +1178,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlSetDump(const char *dumpCfgPath); | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlFinalizeDump(); | |||
/** | |||
@@ -1165,7 +1190,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlFinalizeDump(); | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlLoadWithConfig(const aclmdlConfigHandle *handle, uint32_t *modelId); | |||
/** | |||
@@ -1175,7 +1200,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlLoadWithConfig(const aclmdlConfigHandle *hand | |||
* @retval the aclmdlConfigHandle pointer | |||
* | |||
* @see aclmdlDestroyConfigHandle | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY aclmdlConfigHandle *aclmdlCreateConfigHandle(); | |||
/** | |||
@@ -1204,7 +1229,7 @@ ACL_FUNC_VISIBILITY aclError aclmdlDestroyConfigHandle(aclmdlConfigHandle *handl | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclmdlSetConfigOpt(aclmdlConfigHandle *handle, aclmdlConfigAttr attr, | |||
const void *attrValue, size_t valueSize); | |||
const void *attrValue, size_t valueSize); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1222,4 +1247,4 @@ ACL_FUNC_VISIBILITY const char *aclmdlGetTensorRealName(const aclmdlDesc *modelD | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_MODEL_H_ | |||
#endif // INC_EXTERNAL_ACL_ACL_MODEL_H_ |
@@ -33,9 +33,9 @@ typedef void (*aclDataDeallocator)(void *data, size_t length); | |||
static const int ACL_COMPILE_FLAG_BIN_SELECTOR = 1; | |||
typedef enum aclEngineType { | |||
ACL_ENGINE_SYS, | |||
ACL_ENGINE_AICORE, | |||
ACL_ENGINE_VECTOR, | |||
ACL_ENGINE_SYS, | |||
ACL_ENGINE_AICORE, | |||
ACL_ENGINE_VECTOR, | |||
} aclopEngineType; | |||
/** | |||
@@ -148,7 +148,7 @@ ACL_FUNC_VISIBILITY aclError aclopSetAttrString(aclopAttr *attr, const char *att | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopSetAttrListBool(aclopAttr *attr, const char *attrName, int numValues, | |||
const uint8_t *values); | |||
const uint8_t *values); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -163,7 +163,7 @@ ACL_FUNC_VISIBILITY aclError aclopSetAttrListBool(aclopAttr *attr, const char *a | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopSetAttrListInt(aclopAttr *attr, const char *attrName, int numValues, | |||
const int64_t *values); | |||
const int64_t *values); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -178,7 +178,7 @@ ACL_FUNC_VISIBILITY aclError aclopSetAttrListInt(aclopAttr *attr, const char *at | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopSetAttrListFloat(aclopAttr *attr, const char *attrName, int numValues, | |||
const float *values); | |||
const float *values); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -193,7 +193,7 @@ ACL_FUNC_VISIBILITY aclError aclopSetAttrListFloat(aclopAttr *attr, const char * | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopSetAttrListString(aclopAttr *attr, const char *attrName, int numValues, | |||
const char **values); | |||
const char **values); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -208,8 +208,11 @@ ACL_FUNC_VISIBILITY aclError aclopSetAttrListString(aclopAttr *attr, const char | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopSetAttrListListInt(aclopAttr *attr, const char *attrName, int numLists, | |||
const int *numValues, const int64_t *const values[]); | |||
ACL_FUNC_VISIBILITY aclError aclopSetAttrListListInt(aclopAttr *attr, | |||
const char *attrName, | |||
int numLists, | |||
const int *numValues, | |||
const int64_t *const values[]); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -239,10 +242,15 @@ ACL_FUNC_VISIBILITY aclError aclopSetAttrListListInt(aclopAttr *attr, const char | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_DEPRECATED_MESSAGE("aclopExecute is deprecated, use aclopExecuteV2 instead") | |||
ACL_FUNC_VISIBILITY aclError aclopExecute(const char *opType, int numInputs, const aclTensorDesc *const inputDesc[], | |||
const aclDataBuffer *const inputs[], int numOutputs, | |||
const aclTensorDesc *const outputDesc[], aclDataBuffer *const outputs[], | |||
const aclopAttr *attr, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclopExecute(const char *opType, | |||
int numInputs, | |||
const aclTensorDesc *const inputDesc[], | |||
const aclDataBuffer *const inputs[], | |||
int numOutputs, | |||
const aclTensorDesc *const outputDesc[], | |||
aclDataBuffer *const outputs[], | |||
const aclopAttr *attr, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -272,9 +280,15 @@ ACL_FUNC_VISIBILITY aclError aclopExecute(const char *opType, int numInputs, con | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopExecuteV2(const char *opType, int numInputs, aclTensorDesc *inputDesc[], | |||
aclDataBuffer *inputs[], int numOutputs, aclTensorDesc *outputDesc[], | |||
aclDataBuffer *outputs[], aclopAttr *attr, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclopExecuteV2(const char *opType, | |||
int numInputs, | |||
aclTensorDesc *inputDesc[], | |||
aclDataBuffer *inputs[], | |||
int numOutputs, | |||
aclTensorDesc *outputDesc[], | |||
aclDataBuffer *outputs[], | |||
aclopAttr *attr, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -292,9 +306,12 @@ ACL_FUNC_VISIBILITY aclError aclopExecuteV2(const char *opType, int numInputs, a | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopCreateHandle(const char *opType, int numInputs, | |||
const aclTensorDesc *const inputDesc[], int numOutputs, | |||
const aclTensorDesc *const outputDesc[], const aclopAttr *opAttr, | |||
ACL_FUNC_VISIBILITY aclError aclopCreateHandle(const char *opType, | |||
int numInputs, | |||
const aclTensorDesc *const inputDesc[], | |||
int numOutputs, | |||
const aclTensorDesc *const outputDesc[], | |||
const aclopAttr *opAttr, | |||
aclopHandle **handle); | |||
/** | |||
@@ -326,9 +343,12 @@ ACL_FUNC_VISIBILITY void aclopDestroyHandle(aclopHandle *handle); | |||
* | |||
* @see aclopCreateHandle | aclCreateDataBuffer | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopExecWithHandle(aclopHandle *handle, int numInputs, | |||
const aclDataBuffer *const inputs[], int numOutputs, | |||
aclDataBuffer *const outputs[], aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclopExecWithHandle(aclopHandle *handle, | |||
int numInputs, | |||
const aclDataBuffer *const inputs[], | |||
int numOutputs, | |||
aclDataBuffer *const outputs[], | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -344,8 +364,11 @@ ACL_FUNC_VISIBILITY aclError aclopExecWithHandle(aclopHandle *handle, int numInp | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopCast(const aclTensorDesc *srcDesc, const aclDataBuffer *srcBuffer, | |||
const aclTensorDesc *dstDesc, aclDataBuffer *dstBuffer, uint8_t truncate, | |||
ACL_FUNC_VISIBILITY aclError aclopCast(const aclTensorDesc *srcDesc, | |||
const aclDataBuffer *srcBuffer, | |||
const aclTensorDesc *dstDesc, | |||
aclDataBuffer *dstBuffer, | |||
uint8_t truncate, | |||
aclrtStream stream); | |||
/** | |||
@@ -360,9 +383,12 @@ ACL_FUNC_VISIBILITY aclError aclopCast(const aclTensorDesc *srcDesc, const aclDa | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopCreateHandleForCast(aclTensorDesc *srcDesc, aclTensorDesc *dstDesc, uint8_t truncate, | |||
ACL_FUNC_VISIBILITY aclError aclopCreateHandleForCast(aclTensorDesc *srcDesc, | |||
aclTensorDesc *dstDesc, | |||
uint8_t truncate, | |||
aclopHandle **handle); | |||
/** | |||
* @ingroup AscendCL | |||
* @brief create kernel | |||
@@ -381,10 +407,15 @@ ACL_FUNC_VISIBILITY aclError aclopCreateHandleForCast(aclTensorDesc *srcDesc, ac | |||
* | |||
* @see aclopCompile | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopCreateKernel(const char *opType, const char *kernelId, const char *kernelName, | |||
void *binData, int binSize, aclopEngineType enginetype, | |||
ACL_FUNC_VISIBILITY aclError aclopCreateKernel(const char *opType, | |||
const char *kernelId, | |||
const char *kernelName, | |||
void *binData, | |||
int binSize, | |||
aclopEngineType enginetype, | |||
aclDataDeallocator deallocator); | |||
/** | |||
* @ingroup AscendCL | |||
* @brief create kernel | |||
@@ -399,8 +430,11 @@ ACL_FUNC_VISIBILITY aclError aclopCreateKernel(const char *opType, const char *k | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
typedef aclError (*aclopCompileFunc)(int numInputs, const aclTensorDesc *const inputDesc[], int numOutputs, | |||
const aclTensorDesc *const outputDesc[], const aclopAttr *opAttr, | |||
typedef aclError (*aclopCompileFunc)(int numInputs, | |||
const aclTensorDesc *const inputDesc[], | |||
int numOutputs, | |||
const aclTensorDesc *const outputDesc[], | |||
const aclopAttr *opAttr, | |||
aclopKernelDesc *aclopKernelDesc); | |||
/** | |||
@@ -441,8 +475,11 @@ ACL_FUNC_VISIBILITY aclError aclopUnregisterCompileFunc(const char *opType); | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopSetKernelArgs(aclopKernelDesc *kernelDesc, const char *kernelId, uint32_t blockDim, | |||
const void *args, uint32_t argSize); | |||
ACL_FUNC_VISIBILITY aclError aclopSetKernelArgs(aclopKernelDesc *kernelDesc, | |||
const char *kernelId, | |||
uint32_t blockDim, | |||
const void *args, | |||
uint32_t argSize); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -473,9 +510,12 @@ ACL_FUNC_VISIBILITY aclError aclopSetKernelWorkspaceSizes(aclopKernelDesc *kerne | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopUpdateParams(const char *opType, int numInputs, | |||
const aclTensorDesc *const inputDesc[], int numOutputs, | |||
const aclTensorDesc *const outputDesc[], const aclopAttr *attr); | |||
ACL_FUNC_VISIBILITY aclError aclopUpdateParams(const char *opType, | |||
int numInputs, | |||
const aclTensorDesc *const inputDesc[], | |||
int numOutputs, | |||
const aclTensorDesc *const outputDesc[], | |||
const aclopAttr *attr); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -493,12 +533,17 @@ ACL_FUNC_VISIBILITY aclError aclopUpdateParams(const char *opType, int numInputs | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopInferShape(const char *opType, int numInputs, aclTensorDesc *inputDesc[], | |||
aclDataBuffer *inputs[], int numOutputs, aclTensorDesc *outputDesc[], | |||
ACL_FUNC_VISIBILITY aclError aclopInferShape(const char *opType, | |||
int numInputs, | |||
aclTensorDesc *inputDesc[], | |||
aclDataBuffer *inputs[], | |||
int numOutputs, | |||
aclTensorDesc *outputDesc[], | |||
aclopAttr *attr); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_OP_H_ | |||
#endif // INC_EXTERNAL_ACL_ACL_OP_H_ |
@@ -24,22 +24,28 @@ | |||
extern "C" { | |||
#endif | |||
typedef enum aclCompileType { ACL_COMPILE_SYS, ACL_COMPILE_UNREGISTERED } aclopCompileType; | |||
typedef enum aclCompileType { | |||
ACL_COMPILE_SYS, | |||
ACL_COMPILE_UNREGISTERED | |||
} aclopCompileType; | |||
typedef enum { | |||
ACL_PRECISION_MODE, | |||
ACL_AICORE_NUM, | |||
ACL_AUTO_TUNE_MODE, | |||
ACL_OP_SELECT_IMPL_MODE, | |||
ACL_OPTYPELIST_FOR_IMPLMODE, | |||
ACL_OP_DEBUG_LEVEL, | |||
ACL_DEBUG_DIR, | |||
ACL_OP_COMPILER_CACHE_MODE, | |||
ACL_OP_COMPILER_CACHE_DIR, | |||
ACL_OP_PERFORMANCE_MODE | |||
ACL_PRECISION_MODE, | |||
ACL_AICORE_NUM, | |||
ACL_AUTO_TUNE_MODE, | |||
ACL_OP_SELECT_IMPL_MODE, | |||
ACL_OPTYPELIST_FOR_IMPLMODE, | |||
ACL_OP_DEBUG_LEVEL, | |||
ACL_DEBUG_DIR, | |||
ACL_OP_COMPILER_CACHE_MODE, | |||
ACL_OP_COMPILER_CACHE_DIR, | |||
ACL_OP_PERFORMANCE_MODE | |||
} aclCompileOpt; | |||
typedef enum aclCompileFlag { ACL_OP_COMPILE_DEFAULT, ACL_OP_COMPILE_FUZZ } aclOpCompileFlag; | |||
typedef enum aclCompileFlag { | |||
ACL_OP_COMPILE_DEFAULT, | |||
ACL_OP_COMPILE_FUZZ | |||
} aclOpCompileFlag; | |||
/** | |||
* @ingroup AscendCL | |||
@@ -59,10 +65,15 @@ typedef enum aclCompileFlag { ACL_OP_COMPILE_DEFAULT, ACL_OP_COMPILE_FUZZ } aclO | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopCompile(const char *opType, int numInputs, const aclTensorDesc *const inputDesc[], | |||
int numOutputs, const aclTensorDesc *const outputDesc[], | |||
const aclopAttr *attr, aclopEngineType engineType, | |||
aclopCompileType compileFlag, const char *opPath); | |||
ACL_FUNC_VISIBILITY aclError aclopCompile(const char *opType, | |||
int numInputs, | |||
const aclTensorDesc *const inputDesc[], | |||
int numOutputs, | |||
const aclTensorDesc *const outputDesc[], | |||
const aclopAttr *attr, | |||
aclopEngineType engineType, | |||
aclopCompileType compileFlag, | |||
const char *opPath); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -85,10 +96,11 @@ ACL_FUNC_VISIBILITY aclError aclopCompile(const char *opType, int numInputs, con | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclopCompileAndExecute( | |||
const char *opType, int numInputs, const aclTensorDesc *const inputDesc[], const aclDataBuffer *const inputs[], | |||
int numOutputs, const aclTensorDesc *const outputDesc[], aclDataBuffer *const outputs[], const aclopAttr *attr, | |||
aclopEngineType engineType, aclopCompileType compileFlag, const char *opPath, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclopCompileAndExecute(const char *opType, | |||
int numInputs, const aclTensorDesc *const inputDesc[], const aclDataBuffer *const inputs[], | |||
int numOutputs, const aclTensorDesc *const outputDesc[], aclDataBuffer *const outputs[], | |||
const aclopAttr *attr, aclopEngineType engineType, aclopCompileType compileFlag, | |||
const char *opPath, aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -118,4 +130,4 @@ ACL_FUNC_VISIBILITY aclError aclopSetCompileFlag(aclOpCompileFlag flag); | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_OP_COMPILER_H_ | |||
#endif // INC_EXTERNAL_ACL_ACL_OP_COMPILER_H_ |
@@ -23,24 +23,24 @@ | |||
extern "C" { | |||
#endif | |||
#define ACL_PROF_ACL_API 0x0001 | |||
#define ACL_PROF_TASK_TIME 0x0002 | |||
#define ACL_PROF_AICORE_METRICS 0x0004 | |||
#define ACL_PROF_AICPU 0x0008 | |||
#define ACL_PROF_ACL_API 0x0001 | |||
#define ACL_PROF_TASK_TIME 0x0002 | |||
#define ACL_PROF_AICORE_METRICS 0x0004 | |||
#define ACL_PROF_AICPU 0x0008 | |||
/** | |||
* @deprecated please use aclprofGetOpTypeLen and aclprofGetOpTNameLen instead | |||
*/ | |||
#define ACL_PROF_MAX_OP_NAME_LEN 257 | |||
#define ACL_PROF_MAX_OP_TYPE_LEN 65 | |||
#define ACL_PROF_MAX_OP_NAME_LEN 257 | |||
#define ACL_PROF_MAX_OP_TYPE_LEN 65 | |||
typedef enum { | |||
ACL_AICORE_ARITHMETIC_UTILIZATION = 0, | |||
ACL_AICORE_PIPE_UTILIZATION = 1, | |||
ACL_AICORE_MEMORY_BANDWIDTH = 2, | |||
ACL_AICORE_L0B_AND_WIDTH = 3, | |||
ACL_AICORE_RESOURCE_CONFLICT_RATIO = 4, | |||
ACL_AICORE_NONE = 0xFF | |||
ACL_AICORE_ARITHMETIC_UTILIZATION = 0, | |||
ACL_AICORE_PIPE_UTILIZATION = 1, | |||
ACL_AICORE_MEMORY_BANDWIDTH = 2, | |||
ACL_AICORE_L0B_AND_WIDTH = 3, | |||
ACL_AICORE_RESOURCE_CONFLICT_RATIO = 4, | |||
ACL_AICORE_NONE = 0xFF | |||
} aclprofAicoreMetrics; | |||
typedef struct aclprofConfig aclprofConfig; | |||
@@ -101,8 +101,7 @@ ACL_FUNC_VISIBILITY aclError aclprofStart(const aclprofConfig *profilerConfig); | |||
* @see aclprofDestroyConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclprofConfig *aclprofCreateConfig(uint32_t *deviceIdList, uint32_t deviceNums, | |||
aclprofAicoreMetrics aicoreMetrics, | |||
aclprofAicoreEvents *aicoreEvents, uint64_t dataTypeConfig); | |||
aclprofAicoreMetrics aicoreMetrics, aclprofAicoreEvents *aicoreEvents, uint64_t dataTypeConfig); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -142,7 +141,8 @@ ACL_FUNC_VISIBILITY aclError aclprofStop(const aclprofConfig *profilerConfig); | |||
* | |||
* @see aclprofModelUnSubscribe | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclprofModelSubscribe(uint32_t modelId, const aclprofSubscribeConfig *profSubscribeConfig); | |||
ACL_FUNC_VISIBILITY aclError aclprofModelSubscribe(uint32_t modelId, | |||
const aclprofSubscribeConfig *profSubscribeConfig); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -170,7 +170,7 @@ ACL_FUNC_VISIBILITY aclError aclprofModelUnSubscribe(uint32_t modelId); | |||
* @see aclprofDestroySubscribeConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclprofSubscribeConfig *aclprofCreateSubscribeConfig(int8_t timeInfoSwitch, | |||
aclprofAicoreMetrics aicoreMetrics, void *fd); | |||
aclprofAicoreMetrics aicoreMetrics, void *fd); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -222,7 +222,7 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpNum(const void *opInfo, size_t opInfoLe | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclprofGetOpTypeLen(const void *opInfo, size_t opInfoLen, uint32_t index, | |||
size_t *opTypeLen); | |||
size_t *opTypeLen); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -237,8 +237,8 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpTypeLen(const void *opInfo, size_t opIn | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclprofGetOpType(const void *opInfo, size_t opInfoLen, uint32_t index, char *opType, | |||
size_t opTypeLen); | |||
ACL_FUNC_VISIBILITY aclError aclprofGetOpType(const void *opInfo, size_t opInfoLen, uint32_t index, | |||
char *opType, size_t opTypeLen); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -253,7 +253,7 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpType(const void *opInfo, size_t opInfoL | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclprofGetOpNameLen(const void *opInfo, size_t opInfoLen, uint32_t index, | |||
size_t *opNameLen); | |||
size_t *opNameLen); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -268,8 +268,8 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpNameLen(const void *opInfo, size_t opIn | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclprofGetOpName(const void *opInfo, size_t opInfoLen, uint32_t index, char *opName, | |||
size_t opNameLen); | |||
ACL_FUNC_VISIBILITY aclError aclprofGetOpName(const void *opInfo, size_t opInfoLen, uint32_t index, | |||
char *opName, size_t opNameLen); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -326,4 +326,4 @@ ACL_FUNC_VISIBILITY size_t aclprofGetModelId(const void *opInfo, size_t opInfoLe | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_PROF_H_ | |||
#endif // INC_EXTERNAL_ACL_PROF_H_ |
@@ -28,63 +28,63 @@ extern "C" { | |||
#define ACL_EVENT_TIME_LINE 0x00000008u | |||
typedef enum aclrtRunMode { | |||
ACL_DEVICE, | |||
ACL_HOST, | |||
ACL_DEVICE, | |||
ACL_HOST, | |||
} aclrtRunMode; | |||
typedef enum aclrtTsId { | |||
ACL_TS_ID_AICORE = 0, | |||
ACL_TS_ID_AIVECTOR = 1, | |||
ACL_TS_ID_RESERVED = 2, | |||
ACL_TS_ID_AICORE = 0, | |||
ACL_TS_ID_AIVECTOR = 1, | |||
ACL_TS_ID_RESERVED = 2, | |||
} aclrtTsId; | |||
typedef enum aclrtEventStatus { | |||
ACL_EVENT_STATUS_COMPLETE = 0, | |||
ACL_EVENT_STATUS_NOT_READY = 1, | |||
ACL_EVENT_STATUS_RESERVED = 2, | |||
ACL_EVENT_STATUS_COMPLETE = 0, | |||
ACL_EVENT_STATUS_NOT_READY = 1, | |||
ACL_EVENT_STATUS_RESERVED = 2, | |||
} aclrtEventStatus; | |||
typedef enum aclrtCallbackBlockType { | |||
ACL_CALLBACK_NO_BLOCK, | |||
ACL_CALLBACK_BLOCK, | |||
ACL_CALLBACK_NO_BLOCK, | |||
ACL_CALLBACK_BLOCK, | |||
} aclrtCallbackBlockType; | |||
typedef enum aclrtMemcpyKind { | |||
ACL_MEMCPY_HOST_TO_HOST, | |||
ACL_MEMCPY_HOST_TO_DEVICE, | |||
ACL_MEMCPY_DEVICE_TO_HOST, | |||
ACL_MEMCPY_DEVICE_TO_DEVICE, | |||
ACL_MEMCPY_HOST_TO_HOST, | |||
ACL_MEMCPY_HOST_TO_DEVICE, | |||
ACL_MEMCPY_DEVICE_TO_HOST, | |||
ACL_MEMCPY_DEVICE_TO_DEVICE, | |||
} aclrtMemcpyKind; | |||
typedef enum aclrtMemMallocPolicy { | |||
ACL_MEM_MALLOC_HUGE_FIRST, | |||
ACL_MEM_MALLOC_HUGE_ONLY, | |||
ACL_MEM_MALLOC_NORMAL_ONLY, | |||
ACL_MEM_MALLOC_HUGE_FIRST_P2P, | |||
ACL_MEM_MALLOC_HUGE_ONLY_P2P, | |||
ACL_MEM_MALLOC_NORMAL_ONLY_P2P, | |||
ACL_MEM_MALLOC_HUGE_FIRST, | |||
ACL_MEM_MALLOC_HUGE_ONLY, | |||
ACL_MEM_MALLOC_NORMAL_ONLY, | |||
ACL_MEM_MALLOC_HUGE_FIRST_P2P, | |||
ACL_MEM_MALLOC_HUGE_ONLY_P2P, | |||
ACL_MEM_MALLOC_NORMAL_ONLY_P2P, | |||
} aclrtMemMallocPolicy; | |||
typedef enum aclrtMemAttr { | |||
ACL_DDR_MEM, | |||
ACL_HBM_MEM, | |||
ACL_DDR_MEM_HUGE, | |||
ACL_DDR_MEM_NORMAL, | |||
ACL_HBM_MEM_HUGE, | |||
ACL_HBM_MEM_NORMAL, | |||
ACL_DDR_MEM_P2P_HUGE, | |||
ACL_DDR_MEM_P2P_NORMAL, | |||
ACL_HBM_MEM_P2P_HUGE, | |||
ACL_HBM_MEM_P2P_NORMAL, | |||
ACL_DDR_MEM, | |||
ACL_HBM_MEM, | |||
ACL_DDR_MEM_HUGE, | |||
ACL_DDR_MEM_NORMAL, | |||
ACL_HBM_MEM_HUGE, | |||
ACL_HBM_MEM_NORMAL, | |||
ACL_DDR_MEM_P2P_HUGE, | |||
ACL_DDR_MEM_P2P_NORMAL, | |||
ACL_HBM_MEM_P2P_HUGE, | |||
ACL_HBM_MEM_P2P_NORMAL, | |||
} aclrtMemAttr; | |||
typedef enum aclrtGroupAttr { | |||
ACL_GROUP_AICORE_INT, | |||
ACL_GROUP_AIV_INT, | |||
ACL_GROUP_AIC_INT, | |||
ACL_GROUP_SDMANUM_INT, | |||
ACL_GROUP_ASQNUM_INT, | |||
ACL_GROUP_GROUPID_INT | |||
ACL_GROUP_AICORE_INT, | |||
ACL_GROUP_AIV_INT, | |||
ACL_GROUP_AIC_INT, | |||
ACL_GROUP_SDMANUM_INT, | |||
ACL_GROUP_ASQNUM_INT, | |||
ACL_GROUP_GROUPID_INT | |||
} aclrtGroupAttr; | |||
typedef struct tagRtGroupInfo aclrtGroupInfo; | |||
@@ -487,7 +487,7 @@ ACL_FUNC_VISIBILITY aclError aclrtRecordEvent(aclrtEvent event, aclrtStream stre | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtResetEvent(aclrtEvent event, aclrtStream stream); | |||
/** | |||
/** | |||
* @ingroup AscendCL | |||
* @brief Queries an event's status | |||
* | |||
@@ -549,7 +549,9 @@ ACL_FUNC_VISIBILITY aclError aclrtEventElapsedTime(float *ms, aclrtEvent start, | |||
* | |||
* @see aclrtFree | acldvppMalloc | aclrtMallocCached | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtMalloc(void **devPtr, size_t size, aclrtMemMallocPolicy policy); | |||
ACL_FUNC_VISIBILITY aclError aclrtMalloc(void **devPtr, | |||
size_t size, | |||
aclrtMemMallocPolicy policy); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -572,7 +574,9 @@ ACL_FUNC_VISIBILITY aclError aclrtMalloc(void **devPtr, size_t size, aclrtMemMal | |||
* | |||
* @see aclrtFree | aclrtMalloc | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtMallocCached(void **devPtr, size_t size, aclrtMemMallocPolicy policy); | |||
ACL_FUNC_VISIBILITY aclError aclrtMallocCached(void **devPtr, | |||
size_t size, | |||
aclrtMemMallocPolicy policy); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -663,7 +667,10 @@ ACL_FUNC_VISIBILITY aclError aclrtFreeHost(void *hostPtr); | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtMemcpy(void *dst, size_t destMax, const void *src, size_t count, | |||
ACL_FUNC_VISIBILITY aclError aclrtMemcpy(void *dst, | |||
size_t destMax, | |||
const void *src, | |||
size_t count, | |||
aclrtMemcpyKind kind); | |||
/** | |||
@@ -710,31 +717,38 @@ ACL_FUNC_VISIBILITY aclError aclrtMemset(void *devPtr, size_t maxCount, int32_t | |||
* | |||
* @see aclrtSynchronizeStream | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtMemcpyAsync(void *dst, size_t destMax, const void *src, size_t count, | |||
aclrtMemcpyKind kind, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclrtMemcpyAsync(void *dst, | |||
size_t destMax, | |||
const void *src, | |||
size_t count, | |||
aclrtMemcpyKind kind, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
* @brief Asynchronous initialize memory | |||
* and set contents of memory to specified value async | |||
* | |||
* @par Function | |||
* @ingroup AscendCL | |||
* @brief Asynchronous initialize memory | |||
* and set contents of memory to specified value async | |||
* | |||
* @par Function | |||
* The memory to be initialized is on the Host or device side, | |||
* and the system determines whether | |||
* it is host or device according to the address | |||
* | |||
* @param devPtr [IN] destination address pointer | |||
* @param maxCount [IN] Max length of destination address memory | |||
* @param value [IN] set value | |||
* @param count [IN] the number of byte to set | |||
* @param stream [IN] asynchronized task stream | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclrtSynchronizeStream | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtMemsetAsync(void *devPtr, size_t maxCount, int32_t value, size_t count, | |||
* @param devPtr [IN] destination address pointer | |||
* @param maxCount [IN] Max length of destination address memory | |||
* @param value [IN] set value | |||
* @param count [IN] the number of byte to set | |||
* @param stream [IN] asynchronized task stream | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
* | |||
* @see aclrtSynchronizeStream | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtMemsetAsync(void *devPtr, | |||
size_t maxCount, | |||
int32_t value, | |||
size_t count, | |||
aclrtStream stream); | |||
/** | |||
@@ -880,8 +894,11 @@ ACL_FUNC_VISIBILITY aclError aclrtGetAllGroupInfo(aclrtGroupInfo *groupInfo); | |||
* | |||
* @see aclrtGetGroupCount | aclrtGetAllGroupInfo | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclrtGetGroupInfoDetail(const aclrtGroupInfo *groupInfo, int32_t groupIndex, | |||
aclrtGroupAttr attr, void *attrValue, size_t valueLen, | |||
ACL_FUNC_VISIBILITY aclError aclrtGetGroupInfoDetail(const aclrtGroupInfo *groupInfo, | |||
int32_t groupIndex, | |||
aclrtGroupAttr attr, | |||
void *attrValue, | |||
size_t valueLen, | |||
size_t *paramRetSize); | |||
/** | |||
@@ -955,4 +972,5 @@ ACL_FUNC_VISIBILITY aclError aclrtSetOpWaitTimeout(uint32_t timeout); | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_RT_H_ | |||
#endif // INC_EXTERNAL_ACL_ACL_RT_H_ | |||
@@ -24,10 +24,10 @@ extern "C" { | |||
#endif | |||
enum acltdtTensorType { | |||
ACL_TENSOR_DATA_UNDEFINED = -1, | |||
ACL_TENSOR_DATA_TENSOR, | |||
ACL_TENSOR_DATA_END_OF_SEQUENCE, | |||
ACL_TENSOR_DATA_ABNORMAL | |||
ACL_TENSOR_DATA_UNDEFINED = -1, | |||
ACL_TENSOR_DATA_TENSOR, | |||
ACL_TENSOR_DATA_END_OF_SEQUENCE, | |||
ACL_TENSOR_DATA_ABNORMAL | |||
}; | |||
typedef struct acltdtDataItem acltdtDataItem; | |||
@@ -64,7 +64,7 @@ ACL_FUNC_VISIBILITY aclDataType acltdtGetDataTypeFromItem(const acltdtDataItem * | |||
* | |||
* @retval null for failed | |||
* @retval OtherValues success | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY void *acltdtGetDataAddrFromItem(const acltdtDataItem *dataItem); | |||
/** | |||
@@ -75,7 +75,7 @@ ACL_FUNC_VISIBILITY void *acltdtGetDataAddrFromItem(const acltdtDataItem *dataIt | |||
* | |||
* @retval 0 for failed | |||
* @retval OtherValues success | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY size_t acltdtGetDataSizeFromItem(const acltdtDataItem *dataItem); | |||
/** | |||
@@ -86,7 +86,7 @@ ACL_FUNC_VISIBILITY size_t acltdtGetDataSizeFromItem(const acltdtDataItem *dataI | |||
* | |||
* @retval 0 for failed | |||
* @retval OtherValues success | |||
*/ | |||
*/ | |||
ACL_FUNC_VISIBILITY size_t acltdtGetDimNumFromItem(const acltdtDataItem *dataItem); | |||
/** | |||
@@ -118,8 +118,12 @@ ACL_FUNC_VISIBILITY aclError acltdtGetDimsFromItem(const acltdtDataItem *dataIte | |||
* | |||
* @see acltdtDestroyDataItem | |||
*/ | |||
ACL_FUNC_VISIBILITY acltdtDataItem *acltdtCreateDataItem(acltdtTensorType tdtType, const int64_t *dims, size_t dimNum, | |||
aclDataType dataType, void *data, size_t size); | |||
ACL_FUNC_VISIBILITY acltdtDataItem *acltdtCreateDataItem(acltdtTensorType tdtType, | |||
const int64_t *dims, | |||
size_t dimNum, | |||
aclDataType dataType, | |||
void *data, | |||
size_t size); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -250,7 +254,8 @@ ACL_FUNC_VISIBILITY aclError acltdtDestroyChannel(acltdtChannelHandle *handle); | |||
* | |||
* @see acltdtReceiveTensor | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acltdtSendTensor(const acltdtChannelHandle *handle, const acltdtDataset *dataset, | |||
ACL_FUNC_VISIBILITY aclError acltdtSendTensor(const acltdtChannelHandle *handle, | |||
const acltdtDataset *dataset, | |||
int32_t timeout); | |||
/** | |||
@@ -266,11 +271,13 @@ ACL_FUNC_VISIBILITY aclError acltdtSendTensor(const acltdtChannelHandle *handle, | |||
* | |||
* @see acltdtSendTensor | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acltdtReceiveTensor(const acltdtChannelHandle *handle, acltdtDataset *dataset, | |||
ACL_FUNC_VISIBILITY aclError acltdtReceiveTensor(const acltdtChannelHandle *handle, | |||
acltdtDataset *dataset, | |||
int32_t timeout); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_ACL_TDT_H_ | |||
#endif //INC_EXTERNAL_ACL_ACL_TDT_H_ | |||
@@ -23,84 +23,84 @@ | |||
extern "C" { | |||
#endif | |||
static const int32_t ACL_RT_SUCCESS = 0; // success | |||
static const int32_t ACL_RT_SUCCESS = 0; // success | |||
static const int32_t ACL_ERROR_RT_PARAM_INVALID = 107000; // param invalid | |||
static const int32_t ACL_ERROR_RT_INVALID_DEVICEID = 107001; // invalid device id | |||
static const int32_t ACL_ERROR_RT_CONTEXT_NULL = 107002; // current context null | |||
static const int32_t ACL_ERROR_RT_STREAM_CONTEXT = 107003; // stream not in current context | |||
static const int32_t ACL_ERROR_RT_MODEL_CONTEXT = 107004; // model not in current context | |||
static const int32_t ACL_ERROR_RT_STREAM_MODEL = 107005; // stream not in model | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_INVALID = 107006; // event timestamp invalid | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_REVERSAL = 107007; // event timestamp reversal | |||
static const int32_t ACL_ERROR_RT_ADDR_UNALIGNED = 107008; // memory address unaligned | |||
static const int32_t ACL_ERROR_RT_FILE_OPEN = 107009; // open file failed | |||
static const int32_t ACL_ERROR_RT_FILE_WRITE = 107010; // write file failed | |||
static const int32_t ACL_ERROR_RT_STREAM_SUBSCRIBE = 107011; // error subscribe stream | |||
static const int32_t ACL_ERROR_RT_THREAD_SUBSCRIBE = 107012; // error subscribe thread | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_SET = 107013; // group not set | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_CREATE = 107014; // group not create | |||
static const int32_t ACL_ERROR_RT_STREAM_NO_CB_REG = 107015; // callback not register to stream | |||
static const int32_t ACL_ERROR_RT_INVALID_MEMORY_TYPE = 107016; // invalid memory type | |||
static const int32_t ACL_ERROR_RT_INVALID_HANDLE = 107017; // invalid handle | |||
static const int32_t ACL_ERROR_RT_INVALID_MALLOC_TYPE = 107018; // invalid malloc type | |||
static const int32_t ACL_ERROR_RT_PARAM_INVALID = 107000; // param invalid | |||
static const int32_t ACL_ERROR_RT_INVALID_DEVICEID = 107001; // invalid device id | |||
static const int32_t ACL_ERROR_RT_CONTEXT_NULL = 107002; // current context null | |||
static const int32_t ACL_ERROR_RT_STREAM_CONTEXT = 107003; // stream not in current context | |||
static const int32_t ACL_ERROR_RT_MODEL_CONTEXT = 107004; // model not in current context | |||
static const int32_t ACL_ERROR_RT_STREAM_MODEL = 107005; // stream not in model | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_INVALID = 107006; // event timestamp invalid | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_REVERSAL = 107007; // event timestamp reversal | |||
static const int32_t ACL_ERROR_RT_ADDR_UNALIGNED = 107008; // memory address unaligned | |||
static const int32_t ACL_ERROR_RT_FILE_OPEN = 107009; // open file failed | |||
static const int32_t ACL_ERROR_RT_FILE_WRITE = 107010; // write file failed | |||
static const int32_t ACL_ERROR_RT_STREAM_SUBSCRIBE = 107011; // error subscribe stream | |||
static const int32_t ACL_ERROR_RT_THREAD_SUBSCRIBE = 107012; // error subscribe thread | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_SET = 107013; // group not set | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_CREATE = 107014; // group not create | |||
static const int32_t ACL_ERROR_RT_STREAM_NO_CB_REG = 107015; // callback not register to stream | |||
static const int32_t ACL_ERROR_RT_INVALID_MEMORY_TYPE = 107016; // invalid memory type | |||
static const int32_t ACL_ERROR_RT_INVALID_HANDLE = 107017; // invalid handle | |||
static const int32_t ACL_ERROR_RT_INVALID_MALLOC_TYPE = 107018; // invalid malloc type | |||
static const int32_t ACL_ERROR_RT_FEATURE_NOT_SUPPORT = 207000; // feature not support | |||
static const int32_t ACL_ERROR_RT_MEMORY_ALLOCATION = 207001; // memory allocation error | |||
static const int32_t ACL_ERROR_RT_MEMORY_FREE = 207002; // memory free error | |||
static const int32_t ACL_ERROR_RT_AICORE_OVER_FLOW = 207003; // aicore over flow | |||
static const int32_t ACL_ERROR_RT_NO_DEVICE = 207004; // no device | |||
static const int32_t ACL_ERROR_RT_RESOURCE_ALLOC_FAIL = 207005; // resource alloc fail | |||
static const int32_t ACL_ERROR_RT_NO_PERMISSION = 207006; // no permission | |||
static const int32_t ACL_ERROR_RT_NO_EVENT_RESOURCE = 207007; // no event resource | |||
static const int32_t ACL_ERROR_RT_NO_STREAM_RESOURCE = 207008; // no stream resource | |||
static const int32_t ACL_ERROR_RT_NO_NOTIFY_RESOURCE = 207009; // no notify resource | |||
static const int32_t ACL_ERROR_RT_NO_MODEL_RESOURCE = 207010; // no model resource | |||
static const int32_t ACL_ERROR_RT_FEATURE_NOT_SUPPORT = 207000; // feature not support | |||
static const int32_t ACL_ERROR_RT_MEMORY_ALLOCATION = 207001; // memory allocation error | |||
static const int32_t ACL_ERROR_RT_MEMORY_FREE = 207002; // memory free error | |||
static const int32_t ACL_ERROR_RT_AICORE_OVER_FLOW = 207003; // aicore over flow | |||
static const int32_t ACL_ERROR_RT_NO_DEVICE = 207004; // no device | |||
static const int32_t ACL_ERROR_RT_RESOURCE_ALLOC_FAIL = 207005; // resource alloc fail | |||
static const int32_t ACL_ERROR_RT_NO_PERMISSION = 207006; // no permission | |||
static const int32_t ACL_ERROR_RT_NO_EVENT_RESOURCE = 207007; // no event resource | |||
static const int32_t ACL_ERROR_RT_NO_STREAM_RESOURCE = 207008; // no stream resource | |||
static const int32_t ACL_ERROR_RT_NO_NOTIFY_RESOURCE = 207009; // no notify resource | |||
static const int32_t ACL_ERROR_RT_NO_MODEL_RESOURCE = 207010; // no model resource | |||
static const int32_t ACL_ERROR_RT_INTERNAL_ERROR = 507000; // runtime internal error | |||
static const int32_t ACL_ERROR_RT_TS_ERROR = 507001; // ts internel error | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_FULL = 507002; // task full in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_EMPTY = 507003; // task empty in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_NOT_COMPLETE = 507004; // stream not complete | |||
static const int32_t ACL_ERROR_RT_END_OF_SEQUENCE = 507005; // end of sequence | |||
static const int32_t ACL_ERROR_RT_EVENT_NOT_COMPLETE = 507006; // event not complete | |||
static const int32_t ACL_ERROR_RT_CONTEXT_RELEASE_ERROR = 507007; // context release error | |||
static const int32_t ACL_ERROR_RT_SOC_VERSION = 507008; // soc version error | |||
static const int32_t ACL_ERROR_RT_TASK_TYPE_NOT_SUPPORT = 507009; // task type not support | |||
static const int32_t ACL_ERROR_RT_LOST_HEARTBEAT = 507010; // ts lost heartbeat | |||
static const int32_t ACL_ERROR_RT_MODEL_EXECUTE = 507011; // model execute failed | |||
static const int32_t ACL_ERROR_RT_REPORT_TIMEOUT = 507012; // report timeout | |||
static const int32_t ACL_ERROR_RT_SYS_DMA = 507013; // sys dma error | |||
static const int32_t ACL_ERROR_RT_AICORE_TIMEOUT = 507014; // aicore timeout | |||
static const int32_t ACL_ERROR_RT_AICORE_EXCEPTION = 507015; // aicore exception | |||
static const int32_t ACL_ERROR_RT_AICORE_TRAP_EXCEPTION = 507016; // aicore trap exception | |||
static const int32_t ACL_ERROR_RT_AICPU_TIMEOUT = 507017; // aicpu timeout | |||
static const int32_t ACL_ERROR_RT_AICPU_EXCEPTION = 507018; // aicpu exception | |||
static const int32_t ACL_ERROR_RT_AICPU_DATADUMP_RSP_ERR = 507019; // aicpu datadump response error | |||
static const int32_t ACL_ERROR_RT_AICPU_MODEL_RSP_ERR = 507020; // aicpu model operate response error | |||
static const int32_t ACL_ERROR_RT_PROFILING_ERROR = 507021; // profiling error | |||
static const int32_t ACL_ERROR_RT_IPC_ERROR = 507022; // ipc error | |||
static const int32_t ACL_ERROR_RT_MODEL_ABORT_NORMAL = 507023; // model abort normal | |||
static const int32_t ACL_ERROR_RT_KERNEL_UNREGISTERING = 507024; // kernel unregistering | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NOT_INIT = 507025; // ringbuffer not init | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NO_DATA = 507026; // ringbuffer no data | |||
static const int32_t ACL_ERROR_RT_KERNEL_LOOKUP = 507027; // kernel lookup error | |||
static const int32_t ACL_ERROR_RT_KERNEL_DUPLICATE = 507028; // kernel register duplicate | |||
static const int32_t ACL_ERROR_RT_DEBUG_REGISTER_FAIL = 507029; // debug register failed | |||
static const int32_t ACL_ERROR_RT_DEBUG_UNREGISTER_FAIL = 507030; // debug unregister failed | |||
static const int32_t ACL_ERROR_RT_LABEL_CONTEXT = 507031; // label not in current context | |||
static const int32_t ACL_ERROR_RT_PROGRAM_USE_OUT = 507032; // program register num use out | |||
static const int32_t ACL_ERROR_RT_DEV_SETUP_ERROR = 507033; // device setup error | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TIMEOUT = 507034; // vector core timeout | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_EXCEPTION = 507035; // vector core exception | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TRAP_EXCEPTION = 507036; // vector core trap exception | |||
static const int32_t ACL_ERROR_RT_INTERNAL_ERROR = 507000; // runtime internal error | |||
static const int32_t ACL_ERROR_RT_TS_ERROR = 507001; // ts internel error | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_FULL = 507002; // task full in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_EMPTY = 507003; // task empty in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_NOT_COMPLETE = 507004; // stream not complete | |||
static const int32_t ACL_ERROR_RT_END_OF_SEQUENCE = 507005; // end of sequence | |||
static const int32_t ACL_ERROR_RT_EVENT_NOT_COMPLETE = 507006; // event not complete | |||
static const int32_t ACL_ERROR_RT_CONTEXT_RELEASE_ERROR = 507007; // context release error | |||
static const int32_t ACL_ERROR_RT_SOC_VERSION = 507008; // soc version error | |||
static const int32_t ACL_ERROR_RT_TASK_TYPE_NOT_SUPPORT = 507009; // task type not support | |||
static const int32_t ACL_ERROR_RT_LOST_HEARTBEAT = 507010; // ts lost heartbeat | |||
static const int32_t ACL_ERROR_RT_MODEL_EXECUTE = 507011; // model execute failed | |||
static const int32_t ACL_ERROR_RT_REPORT_TIMEOUT = 507012; // report timeout | |||
static const int32_t ACL_ERROR_RT_SYS_DMA = 507013; // sys dma error | |||
static const int32_t ACL_ERROR_RT_AICORE_TIMEOUT = 507014; // aicore timeout | |||
static const int32_t ACL_ERROR_RT_AICORE_EXCEPTION = 507015; // aicore exception | |||
static const int32_t ACL_ERROR_RT_AICORE_TRAP_EXCEPTION = 507016; // aicore trap exception | |||
static const int32_t ACL_ERROR_RT_AICPU_TIMEOUT = 507017; // aicpu timeout | |||
static const int32_t ACL_ERROR_RT_AICPU_EXCEPTION = 507018; // aicpu exception | |||
static const int32_t ACL_ERROR_RT_AICPU_DATADUMP_RSP_ERR = 507019; // aicpu datadump response error | |||
static const int32_t ACL_ERROR_RT_AICPU_MODEL_RSP_ERR = 507020; // aicpu model operate response error | |||
static const int32_t ACL_ERROR_RT_PROFILING_ERROR = 507021; // profiling error | |||
static const int32_t ACL_ERROR_RT_IPC_ERROR = 507022; // ipc error | |||
static const int32_t ACL_ERROR_RT_MODEL_ABORT_NORMAL = 507023; // model abort normal | |||
static const int32_t ACL_ERROR_RT_KERNEL_UNREGISTERING = 507024; // kernel unregistering | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NOT_INIT = 507025; // ringbuffer not init | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NO_DATA = 507026; // ringbuffer no data | |||
static const int32_t ACL_ERROR_RT_KERNEL_LOOKUP = 507027; // kernel lookup error | |||
static const int32_t ACL_ERROR_RT_KERNEL_DUPLICATE = 507028; // kernel register duplicate | |||
static const int32_t ACL_ERROR_RT_DEBUG_REGISTER_FAIL = 507029; // debug register failed | |||
static const int32_t ACL_ERROR_RT_DEBUG_UNREGISTER_FAIL = 507030; // debug unregister failed | |||
static const int32_t ACL_ERROR_RT_LABEL_CONTEXT = 507031; // label not in current context | |||
static const int32_t ACL_ERROR_RT_PROGRAM_USE_OUT = 507032; // program register num use out | |||
static const int32_t ACL_ERROR_RT_DEV_SETUP_ERROR = 507033; // device setup error | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TIMEOUT = 507034; // vector core timeout | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_EXCEPTION = 507035; // vector core exception | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TRAP_EXCEPTION = 507036; // vector core trap exception | |||
static const int32_t ACL_ERROR_RT_DRV_INTERNAL_ERROR = 507899; // drv internal error | |||
static const int32_t ACL_ERROR_RT_AICPU_INTERNAL_ERROR = 507900; // aicpu internal error | |||
static const int32_t ACL_ERROR_RT_SOCKET_CLOSE = 507901; // hdc disconnect | |||
static const int32_t ACL_ERROR_RT_DRV_INTERNAL_ERROR = 507899; // drv internal error | |||
static const int32_t ACL_ERROR_RT_AICPU_INTERNAL_ERROR = 507900; // aicpu internal error | |||
static const int32_t ACL_ERROR_RT_SOCKET_CLOSE = 507901; // hdc disconnect | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // __INC_EXTERNEL_RT_ERROR_CODES_H__ | |||
#endif // __INC_EXTERNEL_RT_ERROR_CODES_H__ |
@@ -23,9 +23,17 @@ | |||
extern "C" { | |||
#endif | |||
typedef enum aclTransType { ACL_TRANS_N, ACL_TRANS_T, ACL_TRANS_NZ, ACL_TRANS_NZ_T } aclTransType; | |||
typedef enum aclTransType { | |||
ACL_TRANS_N, | |||
ACL_TRANS_T, | |||
ACL_TRANS_NZ, | |||
ACL_TRANS_NZ_T | |||
} aclTransType; | |||
typedef enum aclComputeType { ACL_COMPUTE_HIGH_PRECISION, ACL_COMPUTE_LOW_PRECISION } aclComputeType; | |||
typedef enum aclComputeType { | |||
ACL_COMPUTE_HIGH_PRECISION, | |||
ACL_COMPUTE_LOW_PRECISION | |||
} aclComputeType; | |||
/** | |||
* @ingroup AscendCL | |||
@@ -53,11 +61,12 @@ typedef enum aclComputeType { ACL_COMPUTE_HIGH_PRECISION, ACL_COMPUTE_LOW_PRECIS | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasGemvEx(aclTransType transA, int m, int n, const void *alpha, const void *a, int lda, | |||
aclDataType dataTypeA, const void *x, int incx, aclDataType dataTypeX, | |||
const void *beta, void *y, int incy, aclDataType dataTypeY, | |||
aclComputeType type, aclrtStream stream); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasGemvEx(aclTransType transA, int m, int n, | |||
const void *alpha, const void *a, int lda, aclDataType dataTypeA, | |||
const void *x, int incx, aclDataType dataTypeX, | |||
const void *beta, void *y, int incy, aclDataType dataTypeY, | |||
aclComputeType type, aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -74,10 +83,15 @@ ACL_FUNC_VISIBILITY aclError aclblasGemvEx(aclTransType transA, int m, int n, co | |||
* | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForGemvEx(aclTransType transA, int m, int n, aclDataType dataTypeA, | |||
aclDataType dataTypeX, aclDataType dataTypeY, | |||
aclComputeType type, aclopHandle **handle); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForGemvEx(aclTransType transA, | |||
int m, | |||
int n, | |||
aclDataType dataTypeA, | |||
aclDataType dataTypeX, | |||
aclDataType dataTypeY, | |||
aclComputeType type, | |||
aclopHandle **handle); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -101,9 +115,18 @@ ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForGemvEx(aclTransType transA, i | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasHgemv(aclTransType transA, int m, int n, const aclFloat16 *alpha, | |||
const aclFloat16 *a, int lda, const aclFloat16 *x, int incx, | |||
const aclFloat16 *beta, aclFloat16 *y, int incy, aclComputeType type, | |||
ACL_FUNC_VISIBILITY aclError aclblasHgemv(aclTransType transA, | |||
int m, | |||
int n, | |||
const aclFloat16 *alpha, | |||
const aclFloat16 *a, | |||
int lda, | |||
const aclFloat16 *x, | |||
int incx, | |||
const aclFloat16 *beta, | |||
aclFloat16 *y, | |||
int incy, | |||
aclComputeType type, | |||
aclrtStream stream); | |||
/** | |||
@@ -119,7 +142,10 @@ ACL_FUNC_VISIBILITY aclError aclblasHgemv(aclTransType transA, int m, int n, con | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForHgemv(aclTransType transA, int m, int n, aclComputeType type, | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForHgemv(aclTransType transA, | |||
int m, | |||
int n, | |||
aclComputeType type, | |||
aclopHandle **handle); | |||
/** | |||
@@ -145,9 +171,19 @@ ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForHgemv(aclTransType transA, in | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasS8gemv(aclTransType transA, int m, int n, const int32_t *alpha, const int8_t *a, | |||
int lda, const int8_t *x, int incx, const int32_t *beta, int32_t *y, | |||
int incy, aclComputeType type, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclblasS8gemv(aclTransType transA, | |||
int m, | |||
int n, | |||
const int32_t *alpha, | |||
const int8_t *a, | |||
int lda, | |||
const int8_t *x, | |||
int incx, | |||
const int32_t *beta, | |||
int32_t *y, | |||
int incy, | |||
aclComputeType type, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -162,7 +198,10 @@ ACL_FUNC_VISIBILITY aclError aclblasS8gemv(aclTransType transA, int m, int n, co | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForS8gemv(aclTransType transA, int m, int n, aclComputeType type, | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForS8gemv(aclTransType transA, | |||
int m, | |||
int n, | |||
aclComputeType type, | |||
aclopHandle **handle); | |||
/** | |||
@@ -194,11 +233,26 @@ ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForS8gemv(aclTransType transA, i | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasGemmEx(aclTransType transA, aclTransType transB, aclTransType transC, int m, int n, | |||
int k, const void *alpha, const void *matrixA, int lda, | |||
aclDataType dataTypeA, const void *matrixB, int ldb, aclDataType dataTypeB, | |||
const void *beta, void *matrixC, int ldc, aclDataType dataTypeC, | |||
aclComputeType type, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclblasGemmEx(aclTransType transA, | |||
aclTransType transB, | |||
aclTransType transC, | |||
int m, | |||
int n, | |||
int k, | |||
const void *alpha, | |||
const void *matrixA, | |||
int lda, | |||
aclDataType dataTypeA, | |||
const void *matrixB, | |||
int ldb, | |||
aclDataType dataTypeB, | |||
const void *beta, | |||
void *matrixC, | |||
int ldc, | |||
aclDataType dataTypeC, | |||
aclComputeType type, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -220,10 +274,18 @@ ACL_FUNC_VISIBILITY aclError aclblasGemmEx(aclTransType transA, aclTransType tra | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForGemmEx(aclTransType transA, aclTransType transB, aclTransType transC, | |||
int m, int n, int k, aclDataType dataTypeA, | |||
aclDataType dataTypeB, aclDataType dataTypeC, | |||
aclComputeType type, aclopHandle **handle); | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForGemmEx(aclTransType transA, | |||
aclTransType transB, | |||
aclTransType transC, | |||
int m, | |||
int n, | |||
int k, | |||
aclDataType dataTypeA, | |||
aclDataType dataTypeB, | |||
aclDataType dataTypeC, | |||
aclComputeType type, | |||
aclopHandle **handle); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -251,10 +313,22 @@ ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForGemmEx(aclTransType transA, a | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasHgemm(aclTransType transA, aclTransType transB, aclTransType transC, int m, int n, | |||
int k, const aclFloat16 *alpha, const aclFloat16 *matrixA, int lda, | |||
const aclFloat16 *matrixB, int ldb, const aclFloat16 *beta, | |||
aclFloat16 *matrixC, int ldc, aclComputeType type, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclblasHgemm(aclTransType transA, | |||
aclTransType transB, | |||
aclTransType transC, | |||
int m, | |||
int n, | |||
int k, | |||
const aclFloat16 *alpha, | |||
const aclFloat16 *matrixA, | |||
int lda, | |||
const aclFloat16 *matrixB, | |||
int ldb, | |||
const aclFloat16 *beta, | |||
aclFloat16 *matrixC, | |||
int ldc, | |||
aclComputeType type, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -272,8 +346,13 @@ ACL_FUNC_VISIBILITY aclError aclblasHgemm(aclTransType transA, aclTransType tran | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForHgemm(aclTransType transA, aclTransType transB, aclTransType transC, | |||
int m, int n, int k, aclComputeType type, | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForHgemm(aclTransType transA, | |||
aclTransType transB, | |||
aclTransType transC, | |||
int m, | |||
int n, | |||
int k, | |||
aclComputeType type, | |||
aclopHandle **handle); | |||
/** | |||
@@ -302,10 +381,23 @@ ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForHgemm(aclTransType transA, ac | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasS8gemm(aclTransType transA, aclTransType transB, aclTransType transC, int m, int n, | |||
int k, const int32_t *alpha, const int8_t *matrixA, int lda, | |||
const int8_t *matrixB, int ldb, const int32_t *beta, int32_t *matrixC, | |||
int ldc, aclComputeType type, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError aclblasS8gemm(aclTransType transA, | |||
aclTransType transB, | |||
aclTransType transC, | |||
int m, | |||
int n, | |||
int k, | |||
const int32_t *alpha, | |||
const int8_t *matrixA, | |||
int lda, | |||
const int8_t *matrixB, | |||
int ldb, | |||
const int32_t *beta, | |||
int32_t *matrixC, | |||
int ldc, | |||
aclComputeType type, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -323,12 +415,17 @@ ACL_FUNC_VISIBILITY aclError aclblasS8gemm(aclTransType transA, aclTransType tra | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForS8gemm(aclTransType transA, aclTransType transB, aclTransType transC, | |||
int m, int n, int k, aclComputeType type, | |||
ACL_FUNC_VISIBILITY aclError aclblasCreateHandleForS8gemm(aclTransType transA, | |||
aclTransType transB, | |||
aclTransType transC, | |||
int m, | |||
int n, | |||
int k, | |||
aclComputeType type, | |||
aclopHandle **handle); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_OPS_ACL_CBLAS_H_ | |||
#endif // INC_EXTERNAL_ACL_OPS_ACL_CBLAS_H_ |
@@ -53,109 +53,123 @@ typedef void (*aclvencCallback)(acldvppPicDesc *input, acldvppStreamDesc *output | |||
// Supported Pixel Format | |||
enum acldvppPixelFormat { | |||
PIXEL_FORMAT_YUV_400 = 0, // 0 | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1 | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2 | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // 3 | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // 4 | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // 5 | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // 6 | |||
PIXEL_FORMAT_YUYV_PACKED_422 = 7, // 7 | |||
PIXEL_FORMAT_UYVY_PACKED_422 = 8, // 8 | |||
PIXEL_FORMAT_YVYU_PACKED_422 = 9, // 9 | |||
PIXEL_FORMAT_VYUY_PACKED_422 = 10, // 10 | |||
PIXEL_FORMAT_YUV_PACKED_444 = 11, // 11 | |||
PIXEL_FORMAT_RGB_888 = 12, // 12 | |||
PIXEL_FORMAT_BGR_888 = 13, // 13 | |||
PIXEL_FORMAT_ARGB_8888 = 14, // 14 | |||
PIXEL_FORMAT_ABGR_8888 = 15, // 15 | |||
PIXEL_FORMAT_RGBA_8888 = 16, // 16 | |||
PIXEL_FORMAT_BGRA_8888 = 17, // 17 | |||
PIXEL_FORMAT_YUV_SEMI_PLANNER_420_10BIT = 18, // 18 | |||
PIXEL_FORMAT_YVU_SEMI_PLANNER_420_10BIT = 19, // 19 | |||
PIXEL_FORMAT_YVU_PLANAR_420 = 20, // 20 | |||
PIXEL_FORMAT_YVU_PLANAR_422, | |||
PIXEL_FORMAT_YVU_PLANAR_444, | |||
PIXEL_FORMAT_RGB_444 = 23, | |||
PIXEL_FORMAT_BGR_444, | |||
PIXEL_FORMAT_ARGB_4444, | |||
PIXEL_FORMAT_ABGR_4444, | |||
PIXEL_FORMAT_RGBA_4444, | |||
PIXEL_FORMAT_BGRA_4444, | |||
PIXEL_FORMAT_RGB_555, | |||
PIXEL_FORMAT_BGR_555, | |||
PIXEL_FORMAT_RGB_565, | |||
PIXEL_FORMAT_BGR_565, | |||
PIXEL_FORMAT_ARGB_1555, | |||
PIXEL_FORMAT_ABGR_1555, | |||
PIXEL_FORMAT_RGBA_1555, | |||
PIXEL_FORMAT_BGRA_1555, | |||
PIXEL_FORMAT_ARGB_8565, | |||
PIXEL_FORMAT_ABGR_8565, | |||
PIXEL_FORMAT_RGBA_8565, | |||
PIXEL_FORMAT_BGRA_8565, | |||
PIXEL_FORMAT_RGB_BAYER_8BPP = 50, | |||
PIXEL_FORMAT_RGB_BAYER_10BPP, | |||
PIXEL_FORMAT_RGB_BAYER_12BPP, | |||
PIXEL_FORMAT_RGB_BAYER_14BPP, | |||
PIXEL_FORMAT_RGB_BAYER_16BPP, | |||
PIXEL_FORMAT_BGR_888_PLANAR = 70, | |||
PIXEL_FORMAT_HSV_888_PACKAGE, | |||
PIXEL_FORMAT_HSV_888_PLANAR, | |||
PIXEL_FORMAT_LAB_888_PACKAGE, | |||
PIXEL_FORMAT_LAB_888_PLANAR, | |||
PIXEL_FORMAT_S8C1, | |||
PIXEL_FORMAT_S8C2_PACKAGE, | |||
PIXEL_FORMAT_S8C2_PLANAR, | |||
PIXEL_FORMAT_S16C1, | |||
PIXEL_FORMAT_U8C1, | |||
PIXEL_FORMAT_U16C1, | |||
PIXEL_FORMAT_S32C1, | |||
PIXEL_FORMAT_U32C1, | |||
PIXEL_FORMAT_U64C1, | |||
PIXEL_FORMAT_S64C1, | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_440, | |||
PIXEL_FORMAT_FLOAT32, | |||
PIXEL_FORMAT_BUTT, | |||
PIXEL_FORMAT_UNKNOWN = 10000 | |||
PIXEL_FORMAT_YUV_400 = 0, // 0 | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1 | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2 | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // 3 | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // 4 | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // 5 | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // 6 | |||
PIXEL_FORMAT_YUYV_PACKED_422 = 7, // 7 | |||
PIXEL_FORMAT_UYVY_PACKED_422 = 8, // 8 | |||
PIXEL_FORMAT_YVYU_PACKED_422 = 9, // 9 | |||
PIXEL_FORMAT_VYUY_PACKED_422 = 10, // 10 | |||
PIXEL_FORMAT_YUV_PACKED_444 = 11, // 11 | |||
PIXEL_FORMAT_RGB_888 = 12, // 12 | |||
PIXEL_FORMAT_BGR_888 = 13, // 13 | |||
PIXEL_FORMAT_ARGB_8888 = 14, // 14 | |||
PIXEL_FORMAT_ABGR_8888 = 15, // 15 | |||
PIXEL_FORMAT_RGBA_8888 = 16, // 16 | |||
PIXEL_FORMAT_BGRA_8888 = 17, // 17 | |||
PIXEL_FORMAT_YUV_SEMI_PLANNER_420_10BIT = 18, // 18 | |||
PIXEL_FORMAT_YVU_SEMI_PLANNER_420_10BIT = 19, // 19 | |||
PIXEL_FORMAT_YVU_PLANAR_420 = 20, // 20 | |||
PIXEL_FORMAT_YVU_PLANAR_422, | |||
PIXEL_FORMAT_YVU_PLANAR_444, | |||
PIXEL_FORMAT_RGB_444 = 23, | |||
PIXEL_FORMAT_BGR_444, | |||
PIXEL_FORMAT_ARGB_4444, | |||
PIXEL_FORMAT_ABGR_4444, | |||
PIXEL_FORMAT_RGBA_4444, | |||
PIXEL_FORMAT_BGRA_4444, | |||
PIXEL_FORMAT_RGB_555, | |||
PIXEL_FORMAT_BGR_555, | |||
PIXEL_FORMAT_RGB_565, | |||
PIXEL_FORMAT_BGR_565, | |||
PIXEL_FORMAT_ARGB_1555, | |||
PIXEL_FORMAT_ABGR_1555, | |||
PIXEL_FORMAT_RGBA_1555, | |||
PIXEL_FORMAT_BGRA_1555, | |||
PIXEL_FORMAT_ARGB_8565, | |||
PIXEL_FORMAT_ABGR_8565, | |||
PIXEL_FORMAT_RGBA_8565, | |||
PIXEL_FORMAT_BGRA_8565, | |||
PIXEL_FORMAT_RGB_BAYER_8BPP = 50, | |||
PIXEL_FORMAT_RGB_BAYER_10BPP, | |||
PIXEL_FORMAT_RGB_BAYER_12BPP, | |||
PIXEL_FORMAT_RGB_BAYER_14BPP, | |||
PIXEL_FORMAT_RGB_BAYER_16BPP, | |||
PIXEL_FORMAT_BGR_888_PLANAR = 70, | |||
PIXEL_FORMAT_HSV_888_PACKAGE, | |||
PIXEL_FORMAT_HSV_888_PLANAR, | |||
PIXEL_FORMAT_LAB_888_PACKAGE, | |||
PIXEL_FORMAT_LAB_888_PLANAR, | |||
PIXEL_FORMAT_S8C1, | |||
PIXEL_FORMAT_S8C2_PACKAGE, | |||
PIXEL_FORMAT_S8C2_PLANAR, | |||
PIXEL_FORMAT_S16C1, | |||
PIXEL_FORMAT_U8C1, | |||
PIXEL_FORMAT_U16C1, | |||
PIXEL_FORMAT_S32C1, | |||
PIXEL_FORMAT_U32C1, | |||
PIXEL_FORMAT_U64C1, | |||
PIXEL_FORMAT_S64C1, | |||
PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, | |||
PIXEL_FORMAT_YVU_SEMIPLANAR_440, | |||
PIXEL_FORMAT_FLOAT32, | |||
PIXEL_FORMAT_BUTT, | |||
PIXEL_FORMAT_UNKNOWN = 10000 | |||
}; | |||
// Stream Format | |||
enum acldvppStreamFormat { H265_MAIN_LEVEL = 0, H264_BASELINE_LEVEL, H264_MAIN_LEVEL, H264_HIGH_LEVEL }; | |||
enum acldvppStreamFormat { | |||
H265_MAIN_LEVEL = 0, | |||
H264_BASELINE_LEVEL, | |||
H264_MAIN_LEVEL, | |||
H264_HIGH_LEVEL | |||
}; | |||
// Supported Channel Mode | |||
enum acldvppChannelMode { DVPP_CHNMODE_VPC = 1, DVPP_CHNMODE_JPEGD = 2, DVPP_CHNMODE_JPEGE = 4 }; | |||
enum acldvppChannelMode { | |||
DVPP_CHNMODE_VPC = 1, | |||
DVPP_CHNMODE_JPEGD = 2, | |||
DVPP_CHNMODE_JPEGE = 4 | |||
}; | |||
// Supported Border Type | |||
enum acldvppBorderType { BORDER_CONSTANT = 0, BORDER_REPLICATE, BORDER_REFLECT, BORDER_REFLECT_101 }; | |||
enum acldvppBorderType { | |||
BORDER_CONSTANT = 0, | |||
BORDER_REPLICATE, | |||
BORDER_REFLECT, | |||
BORDER_REFLECT_101 | |||
}; | |||
// Venc parameter type | |||
enum aclvencChannelDescParamType { | |||
ACL_VENC_THREAD_ID_UINT64 = 0, | |||
ACL_VENC_CALLBACK_PTR, | |||
ACL_VENC_PIXEL_FORMAT_UINT32, | |||
ACL_VENC_ENCODE_TYPE_UINT32, | |||
ACL_VENC_PIC_WIDTH_UINT32, | |||
ACL_VENC_PIC_HEIGHT_UINT32, | |||
ACL_VENC_KEY_FRAME_INTERVAL_UINT32, | |||
ACL_VENC_BUF_ADDR_PTR, | |||
ACL_VENC_BUF_SIZE_UINT32, | |||
ACL_VENC_RC_MODE_UINT32, | |||
ACL_VENC_SRC_RATE_UINT32, | |||
ACL_VENC_MAX_BITRATE_UINT32, | |||
ACL_VENC_MAX_IP_PROP_UINT32 | |||
ACL_VENC_THREAD_ID_UINT64 = 0, | |||
ACL_VENC_CALLBACK_PTR, | |||
ACL_VENC_PIXEL_FORMAT_UINT32, | |||
ACL_VENC_ENCODE_TYPE_UINT32, | |||
ACL_VENC_PIC_WIDTH_UINT32, | |||
ACL_VENC_PIC_HEIGHT_UINT32, | |||
ACL_VENC_KEY_FRAME_INTERVAL_UINT32, | |||
ACL_VENC_BUF_ADDR_PTR, | |||
ACL_VENC_BUF_SIZE_UINT32, | |||
ACL_VENC_RC_MODE_UINT32, | |||
ACL_VENC_SRC_RATE_UINT32, | |||
ACL_VENC_MAX_BITRATE_UINT32, | |||
ACL_VENC_MAX_IP_PROP_UINT32 | |||
}; | |||
// Jpeg picture format | |||
enum acldvppJpegFormat { | |||
ACL_JPEG_CSS_444 = 0, | |||
ACL_JPEG_CSS_422, | |||
ACL_JPEG_CSS_420, | |||
ACL_JPEG_CSS_GRAY, | |||
ACL_JPEG_CSS_440, | |||
ACL_JPEG_CSS_411, | |||
ACL_JPEG_CSS_UNKNOWN = 1000 | |||
ACL_JPEG_CSS_444 = 0, | |||
ACL_JPEG_CSS_422, | |||
ACL_JPEG_CSS_420, | |||
ACL_JPEG_CSS_GRAY, | |||
ACL_JPEG_CSS_440, | |||
ACL_JPEG_CSS_411, | |||
ACL_JPEG_CSS_UNKNOWN = 1000 | |||
}; | |||
/** | |||
@@ -509,7 +523,9 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetPicDescRetCode(const acldvppPicDesc *picD | |||
* @retval null for failed. | |||
* @retval other success | |||
*/ | |||
ACL_FUNC_VISIBILITY acldvppRoiConfig *acldvppCreateRoiConfig(uint32_t left, uint32_t right, uint32_t top, | |||
ACL_FUNC_VISIBILITY acldvppRoiConfig *acldvppCreateRoiConfig(uint32_t left, | |||
uint32_t right, | |||
uint32_t top, | |||
uint32_t bottom); | |||
/** | |||
@@ -588,7 +604,10 @@ ACL_FUNC_VISIBILITY aclError acldvppSetRoiConfigBottom(acldvppRoiConfig *config, | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppSetRoiConfig(acldvppRoiConfig *config, uint32_t left, uint32_t right, uint32_t top, | |||
ACL_FUNC_VISIBILITY aclError acldvppSetRoiConfig(acldvppRoiConfig *config, | |||
uint32_t left, | |||
uint32_t right, | |||
uint32_t top, | |||
uint32_t bottom); | |||
/** | |||
@@ -1077,8 +1096,7 @@ ACL_FUNC_VISIBILITY aclError aclvencSetChannelDescMaxBitRate(aclvencChannelDesc | |||
* @retval ACL_SUCCESS for success, other for failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclvencSetChannelDescParam(aclvencChannelDesc *channelDesc, | |||
aclvencChannelDescParamType paramType, size_t length, | |||
const void *param); | |||
aclvencChannelDescParamType paramType, size_t length, const void *param); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1227,8 +1245,7 @@ ACL_FUNC_VISIBILITY uint32_t aclvencGetChannelDescMaxBitRate(const aclvencChanne | |||
* @retval ACL_SUCCESS for success, other for failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclvencGetChannelDescParam(const aclvencChannelDesc *channelDesc, | |||
aclvencChannelDescParamType paramType, size_t length, | |||
size_t *paramRetSize, void *param); | |||
aclvencChannelDescParamType paramType, size_t length, size_t *paramRetSize, void *param); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1528,7 +1545,10 @@ ACL_FUNC_VISIBILITY aclError aclvdecDestroyFrameConfig(aclvdecFrameConfig *vdecF | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfo(const void *data, uint32_t size, uint32_t *width, uint32_t *height, | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfo(const void *data, | |||
uint32_t size, | |||
uint32_t *width, | |||
uint32_t *height, | |||
int32_t *components); | |||
/** | |||
@@ -1545,8 +1565,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfo(const void *data, uint32_t | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfoV2(const void *data, uint32_t size, uint32_t *width, | |||
uint32_t *height, int32_t *components, | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfoV2(const void *data, | |||
uint32_t size, | |||
uint32_t *width, | |||
uint32_t *height, | |||
int32_t *components, | |||
acldvppJpegFormat *format); | |||
/** | |||
@@ -1561,7 +1584,8 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfoV2(const void *data, uint32_ | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegPredictEncSize(const acldvppPicDesc *inputDesc, | |||
const acldvppJpegeConfig *config, uint32_t *size); | |||
const acldvppJpegeConfig *config, | |||
uint32_t *size); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1575,8 +1599,10 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegPredictEncSize(const acldvppPicDesc *inp | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegPredictDecSize(const void *data, uint32_t dataSize, | |||
acldvppPixelFormat outputPixelFormat, uint32_t *decSize); | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegPredictDecSize(const void *data, | |||
uint32_t dataSize, | |||
acldvppPixelFormat outputPixelFormat, | |||
uint32_t *decSize); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1591,8 +1617,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegPredictDecSize(const void *data, uint32_ | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppPngGetImageInfo(const void *data, uint32_t dataSize, uint32_t *width, | |||
uint32_t *height, int32_t *components); | |||
ACL_FUNC_VISIBILITY aclError acldvppPngGetImageInfo(const void *data, | |||
uint32_t dataSize, | |||
uint32_t *width, | |||
uint32_t *height, | |||
int32_t *components); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1606,8 +1635,10 @@ ACL_FUNC_VISIBILITY aclError acldvppPngGetImageInfo(const void *data, uint32_t d | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppPngPredictDecSize(const void *data, uint32_t dataSize, | |||
acldvppPixelFormat outputPixelFormat, uint32_t *decSize); | |||
ACL_FUNC_VISIBILITY aclError acldvppPngPredictDecSize(const void *data, | |||
uint32_t dataSize, | |||
acldvppPixelFormat outputPixelFormat, | |||
uint32_t *decSize); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1671,8 +1702,10 @@ ACL_FUNC_VISIBILITY aclError acldvppDestroyChannel(acldvppChannelDesc *channelDe | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | |||
* | acldvppCreateResizeConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcResizeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, acldvppResizeConfig *resizeConfig, | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcResizeAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
acldvppResizeConfig *resizeConfig, | |||
aclrtStream stream); | |||
/** | |||
@@ -1708,8 +1741,10 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcResizeAsync(acldvppChannelDesc *channelDe | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
acldvppRoiConfig *cropArea, | |||
aclrtStream stream); | |||
/** | |||
@@ -1746,9 +1781,13 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||
acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizeAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
acldvppRoiConfig *cropArea, | |||
acldvppResizeConfig *resizeConfig, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1772,9 +1811,12 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizeAsync(acldvppChannelDesc *chann | |||
* @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAsync(acldvppChannelDesc *channelDesc, | |||
acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, | |||
uint32_t size, acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], aclrtStream stream); | |||
acldvppBatchPicDesc *srcBatchPicDescs, | |||
uint32_t *roiNums, | |||
uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1799,10 +1841,13 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAsync(acldvppChannelDesc *channe | |||
* @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateDvppConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeAsync(acldvppChannelDesc *channelDesc, | |||
acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, | |||
uint32_t size, acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppBatchPicDesc *srcBatchPicDescs, | |||
uint32_t *roiNums, | |||
uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], | |||
acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||
acldvppResizeConfig *resizeConfig, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1825,9 +1870,12 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeAsync(acldvppChannelDesc * | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateRoiConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||
acldvppRoiConfig *pasteArea, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
acldvppRoiConfig *cropArea, | |||
acldvppRoiConfig *pasteArea, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1851,10 +1899,13 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *cha | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizePasteAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizePasteAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
acldvppRoiConfig *cropArea, | |||
acldvppRoiConfig *pasteArea, | |||
acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||
acldvppResizeConfig *resizeConfig, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1879,11 +1930,14 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizePasteAsync(acldvppChannelDesc * | |||
* | |||
* @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAndPasteAsync(acldvppChannelDesc *channelDesc, | |||
acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, | |||
uint32_t size, acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], | |||
acldvppRoiConfig *pasteAreas[], aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAndPasteAsync(acldvppChannelDesc *channelDesc, | |||
acldvppBatchPicDesc *srcBatchPicDescs, | |||
uint32_t *roiNums, | |||
uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], | |||
acldvppRoiConfig *pasteAreas[], | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1909,10 +1963,16 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAndPasteAsync(acldvppChannelDesc | |||
* | |||
* @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizePasteAsync( | |||
acldvppChannelDesc *channelDesc, acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, acldvppRoiConfig *cropAreas[], acldvppRoiConfig *pasteAreas[], | |||
acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizePasteAsync(acldvppChannelDesc *channelDesc, | |||
acldvppBatchPicDesc *srcBatchPicDescs, | |||
uint32_t *roiNums, | |||
uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], | |||
acldvppRoiConfig *pasteAreas[], | |||
acldvppResizeConfig *resizeConfig, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1940,8 +2000,11 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizePasteAsync( | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelDesc, const void *data, uint32_t size, | |||
acldvppPicDesc *outputDesc, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelDesc, | |||
const void *data, | |||
uint32_t size, | |||
acldvppPicDesc *outputDesc, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -1959,8 +2022,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelD | |||
* | |||
* @see acldvppCreateChannel | acldvppCreateJpegeConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
const void *data, uint32_t *size, acldvppJpegeConfig *config, | |||
ACL_FUNC_VISIBILITY aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
const void *data, | |||
uint32_t *size, | |||
acldvppJpegeConfig *config, | |||
aclrtStream stream); | |||
/** | |||
@@ -1978,8 +2044,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelD | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppPngDecodeAsync(acldvppChannelDesc *channelDesc, const void *data, uint32_t size, | |||
acldvppPicDesc *outputDesc, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppPngDecodeAsync(acldvppChannelDesc *channelDesc, | |||
const void *data, | |||
uint32_t size, | |||
acldvppPicDesc *outputDesc, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2034,8 +2103,11 @@ ACL_FUNC_VISIBILITY aclError aclvdecDestroyChannel(aclvdecChannelDesc *channelDe | |||
* | |||
* @see aclvdecCreateChannel | acldvppCreateStreamDesc | acldvppCreatePicDesc | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, | |||
acldvppPicDesc *output, aclvdecFrameConfig *config, void *userData); | |||
ACL_FUNC_VISIBILITY aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, | |||
acldvppStreamDesc *input, | |||
acldvppPicDesc *output, | |||
aclvdecFrameConfig *config, | |||
void *userData); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2054,8 +2126,10 @@ ACL_FUNC_VISIBILITY aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, a | |||
* | |||
* @see aclvdecCreateChannel | acldvppCreateStreamDesc | acldvppCreatePicDesc | aclvdecSendFrame | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, | |||
aclvdecFrameConfig *config, void *userData); | |||
ACL_FUNC_VISIBILITY aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, | |||
acldvppStreamDesc *input, | |||
aclvdecFrameConfig *config, | |||
void *userData); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2076,8 +2150,10 @@ ACL_FUNC_VISIBILITY aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channel | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcConvertColorAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcConvertColorAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2099,8 +2175,11 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcConvertColorAsync(acldvppChannelDesc *cha | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcPyrDownAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, void *reserve, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcPyrDownAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
void *reserve, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2112,7 +2191,8 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcPyrDownAsync(acldvppChannelDesc *channelD | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppSetChannelDescMode(acldvppChannelDesc *channelDesc, uint32_t mode); | |||
ACL_FUNC_VISIBILITY aclError acldvppSetChannelDescMode(acldvppChannelDesc *channelDesc, | |||
uint32_t mode); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2147,7 +2227,8 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetResizeConfigInterpolation(const acldvppRe | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError aclvdecSetChannelDescOutMode(aclvdecChannelDesc *channelDesc, uint32_t outMode); | |||
ACL_FUNC_VISIBILITY aclError aclvdecSetChannelDescOutMode(aclvdecChannelDesc *channelDesc, | |||
uint32_t outMode); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2244,7 +2325,9 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetLutMapDims(const acldvppLutMap *lutMap); | |||
* @retval ACL_SUCCESS The function is successfully executed. | |||
* @retval OtherValues Failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppGetLutMapData(const acldvppLutMap *lutMap, uint32_t dim, uint8_t **data, | |||
ACL_FUNC_VISIBILITY aclError acldvppGetLutMapData(const acldvppLutMap *lutMap, | |||
uint32_t dim, | |||
uint8_t **data, | |||
uint32_t *len); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2262,8 +2345,10 @@ ACL_FUNC_VISIBILITY aclError acldvppGetLutMapData(const acldvppLutMap *lutMap, u | |||
* @see acldvppCreateChannel|acldvppCreatePicDesc|acldvppCreateLutMap | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcEqualizeHistAsync(const acldvppChannelDesc *channelDesc, | |||
const acldvppPicDesc *inputDesc, acldvppPicDesc *outputDesc, | |||
const acldvppLutMap *lutMap, aclrtStream stream); | |||
const acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
const acldvppLutMap *lutMap, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2284,7 +2369,8 @@ ACL_FUNC_VISIBILITY acldvppBorderConfig *acldvppCreateBorderConfig(); | |||
* | |||
* @retval ACL_SUCCESS for success, other for failure | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppSetBorderConfigValue(acldvppBorderConfig *borderConfig, uint32_t index, | |||
ACL_FUNC_VISIBILITY aclError acldvppSetBorderConfigValue(acldvppBorderConfig *borderConfig, | |||
uint32_t index, | |||
double value); | |||
/** | |||
@@ -2429,8 +2515,10 @@ ACL_FUNC_VISIBILITY aclError acldvppDestroyBorderConfig(acldvppBorderConfig *bor | |||
* @see acldvppCreateChannel|acldvppCreatePicDesc|acldvppCreateBorderConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcMakeBorderAsync(const acldvppChannelDesc *channelDesc, | |||
const acldvppPicDesc *inputDesc, acldvppPicDesc *outputDesc, | |||
const acldvppBorderConfig *borderConfig, aclrtStream stream); | |||
const acldvppPicDesc *inputDesc, | |||
acldvppPicDesc *outputDesc, | |||
const acldvppBorderConfig *borderConfig, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2447,8 +2535,11 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcMakeBorderAsync(const acldvppChannelDesc | |||
* | |||
* @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateHist | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCalcHistAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *srcPicDesc, | |||
acldvppHist *hist, void *reserve, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcCalcHistAsync(acldvppChannelDesc *channelDesc, | |||
acldvppPicDesc *srcPicDesc, | |||
acldvppHist *hist, | |||
void *reserve, | |||
aclrtStream stream); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2457,7 +2548,7 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCalcHistAsync(acldvppChannelDesc *channel | |||
* @retval null for failed. | |||
* @retval OtherValues success. | |||
*/ | |||
ACL_FUNC_VISIBILITY acldvppHist *acldvppCreateHist(); | |||
ACL_FUNC_VISIBILITY acldvppHist* acldvppCreateHist(); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2514,7 +2605,7 @@ ACL_FUNC_VISIBILITY aclError acldvppGetHistData(acldvppHist *hist, uint32_t dim, | |||
* | |||
* @see acldvppCreateHist | acldvppVpcCalcHistAsync | |||
*/ | |||
ACL_FUNC_VISIBILITY uint32_t acldvppGetHistRetCode(acldvppHist *hist); | |||
ACL_FUNC_VISIBILITY uint32_t acldvppGetHistRetCode(acldvppHist* hist); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -2533,6 +2624,7 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetHistRetCode(acldvppHist *hist); | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppClearHist(acldvppHist *hist); | |||
/** | |||
* @ingroup AscendCL | |||
* @brief dvpp vpc batch crop, resize config and make border. | |||
@@ -2556,13 +2648,18 @@ ACL_FUNC_VISIBILITY aclError acldvppClearHist(acldvppHist *hist); | |||
* | |||
* @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | |||
*/ | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeMakeBorderAsync( | |||
acldvppChannelDesc *channelDesc, acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, acldvppRoiConfig *cropAreas[], acldvppBorderConfig *borderCfgs[], | |||
acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||
ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeMakeBorderAsync(acldvppChannelDesc *channelDesc, | |||
acldvppBatchPicDesc *srcBatchPicDescs, | |||
uint32_t *roiNums, | |||
uint32_t size, | |||
acldvppBatchPicDesc *dstBatchPicDescs, | |||
acldvppRoiConfig *cropAreas[], | |||
acldvppBorderConfig *borderCfgs[], | |||
acldvppResizeConfig *resizeConfig, | |||
aclrtStream stream); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_OPS_ACL_DVPP_H_ | |||
#endif // INC_EXTERNAL_ACL_OPS_ACL_DVPP_H_ |
@@ -32,8 +32,8 @@ typedef struct aclfvSearchResult aclfvSearchResult; | |||
// search operation type | |||
enum aclfvSearchType { | |||
SEARCH_1_N, // 1:N operation type | |||
SEARCH_N_M // N:M operation type | |||
SEARCH_1_N, // 1:N operation type | |||
SEARCH_N_M // N:M operation type | |||
}; | |||
/** | |||
@@ -104,8 +104,7 @@ ACL_FUNC_VISIBILITY aclError aclfvSetNMTopNum(aclfvInitPara *initPara, uint32_t | |||
* @retval OtherValues success. | |||
*/ | |||
ACL_FUNC_VISIBILITY aclfvFeatureInfo *aclfvCreateFeatureInfo(uint32_t id0, uint32_t id1, uint32_t offset, | |||
uint32_t featureLen, uint32_t featureCount, | |||
uint8_t *featureData, uint32_t featureDataLen); | |||
uint32_t featureLen, uint32_t featureCount, uint8_t *featureData, uint32_t featureDataLen); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -234,9 +233,8 @@ ACL_FUNC_VISIBILITY aclError aclfvDestroySearchInput(aclfvSearchInput *searchInp | |||
* @retval null for failed. OtherValues success | |||
*/ | |||
ACL_FUNC_VISIBILITY aclfvSearchResult *aclfvCreateSearchResult(uint32_t queryCnt, uint32_t *resultNum, | |||
uint32_t resultNumDataLen, uint32_t *id0, uint32_t *id1, | |||
uint32_t *resultOffset, float *resultDistance, | |||
uint32_t dataLen); | |||
uint32_t resultNumDataLen, uint32_t *id0, uint32_t *id1, uint32_t *resultOffset, float *resultDistance, | |||
uint32_t dataLen); | |||
/** | |||
* @ingroup AscendCL | |||
@@ -350,4 +348,4 @@ ACL_FUNC_VISIBILITY aclError aclfvSearch(aclfvSearchType type, aclfvSearchInput | |||
} | |||
#endif | |||
#endif // INC_EXTERNAL_ACL_OPS_ACL_RETR_H_ | |||
#endif // INC_EXTERNAL_ACL_OPS_ACL_RETR_H_ |
@@ -27,7 +27,7 @@ | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif // __cplusplus | |||
#endif // __cplusplus | |||
/** | |||
* @brief Initialize HCCL. | |||
@@ -66,15 +66,14 @@ extern HcclResult HcclCommInitRootInfo(uint32_t nRanks, const HcclRootInfo *root | |||
* @param sendBuf A pointer identifying the input data address of the operator. | |||
* @param recvBuf A pointer identifying the output data address of the operator. | |||
* @param count An integer(u64) identifying the number of the output data. | |||
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, float16, | |||
* float32. | |||
* @param dataType The data type of the operator, must be one of the following types: int8, int16, int32, float16, float32. | |||
* @param op The reduction type of the operator, must be one of the following types: sum, min, max, prod. | |||
* @param comm A pointer identifying the communication resource based on. | |||
* @param stream A pointer identifying the stream information. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclAllReduce(void *sendBuf, void *recvBuf, uint64_t count, HcclDataType dataType, HcclReduceOp op, | |||
HcclComm comm, aclrtStream stream); | |||
extern HcclResult HcclAllReduce(void *sendBuf, void *recvBuf, uint64_t count, HcclDataType dataType, | |||
HcclReduceOp op, HcclComm comm, aclrtStream stream); | |||
/** | |||
* @brief Broadcast operator. | |||
@@ -85,10 +84,10 @@ extern HcclResult HcclAllReduce(void *sendBuf, void *recvBuf, uint64_t count, Hc | |||
* @param root An integer(u32) identifying the the root rank in the operator. | |||
* @param comm A pointer identifying the communication resource based on | |||
* @param stream A pointer identifying the stream information. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclBroadcast(void *buf, uint64_t count, HcclDataType dataType, uint32_t root, HcclComm comm, | |||
aclrtStream stream); | |||
extern HcclResult HcclBroadcast(void *buf, uint64_t count, HcclDataType dataType, uint32_t root, HcclComm comm, | |||
aclrtStream stream); | |||
/** | |||
* @brief ReduceScatter operator. | |||
@@ -100,10 +99,10 @@ extern HcclResult HcclBroadcast(void *buf, uint64_t count, HcclDataType dataType | |||
* @param op The reduction type of the operator, must be one of the following types: sum, min, max, prod. | |||
* @param comm A pointer identifying the communication resource based on. | |||
* @param stream A pointer identifying the stream information. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclReduceScatter(void *sendBuf, void *recvBuf, uint64_t recvCount, HcclDataType dataType, | |||
HcclReduceOp op, HcclComm comm, aclrtStream stream); | |||
extern HcclResult HcclReduceScatter(void *sendBuf, void *recvBuf, uint64_t recvCount, HcclDataType dataType, | |||
HcclReduceOp op, HcclComm comm, aclrtStream stream); | |||
/** | |||
* @brief AllGather operator. | |||
@@ -114,16 +113,16 @@ extern HcclResult HcclReduceScatter(void *sendBuf, void *recvBuf, uint64_t recvC | |||
* @param dataType The data type of the operator, must be one of the following types: int8, int32, float16, float32. | |||
* @param comm A pointer identifying the communication resource based on. | |||
* @param stream A pointer identifying the stream information. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclAllGather(void *sendBuf, void *recvBuf, uint64_t sendCount, HcclDataType dataType, HcclComm comm, | |||
aclrtStream stream); | |||
extern HcclResult HcclAllGather(void *sendBuf, void *recvBuf, uint64_t sendCount, HcclDataType dataType, | |||
HcclComm comm, aclrtStream stream); | |||
/** | |||
* @brief Get the rank size of this comm. | |||
* | |||
* @param comm A pointer identifying the communication resource based on. | |||
* @param rankSize A pointer identifying the rank size. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclGetRankSize(HcclComm comm, uint32_t *rankSize); | |||
@@ -132,7 +131,7 @@ extern HcclResult HcclGetRankSize(HcclComm comm, uint32_t *rankSize); | |||
* | |||
* @param comm A pointer identifying the communication resource based on. | |||
* @param rankSize A pointer identifying the rank id. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclGetRankId(HcclComm comm, uint32_t *rank); | |||
/** | |||
@@ -140,7 +139,7 @@ extern HcclResult HcclGetRankId(HcclComm comm, uint32_t *rank); | |||
* | |||
* @param comm A pointer identifying the communication resource based on. | |||
* @param stream A pointer identifying the stream information. | |||
* @return HcclResult | |||
* @return HcclResult | |||
*/ | |||
extern HcclResult HcclBarrier(HcclComm comm, aclrtStream stream); | |||
@@ -155,5 +154,5 @@ extern HcclResult HcclCommDestroy(HcclComm comm); | |||
#ifdef __cplusplus | |||
} | |||
#endif // __cplusplus | |||
#endif // HCCL_H_ | |||
#endif // __cplusplus | |||
#endif // HCCL_H_ |
@@ -16,10 +16,10 @@ | |||
/** | |||
* @file hccl_types.h | |||
* @brief HCCL data type definition | |||
* | |||
* @brief HCCL data type definition | |||
* | |||
*/ | |||
#ifndef HCCL_TYPES_H_ | |||
#define HCCL_TYPES_H_ | |||
@@ -27,33 +27,33 @@ | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif // __cplusplus | |||
#endif // __cplusplus | |||
/** | |||
* @brief HCCL functions return value definition | |||
*/ | |||
typedef enum { | |||
HCCL_SUCCESS = 0, /**< success */ | |||
HCCL_E_PARA = 1, /**< parameter error */ | |||
HCCL_E_PTR = 2, /**< empty pointer */ | |||
HCCL_E_MEMORY = 3, /**< memory error */ | |||
HCCL_E_INTERNAL = 4, /**< internal error */ | |||
HCCL_E_NOT_SUPPORT = 5, /**< not support feature */ | |||
HCCL_E_NOT_FOUND = 6, /**< not found specific resource */ | |||
HCCL_E_UNAVAIL = 7, /**< resource unavailable */ | |||
HCCL_E_SYSCALL = 8, /**< call system interface error */ | |||
HCCL_E_TIMEOUT = 9, /**< timeout */ | |||
HCCL_E_OPEN_FILE_FAILURE = 10, /**< open file fail */ | |||
HCCL_E_TCP_CONNECT = 11, /**< tcp connect fail */ | |||
HCCL_E_ROCE_CONNECT = 12, /**< roce connect fail */ | |||
HCCL_E_TCP_TRANSFER = 13, /**< tcp transfer fail */ | |||
HCCL_E_ROCE_TRANSFER = 14, /**< roce transfer fail */ | |||
HCCL_E_RUNTIME = 15, /**< call runtime api fail */ | |||
HCCL_E_DRV = 16, /**< call driver api fail */ | |||
HCCL_E_PROFILING = 17, /**< call profiling api fail */ | |||
HCCL_E_CCE = 18, /**< call cce api fail */ | |||
HCCL_E_NETWORK = 19, /**< call network api fail */ | |||
HCCL_E_RESERVED /**< reserved */ | |||
HCCL_SUCCESS = 0, /**< success */ | |||
HCCL_E_PARA = 1, /**< parameter error */ | |||
HCCL_E_PTR = 2, /**< empty pointer */ | |||
HCCL_E_MEMORY = 3, /**< memory error */ | |||
HCCL_E_INTERNAL = 4, /**< internal error */ | |||
HCCL_E_NOT_SUPPORT = 5, /**< not support feature */ | |||
HCCL_E_NOT_FOUND = 6, /**< not found specific resource */ | |||
HCCL_E_UNAVAIL = 7, /**< resource unavailable */ | |||
HCCL_E_SYSCALL = 8, /**< call system interface error */ | |||
HCCL_E_TIMEOUT = 9, /**< timeout */ | |||
HCCL_E_OPEN_FILE_FAILURE = 10, /**< open file fail */ | |||
HCCL_E_TCP_CONNECT = 11, /**< tcp connect fail */ | |||
HCCL_E_ROCE_CONNECT = 12, /**< roce connect fail */ | |||
HCCL_E_TCP_TRANSFER = 13, /**< tcp transfer fail */ | |||
HCCL_E_ROCE_TRANSFER = 14, /**< roce transfer fail */ | |||
HCCL_E_RUNTIME = 15, /**< call runtime api fail */ | |||
HCCL_E_DRV = 16, /**< call driver api fail */ | |||
HCCL_E_PROFILING = 17, /**< call profiling api fail */ | |||
HCCL_E_CCE = 18, /**< call cce api fail */ | |||
HCCL_E_NETWORK = 19, /**< call network api fail */ | |||
HCCL_E_RESERVED /**< reserved */ | |||
} HcclResult; | |||
/** | |||
@@ -65,37 +65,37 @@ typedef void *HcclComm; | |||
* @brief HCCL Reduction opperation | |||
*/ | |||
typedef enum { | |||
HCCL_REDUCE_SUM = 0, /**< sum */ | |||
HCCL_REDUCE_PROD = 1, /**< prod */ | |||
HCCL_REDUCE_MAX = 2, /**< max */ | |||
HCCL_REDUCE_MIN = 3, /**< min */ | |||
HCCL_REDUCE_RESERVED /**< reserved */ | |||
HCCL_REDUCE_SUM = 0, /**< sum */ | |||
HCCL_REDUCE_PROD = 1, /**< prod */ | |||
HCCL_REDUCE_MAX = 2, /**< max */ | |||
HCCL_REDUCE_MIN = 3, /**< min */ | |||
HCCL_REDUCE_RESERVED /**< reserved */ | |||
} HcclReduceOp; | |||
/** | |||
* @brief HCCL data type | |||
*/ | |||
typedef enum { | |||
HCCL_DATA_TYPE_INT8 = 0, /**< int8 */ | |||
HCCL_DATA_TYPE_INT16 = 1, /**< int16 */ | |||
HCCL_DATA_TYPE_INT32 = 2, /**< int32 */ | |||
HCCL_DATA_TYPE_FP16 = 3, /**< fp16 */ | |||
HCCL_DATA_TYPE_FP32 = 4, /**< fp32 */ | |||
HCCL_DATA_TYPE_INT64 = 5, /**< int64 */ | |||
HCCL_DATA_TYPE_UINT64 = 6, /**< uint64 */ | |||
HCCL_DATA_TYPE_RESERVED /**< reserved */ | |||
HCCL_DATA_TYPE_INT8 = 0, /**< int8 */ | |||
HCCL_DATA_TYPE_INT16 = 1, /**< int16 */ | |||
HCCL_DATA_TYPE_INT32 = 2, /**< int32 */ | |||
HCCL_DATA_TYPE_FP16 = 3, /**< fp16 */ | |||
HCCL_DATA_TYPE_FP32 = 4, /**< fp32 */ | |||
HCCL_DATA_TYPE_INT64 = 5, /**< int64 */ | |||
HCCL_DATA_TYPE_UINT64 = 6, /**< uint64 */ | |||
HCCL_DATA_TYPE_RESERVED /**< reserved */ | |||
} HcclDataType; | |||
const uint32_t HCCL_ROOT_INFO_BYTES = 4108; // 4108: root info length | |||
const uint32_t HCCL_ROOT_INFO_BYTES = 4108; // 4108: root info length | |||
/** | |||
* @brief HCCL root info | |||
*/ | |||
typedef struct HcclRootInfoDef { | |||
char internal[HCCL_ROOT_INFO_BYTES]; | |||
char internal[HCCL_ROOT_INFO_BYTES]; | |||
} HcclRootInfo; | |||
#ifdef __cplusplus | |||
} | |||
#endif // __cplusplus | |||
#endif // HCCL_TYPES_H_ | |||
#endif // __cplusplus | |||
#endif // HCCL_TYPES_H_ |
@@ -23,84 +23,84 @@ | |||
extern "C" { | |||
#endif | |||
static const int32_t ACL_RT_SUCCESS = 0; // success | |||
static const int32_t ACL_RT_SUCCESS = 0; // success | |||
static const int32_t ACL_ERROR_RT_PARAM_INVALID = 107000; // param invalid | |||
static const int32_t ACL_ERROR_RT_INVALID_DEVICEID = 107001; // invalid device id | |||
static const int32_t ACL_ERROR_RT_CONTEXT_NULL = 107002; // current context null | |||
static const int32_t ACL_ERROR_RT_STREAM_CONTEXT = 107003; // stream not in current context | |||
static const int32_t ACL_ERROR_RT_MODEL_CONTEXT = 107004; // model not in current context | |||
static const int32_t ACL_ERROR_RT_STREAM_MODEL = 107005; // stream not in model | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_INVALID = 107006; // event timestamp invalid | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_REVERSAL = 107007; // event timestamp reversal | |||
static const int32_t ACL_ERROR_RT_ADDR_UNALIGNED = 107008; // memory address unaligned | |||
static const int32_t ACL_ERROR_RT_FILE_OPEN = 107009; // open file failed | |||
static const int32_t ACL_ERROR_RT_FILE_WRITE = 107010; // write file failed | |||
static const int32_t ACL_ERROR_RT_STREAM_SUBSCRIBE = 107011; // error subscribe stream | |||
static const int32_t ACL_ERROR_RT_THREAD_SUBSCRIBE = 107012; // error subscribe thread | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_SET = 107013; // group not set | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_CREATE = 107014; // group not create | |||
static const int32_t ACL_ERROR_RT_STREAM_NO_CB_REG = 107015; // callback not register to stream | |||
static const int32_t ACL_ERROR_RT_INVALID_MEMORY_TYPE = 107016; // invalid memory type | |||
static const int32_t ACL_ERROR_RT_INVALID_HANDLE = 107017; // invalid handle | |||
static const int32_t ACL_ERROR_RT_INVALID_MALLOC_TYPE = 107018; // invalid malloc type | |||
static const int32_t ACL_ERROR_RT_PARAM_INVALID = 107000; // param invalid | |||
static const int32_t ACL_ERROR_RT_INVALID_DEVICEID = 107001; // invalid device id | |||
static const int32_t ACL_ERROR_RT_CONTEXT_NULL = 107002; // current context null | |||
static const int32_t ACL_ERROR_RT_STREAM_CONTEXT = 107003; // stream not in current context | |||
static const int32_t ACL_ERROR_RT_MODEL_CONTEXT = 107004; // model not in current context | |||
static const int32_t ACL_ERROR_RT_STREAM_MODEL = 107005; // stream not in model | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_INVALID = 107006; // event timestamp invalid | |||
static const int32_t ACL_ERROR_RT_EVENT_TIMESTAMP_REVERSAL = 107007; // event timestamp reversal | |||
static const int32_t ACL_ERROR_RT_ADDR_UNALIGNED = 107008; // memory address unaligned | |||
static const int32_t ACL_ERROR_RT_FILE_OPEN = 107009; // open file failed | |||
static const int32_t ACL_ERROR_RT_FILE_WRITE = 107010; // write file failed | |||
static const int32_t ACL_ERROR_RT_STREAM_SUBSCRIBE = 107011; // error subscribe stream | |||
static const int32_t ACL_ERROR_RT_THREAD_SUBSCRIBE = 107012; // error subscribe thread | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_SET = 107013; // group not set | |||
static const int32_t ACL_ERROR_RT_GROUP_NOT_CREATE = 107014; // group not create | |||
static const int32_t ACL_ERROR_RT_STREAM_NO_CB_REG = 107015; // callback not register to stream | |||
static const int32_t ACL_ERROR_RT_INVALID_MEMORY_TYPE = 107016; // invalid memory type | |||
static const int32_t ACL_ERROR_RT_INVALID_HANDLE = 107017; // invalid handle | |||
static const int32_t ACL_ERROR_RT_INVALID_MALLOC_TYPE = 107018; // invalid malloc type | |||
static const int32_t ACL_ERROR_RT_FEATURE_NOT_SUPPORT = 207000; // feature not support | |||
static const int32_t ACL_ERROR_RT_MEMORY_ALLOCATION = 207001; // memory allocation error | |||
static const int32_t ACL_ERROR_RT_MEMORY_FREE = 207002; // memory free error | |||
static const int32_t ACL_ERROR_RT_AICORE_OVER_FLOW = 207003; // aicore over flow | |||
static const int32_t ACL_ERROR_RT_NO_DEVICE = 207004; // no device | |||
static const int32_t ACL_ERROR_RT_RESOURCE_ALLOC_FAIL = 207005; // resource alloc fail | |||
static const int32_t ACL_ERROR_RT_NO_PERMISSION = 207006; // no permission | |||
static const int32_t ACL_ERROR_RT_NO_EVENT_RESOURCE = 207007; // no event resource | |||
static const int32_t ACL_ERROR_RT_NO_STREAM_RESOURCE = 207008; // no stream resource | |||
static const int32_t ACL_ERROR_RT_NO_NOTIFY_RESOURCE = 207009; // no notify resource | |||
static const int32_t ACL_ERROR_RT_NO_MODEL_RESOURCE = 207010; // no model resource | |||
static const int32_t ACL_ERROR_RT_FEATURE_NOT_SUPPORT = 207000; // feature not support | |||
static const int32_t ACL_ERROR_RT_MEMORY_ALLOCATION = 207001; // memory allocation error | |||
static const int32_t ACL_ERROR_RT_MEMORY_FREE = 207002; // memory free error | |||
static const int32_t ACL_ERROR_RT_AICORE_OVER_FLOW = 207003; // aicore over flow | |||
static const int32_t ACL_ERROR_RT_NO_DEVICE = 207004; // no device | |||
static const int32_t ACL_ERROR_RT_RESOURCE_ALLOC_FAIL = 207005; // resource alloc fail | |||
static const int32_t ACL_ERROR_RT_NO_PERMISSION = 207006; // no permission | |||
static const int32_t ACL_ERROR_RT_NO_EVENT_RESOURCE = 207007; // no event resource | |||
static const int32_t ACL_ERROR_RT_NO_STREAM_RESOURCE = 207008; // no stream resource | |||
static const int32_t ACL_ERROR_RT_NO_NOTIFY_RESOURCE = 207009; // no notify resource | |||
static const int32_t ACL_ERROR_RT_NO_MODEL_RESOURCE = 207010; // no model resource | |||
static const int32_t ACL_ERROR_RT_INTERNAL_ERROR = 507000; // runtime internal error | |||
static const int32_t ACL_ERROR_RT_TS_ERROR = 507001; // ts internel error | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_FULL = 507002; // task full in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_EMPTY = 507003; // task empty in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_NOT_COMPLETE = 507004; // stream not complete | |||
static const int32_t ACL_ERROR_RT_END_OF_SEQUENCE = 507005; // end of sequence | |||
static const int32_t ACL_ERROR_RT_EVENT_NOT_COMPLETE = 507006; // event not complete | |||
static const int32_t ACL_ERROR_RT_CONTEXT_RELEASE_ERROR = 507007; // context release error | |||
static const int32_t ACL_ERROR_RT_SOC_VERSION = 507008; // soc version error | |||
static const int32_t ACL_ERROR_RT_TASK_TYPE_NOT_SUPPORT = 507009; // task type not support | |||
static const int32_t ACL_ERROR_RT_LOST_HEARTBEAT = 507010; // ts lost heartbeat | |||
static const int32_t ACL_ERROR_RT_MODEL_EXECUTE = 507011; // model execute failed | |||
static const int32_t ACL_ERROR_RT_REPORT_TIMEOUT = 507012; // report timeout | |||
static const int32_t ACL_ERROR_RT_SYS_DMA = 507013; // sys dma error | |||
static const int32_t ACL_ERROR_RT_AICORE_TIMEOUT = 507014; // aicore timeout | |||
static const int32_t ACL_ERROR_RT_AICORE_EXCEPTION = 507015; // aicore exception | |||
static const int32_t ACL_ERROR_RT_AICORE_TRAP_EXCEPTION = 507016; // aicore trap exception | |||
static const int32_t ACL_ERROR_RT_AICPU_TIMEOUT = 507017; // aicpu timeout | |||
static const int32_t ACL_ERROR_RT_AICPU_EXCEPTION = 507018; // aicpu exception | |||
static const int32_t ACL_ERROR_RT_AICPU_DATADUMP_RSP_ERR = 507019; // aicpu datadump response error | |||
static const int32_t ACL_ERROR_RT_AICPU_MODEL_RSP_ERR = 507020; // aicpu model operate response error | |||
static const int32_t ACL_ERROR_RT_PROFILING_ERROR = 507021; // profiling error | |||
static const int32_t ACL_ERROR_RT_IPC_ERROR = 507022; // ipc error | |||
static const int32_t ACL_ERROR_RT_MODEL_ABORT_NORMAL = 507023; // model abort normal | |||
static const int32_t ACL_ERROR_RT_KERNEL_UNREGISTERING = 507024; // kernel unregistering | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NOT_INIT = 507025; // ringbuffer not init | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NO_DATA = 507026; // ringbuffer no data | |||
static const int32_t ACL_ERROR_RT_KERNEL_LOOKUP = 507027; // kernel lookup error | |||
static const int32_t ACL_ERROR_RT_KERNEL_DUPLICATE = 507028; // kernel register duplicate | |||
static const int32_t ACL_ERROR_RT_DEBUG_REGISTER_FAIL = 507029; // debug register failed | |||
static const int32_t ACL_ERROR_RT_DEBUG_UNREGISTER_FAIL = 507030; // debug unregister failed | |||
static const int32_t ACL_ERROR_RT_LABEL_CONTEXT = 507031; // label not in current context | |||
static const int32_t ACL_ERROR_RT_PROGRAM_USE_OUT = 507032; // program register num use out | |||
static const int32_t ACL_ERROR_RT_DEV_SETUP_ERROR = 507033; // device setup error | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TIMEOUT = 507034; // vector core timeout | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_EXCEPTION = 507035; // vector core exception | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TRAP_EXCEPTION = 507036; // vector core trap exception | |||
static const int32_t ACL_ERROR_RT_INTERNAL_ERROR = 507000; // runtime internal error | |||
static const int32_t ACL_ERROR_RT_TS_ERROR = 507001; // ts internel error | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_FULL = 507002; // task full in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_TASK_EMPTY = 507003; // task empty in stream | |||
static const int32_t ACL_ERROR_RT_STREAM_NOT_COMPLETE = 507004; // stream not complete | |||
static const int32_t ACL_ERROR_RT_END_OF_SEQUENCE = 507005; // end of sequence | |||
static const int32_t ACL_ERROR_RT_EVENT_NOT_COMPLETE = 507006; // event not complete | |||
static const int32_t ACL_ERROR_RT_CONTEXT_RELEASE_ERROR = 507007; // context release error | |||
static const int32_t ACL_ERROR_RT_SOC_VERSION = 507008; // soc version error | |||
static const int32_t ACL_ERROR_RT_TASK_TYPE_NOT_SUPPORT = 507009; // task type not support | |||
static const int32_t ACL_ERROR_RT_LOST_HEARTBEAT = 507010; // ts lost heartbeat | |||
static const int32_t ACL_ERROR_RT_MODEL_EXECUTE = 507011; // model execute failed | |||
static const int32_t ACL_ERROR_RT_REPORT_TIMEOUT = 507012; // report timeout | |||
static const int32_t ACL_ERROR_RT_SYS_DMA = 507013; // sys dma error | |||
static const int32_t ACL_ERROR_RT_AICORE_TIMEOUT = 507014; // aicore timeout | |||
static const int32_t ACL_ERROR_RT_AICORE_EXCEPTION = 507015; // aicore exception | |||
static const int32_t ACL_ERROR_RT_AICORE_TRAP_EXCEPTION = 507016; // aicore trap exception | |||
static const int32_t ACL_ERROR_RT_AICPU_TIMEOUT = 507017; // aicpu timeout | |||
static const int32_t ACL_ERROR_RT_AICPU_EXCEPTION = 507018; // aicpu exception | |||
static const int32_t ACL_ERROR_RT_AICPU_DATADUMP_RSP_ERR = 507019; // aicpu datadump response error | |||
static const int32_t ACL_ERROR_RT_AICPU_MODEL_RSP_ERR = 507020; // aicpu model operate response error | |||
static const int32_t ACL_ERROR_RT_PROFILING_ERROR = 507021; // profiling error | |||
static const int32_t ACL_ERROR_RT_IPC_ERROR = 507022; // ipc error | |||
static const int32_t ACL_ERROR_RT_MODEL_ABORT_NORMAL = 507023; // model abort normal | |||
static const int32_t ACL_ERROR_RT_KERNEL_UNREGISTERING = 507024; // kernel unregistering | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NOT_INIT = 507025; // ringbuffer not init | |||
static const int32_t ACL_ERROR_RT_RINGBUFFER_NO_DATA = 507026; // ringbuffer no data | |||
static const int32_t ACL_ERROR_RT_KERNEL_LOOKUP = 507027; // kernel lookup error | |||
static const int32_t ACL_ERROR_RT_KERNEL_DUPLICATE = 507028; // kernel register duplicate | |||
static const int32_t ACL_ERROR_RT_DEBUG_REGISTER_FAIL = 507029; // debug register failed | |||
static const int32_t ACL_ERROR_RT_DEBUG_UNREGISTER_FAIL = 507030; // debug unregister failed | |||
static const int32_t ACL_ERROR_RT_LABEL_CONTEXT = 507031; // label not in current context | |||
static const int32_t ACL_ERROR_RT_PROGRAM_USE_OUT = 507032; // program register num use out | |||
static const int32_t ACL_ERROR_RT_DEV_SETUP_ERROR = 507033; // device setup error | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TIMEOUT = 507034; // vector core timeout | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_EXCEPTION = 507035; // vector core exception | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TRAP_EXCEPTION = 507036; // vector core trap exception | |||
static const int32_t ACL_ERROR_RT_DRV_INTERNAL_ERROR = 507899; // drv internal error | |||
static const int32_t ACL_ERROR_RT_AICPU_INTERNAL_ERROR = 507900; // aicpu internal error | |||
static const int32_t ACL_ERROR_RT_SOCKET_CLOSE = 507901; // hdc disconnect | |||
static const int32_t ACL_ERROR_RT_DRV_INTERNAL_ERROR = 507899; // drv internal error | |||
static const int32_t ACL_ERROR_RT_AICPU_INTERNAL_ERROR = 507900; // aicpu internal error | |||
static const int32_t ACL_ERROR_RT_SOCKET_CLOSE = 507901; // hdc disconnect | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif // __INC_EXTERNEL_RT_ERROR_CODES_H__ | |||
#endif // __INC_EXTERNEL_RT_ERROR_CODES_H__ |
@@ -387,12 +387,12 @@ REG_OP(ControlTrigger) | |||
*@par Inputs: | |||
* Three inputs, including: | |||
*@li x: One dimensional tensore of type int32, specifying queried shape, max size is 8. | |||
*@li data_seq: One dimensional tensore of type int32, specifying the mapped table is queried. | |||
*@li level_index: One dimensional tensore of type int32, specifying secondary index. \n | |||
*@li x: One dimensional tensor of type int32, specifying queried shape, max size is 128. | |||
*@li data_seq: One dimensional tensor of type int32, specifying the mapped table is queried. | |||
*@li level_index: One dimensional tensor of type int32, specifying secondary index. \n | |||
*@par Outputs: | |||
*@li y: A Tensor with shape [batch, 8], of type int32, specifying index of shape in the map. | |||
*@li y: A Tensor with shape [8], of type int32, specifying index of shape in the map. | |||
*@par Third-party framework compatibility | |||
* It is a custom operator. It has no corresponding operator in Caffe. | |||
*/ | |||
@@ -137,6 +137,87 @@ REG_OP(CTCBeamSearchDecoder) | |||
.OUTPUT(log_probability, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.OP_END_FACTORY_REG(CTCBeamSearchDecoder) | |||
/** | |||
*@brief The Connectionist Temporal Classification loss. | |||
*@par Inputs: | |||
*@li log_probs: Tensor of size (T, N, C), where T =input length, N =batch size, | |||
and C = number of classes (including blank). | |||
It represent the logarithmized probabilities of the outputs. | |||
*@li targets: Tensor of size (N, S), where S= max target length. | |||
It represent the target sequences. | |||
*@li input_lengths: Tuple or tensor of size (N). It represent the lengths of the inputs. | |||
*@li target_lengths: Tuple or tensor of size (N). It represent lengths of the targets. | |||
*@par Outputs: | |||
*@li neg_log_likelihood: A loss value which is differentiable with respect to each input node. | |||
*@li log_alpha: The probability of possible trace of input to target. | |||
*@par Attributes: | |||
*@li blank : Blank label. Default 0. | |||
*@li reduction: Specifies the reduction to apply to the output. Default: 'mean'. | |||
*@li zero_infinity : Whether to zero infinite losses and the associated gradients. | |||
*@par Third-party framework compatibility | |||
* Compatible with Pytorch CTCLoss operator. | |||
*@par Restrictions: | |||
*Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
*/ | |||
REG_OP(CTCLossV2) | |||
.INPUT(log_probs, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(targets, TensorType({DT_INT32, DT_INT64})) | |||
.INPUT(input_lengths, TensorType({DT_INT32, DT_INT64})) | |||
.INPUT(target_lengths, TensorType({DT_INT32, DT_INT64})) | |||
.OUTPUT(neg_log_likelihood, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.OUTPUT(log_alpha, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.ATTR(blank, Int, 0) | |||
.ATTR(reduction, String, "mean") | |||
.ATTR(zero_infinity, Bool, false) | |||
.OP_END_FACTORY_REG(CTCLossV2) | |||
/** | |||
*@brief The Connectionist Temporal Classification loss grad. | |||
*@par Inputs: | |||
*@li grad_out: Gradient renewal coefficient. Tensor of size (N), where N = batch size. | |||
*@li log_probs: Tensor of size (T, N, C), where T =input length, N =batch size, | |||
and C = number of classes (including blank). | |||
It represent the logarithmized probabilities of the outputs. | |||
*@li targets: Tensor of size (N, S), where S= max target length. | |||
It represent the target sequences. | |||
*@li input_lengths: Tuple or tensor of size (N). It represent the lengths of the inputs. | |||
*@li target_lengths: Tuple or tensor of size (N). It represent lengths of the targets. | |||
*@li neg_log_likelihood: A loss value which is differentiable with respect to each input node. | |||
*@li log_alpha: The probability of possible trace of input to target. | |||
*@par Outputs: | |||
*@li grad: Tensor of size (T, N, C), The grad of Connectionist Temporal Classification loss. | |||
*@par Attributes: | |||
*@li blank : Blank label. Default 0. | |||
*@li reduction: Specifies the reduction to apply to the output. Default: 'mean'. | |||
*@li zero_infinity : Whether to zero infinite losses and the associated gradients. | |||
*@par Third-party framework compatibility | |||
* Compatible with Pytorch CTCLoss operator. | |||
*@par Restrictions: | |||
*Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
*/ | |||
REG_OP(CTCLossV2Grad) | |||
.INPUT(grad_out, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(log_probs, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(targets, TensorType({DT_INT32, DT_INT64})) | |||
.INPUT(input_lengths, TensorType({DT_INT32, DT_INT64})) | |||
.INPUT(target_lengths, TensorType({DT_INT32, DT_INT64})) | |||
.INPUT(neg_log_likelihood, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(log_alpha, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.OUTPUT(grad, TensorType({DT_FLOAT, DT_DOUBLE})) | |||
.ATTR(blank, Int, 0) | |||
.ATTR(reduction, String, "mean") | |||
.ATTR(zero_infinity, Bool, false) | |||
.OP_END_FACTORY_REG(CTCLossV2Grad) | |||
} // namespace ge | |||
#endif // OPS_BUILT_IN_OP_PROTO_INC_CTC_OPS_H_ |
@@ -1039,7 +1039,7 @@ REG_OP(BesselI1e) | |||
* y = log_base(shift + scale * x), with "base" > 0. \n | |||
* @par Inputs: | |||
* @li x: A Tensor of type complex64, complex128, float16, float32 or double. \n | |||
* x: A Tensor of type complex64, complex128, float16, float32 or double. \n | |||
* @par Attributes: | |||
* @li base: An optional float32, specifying the base "e". Defaults to "-1.0" | |||
@@ -1084,7 +1084,7 @@ REG_OP(Log) | |||
* uint8, int8, uint16, int16, int32, int64, complex64, complex128. \n | |||
* @attention Constraints: | |||
* @li "x1" and "x2" have incompatible shapes or types. \n | |||
* "x1" and "x2" have incompatible shapes or types. \n | |||
* @par Third-party framework compatibility | |||
* Compatible with the TensorFlow operator Multiply. | |||
@@ -3415,7 +3415,7 @@ REG_OP(Addcdiv) | |||
.INPUT(input_data, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(x1, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(x2, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(value, TensorType({ DT_FLOAT16, DT_FLOAT, DT_INT32 })) | |||
.INPUT(value, TensorType({ DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OP_END_FACTORY_REG(Addcdiv) | |||
@@ -3468,25 +3468,6 @@ REG_OP(AxpyV2) | |||
.OP_END_FACTORY_REG(AxpyV2) | |||
/** | |||
* @brief Computes the result of x1 * x2. | |||
* @par Inputs: | |||
* @li x1: An ND tensor of type float16, float32, int32. | |||
* @li x2: An ND tensor of type float16, float32, int32. \n | |||
* @par Outputs: | |||
* @li y: Same shape and type as the largest ND tensor in x1 x2. \n | |||
* @par Third-party framework compatibility | |||
* Compatible with the Pytorch operator muls. | |||
*/ | |||
REG_OP(PtMuls) | |||
.INPUT(x1, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
.INPUT(x2, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
.OP_END_FACTORY_REG(PtMuls) | |||
/** | |||
* @brief Computes the result of x1 - x2. | |||
* @par Inputs: | |||
@@ -0,0 +1,49 @@ | |||
/** | |||
* Copyright 2019 Huawei Technologies Co., Ltd | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
/*! | |||
* \file globalavgpool.h | |||
* \brief | |||
*/ | |||
#ifndef OPS_BUILT_IN_OP_PROTO_INC_GLOBALAVERAGEPOOL_H_ | |||
#define OPS_BUILT_IN_OP_PROTO_INC_GLOBALAVERAGEPOOL_H_ | |||
#include "graph/operator_reg.h" | |||
namespace ge { | |||
/** | |||
*@brief GlobalAveragePool consumes an input tensor X and applies average pooling across the values in the same channel. | |||
This is equivalent to AveragePool with kernel size equal to the spatial dimension of input tensor \n | |||
*@par Inputs: | |||
*@li x: Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), | |||
where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. | |||
For non image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn), where N is the batch size. | |||
*@par Outputs: | |||
*y: Output data tensor from pooling across the input tensor. The output tensor has the same rank as the input. | |||
The first two dimensions of output shape are the same as the input (N x C), while the other dimensions are all 1 | |||
*@par Restrictions: | |||
*Warning: This operator can be integrated only by configuring INSERT_OP_FILE of aclgrphBuildModel. Please do not use it directly. | |||
*/ | |||
REG_OP(GlobalAveragePool) | |||
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.OP_END_FACTORY_REG(GlobalAveragePool) | |||
} // namespace ge | |||
#endif // OPS_BUILT_IN_OP_PROTO_INC_GLOBALAVGPOOL_H_ |
@@ -1868,5 +1868,73 @@ REG_OP(IMGWarpOffsets) | |||
.INPUT(offsets, TensorType({DT_FLOAT, DT_INT32})) | |||
.OUTPUT(warp_images, TensorType({DT_UINT8, DT_FLOAT16, DT_FLOAT})) | |||
.OP_END_FACTORY_REG(IMGWarpOffsets) | |||
/** | |||
*@brief This operation samples 3d input x by using interpolation based on flow field grid, | |||
which is usually gennerated by affine_grid. | |||
*@par Inputs: | |||
*@li x: 5-D Tensor with shape `[batch, channels, depth, height, width]`. | |||
*@li grid: flow field grid, 5-D Tensor with shape `[batch, depth, height, width, 2]`. | |||
*@par Attributes: | |||
*@li interpolation_mode: An optional string specifying the interpolation method. | |||
*@li padding_mode: An optional string specifying the pad method. | |||
*@li align_corners: An optional bool. If "true", the centers of the corner | |||
pixels of the input and output tensors are aligned. Defaults to "false" . | |||
*@par Outputs: | |||
*y: Returns 5-D Tensor with the same dtype as `x`. | |||
*@par Third-party framework compatibility | |||
*Compatible with pytorch GridSampler3D operator. | |||
*@par Restrictions: | |||
*Warning:THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
*/ | |||
REG_OP(GridSampler3D) | |||
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(grid, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.ATTR(interpolation_mode, String, "bilinear") | |||
.ATTR(padding_mode, String, "zeros") | |||
.ATTR(align_corners, Bool, false) | |||
.OP_END_FACTORY_REG(GridSampler3D) | |||
/** | |||
*@brief Computes the gradients of GridSampler3D. | |||
*@par Inputs: | |||
*@li grad: 5-D Tensor with shape `[batch, channels, depth, height, width]`. | |||
*@li x: 5-D Tensor with shape `[batch, channels, depth, height, width]`. | |||
*@li grid: flow field grid, 5-D Tensor with shape `[batch, depth, height, width, 2]`. | |||
*@par Attributes: | |||
*@li interpolation_mode: An optional string specifying the interpolation method. | |||
*@li padding_mode: An optional string specifying the pad method. | |||
*@li align_corners: An optional bool. If "true", the centers of the corner | |||
pixels of the input and output tensors are aligned. Defaults to "false" . | |||
*@par Outputs: | |||
*dx: Returns 5-D Tensor with the same dtype and shape as `x`. | |||
*dgrid: Returns 5-D Tensor with the same dtype and shape as `grid`. | |||
*@par Third-party framework compatibility | |||
*Compatible with pytorch GridSampler3DGrad operator. | |||
*@par Restrictions: | |||
*Warning:THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
*/ | |||
REG_OP(GridSampler3DGrad) | |||
.INPUT(grad, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.INPUT(grid, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.OUTPUT(dx, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.OUTPUT(dgrid, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) | |||
.ATTR(interpolation_mode, String, "bilinear") | |||
.ATTR(padding_mode, String, "zeros") | |||
.ATTR(align_corners, Bool, false) | |||
.OP_END_FACTORY_REG(GridSampler3DGrad) | |||
} // namespace ge | |||
#endif // OPS_BUILT_IN_OP_PROTO_INC_IMAGE_OPS_H_ |
@@ -340,9 +340,9 @@ form square matrices. \n | |||
*/ | |||
REG_OP(SelfAdjointEig) | |||
.INPUT(x, TensorType({ DT_DOUBLE, DT_FLOAT })) | |||
.OUTPUT(eigen_value, TensorType({ DT_DOUBLE, DT_FLOAT })) | |||
.OUTPUT(eigen_vector, TensorType({ DT_DOUBLE, DT_FLOAT })) | |||
.INPUT(x, TensorType({ DT_DOUBLE, DT_FLOAT, DT_COMPLEX64, DT_COMPLEX128 })) | |||
.OUTPUT(eigen_value, TensorType({ DT_DOUBLE, DT_FLOAT, DT_COMPLEX64, DT_COMPLEX128 })) | |||
.OUTPUT(eigen_vector, TensorType({ DT_DOUBLE, DT_FLOAT, DT_COMPLEX64, DT_COMPLEX128 })) | |||
.ATTR(compute_v, Bool, true) | |||
.OP_END_FACTORY_REG(SelfAdjointEig) | |||
@@ -818,8 +818,8 @@ REG_OP(ActsULQ) | |||
.INPUT(clamp_min, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(clamp_max, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(clamp_min_mask, TensorType({DT_BOOL})) | |||
.OUTPUT(clamp_max_mask, TensorType({DT_BOOL})) | |||
.OUTPUT(clamp_min_mask, TensorType({DT_BOOL, DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(clamp_max_mask, TensorType({DT_BOOL, DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(x_clamped_loss, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.ATTR(fixed_min, Bool, false) | |||
.ATTR(num_bits, Int, 8) | |||
@@ -845,8 +845,8 @@ REG_OP(ActsULQ) | |||
REG_OP(ActsULQInputGrad) | |||
.INPUT(y_grad, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(clamp_min_mask, TensorType({DT_BOOL})) | |||
.INPUT(clamp_max_mask, TensorType({DT_BOOL})) | |||
.INPUT(clamp_min_mask, TensorType({DT_BOOL, DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(clamp_max_mask, TensorType({DT_BOOL, DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(x_grad, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OP_END_FACTORY_REG(ActsULQInputGrad) | |||
@@ -870,7 +870,7 @@ REG_OP(ActsULQInputGrad) | |||
REG_OP(ActULQClampMaxGrad) | |||
.INPUT(y_grad, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(clamp_max_mask, TensorType({DT_BOOL})) | |||
.INPUT(clamp_max_mask, TensorType({DT_BOOL, DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(x_clamped_loss, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(clamp_max_grad, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OP_END_FACTORY_REG(ActULQClampMaxGrad) | |||
@@ -895,7 +895,7 @@ REG_OP(ActULQClampMaxGrad) | |||
REG_OP(ActULQClampMinGrad) | |||
.INPUT(y_grad, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(clamp_min_mask, TensorType({DT_BOOL})) | |||
.INPUT(clamp_min_mask, TensorType({DT_BOOL, DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(x_clamped_loss, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(clamp_min_grad, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OP_END_FACTORY_REG(ActULQClampMinGrad) | |||
@@ -456,6 +456,34 @@ REG_OP(TensorScatterUpdate) | |||
.OP_END_FACTORY_REG(TensorScatterUpdate) | |||
/** | |||
*@brief Uses "updates" to update tensor "data" by "indices". \n | |||
*@par Inputs: | |||
* Three inputs, including: | |||
*@li data: An ND Tensor . \n | |||
*Must be one of the following types: float16, float32, int32, int8, uint8 | |||
*@li indices: An ND Tensor of type int32 or int64 | |||
*@li updates: An Tensor. Same shape as indices. format:NCHW, NHWC . \n | |||
*Must be one of the following types: float16, float32, int32, int8, uint8 | |||
*@par Attributes: | |||
*@li axis: An optional attribute. Defaults to 0. | |||
*@par Outputs: | |||
*y: A Tensor. Has the same type and format as input "data" . \n | |||
*@par Third-party framework compatibility | |||
* Compatible with the ONNX operator ScatterElements. | |||
*/ | |||
REG_OP(ScatterElements) | |||
.INPUT(data, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT32,DT_INT8,DT_UINT8})) | |||
.INPUT(indices, TensorType::IndexNumberType()) | |||
.INPUT(updates, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT32,DT_INT8,DT_UINT8})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT32,DT_INT8,DT_UINT8})) | |||
.ATTR(axis, Int, 0) | |||
.OP_END_FACTORY_REG(ScatterElements) | |||
/** | |||
*@brief Adds sparse "updates" to a variable reference . \n | |||
*@par Inputs: | |||
@@ -1140,24 +1168,24 @@ REG_OP(Tril) | |||
*@par Attributes: | |||
*equation: The subscripts for the Einstein summation. \n | |||
*tensor_size: tensor size of input \n | |||
*N: tensor size of input \n | |||
*@par Outputs: | |||
*@li y: Sums the product of the elements of the input operands along dimensions specified | |||
using a notation based on the Einstein summation convention. \n | |||
*@attention Constraints: | |||
*Input tensor_size must be Int. \n | |||
*Input N must be Int. \n | |||
*@par Third-party framework compatibility | |||
*Compatible with Pytorch einsum operator. | |||
*/ | |||
REG_OP(EinSum) | |||
REG_OP(Einsum) | |||
.DYNAMIC_INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT32})) | |||
.REQUIRED_ATTR(equation, String) | |||
.REQUIRED_ATTR(tensor_size, Int) | |||
.OP_END_FACTORY_REG(EinSum) | |||
.REQUIRED_ATTR(N, Int) | |||
.OP_END_FACTORY_REG(Einsum) | |||
/** | |||
*@brief Returns a 2-D tensor with ones on the diagonal and zeros elsewhere. \n | |||
@@ -784,16 +784,14 @@ REG_OP(Conv2DBackpropFilterD) | |||
| Tensor | x | filter | bias | y | |||
------------|---------|---------|---------|-------- | |||
| Data Type | float16 | float16 | float16 | float16 | |||
| |---------|---------|---------|-------- | |||
| | float32 | float32 | float32 | float32 | |||
| |---------|---------|---------|-------- | |||
| | int8 | int8 | int32 | int32 | |||
------------|---------|---------|---------|-------- | |||
| Format | NCHW | NCHW | ND | NCHW | |||
| | NHWC | HWCN | | NHWC | |||
@endverbatim | |||
* For float32 type, the actual calculation on the chip is based on | |||
* float16. For int8, a dequant or requant operator must be followed. | |||
* float16. | |||
*\n | |||
* | |||
*@par Attributes: | |||
@@ -1450,7 +1450,8 @@ REG_OP(DecodeBboxV2) | |||
* | |||
*@par Inputs: | |||
*Inputs include: | |||
* x: A Tensor. Must be float16 or float32. | |||
* x: A Tensor. Dtype support: flaot16, flaot, int16, int8, | |||
uint8, int32, int64. | |||
* | |||
*@par Attributes: | |||
* @li axis: optional, int. | |||
@@ -1462,9 +1463,11 @@ REG_OP(DecodeBboxV2) | |||
* | |||
*/ | |||
REG_OP(Sort) | |||
.INPUT(x, TensorType({ DT_FLOAT16 })) | |||
.OUTPUT(y1, TensorType({ DT_FLOAT16 })) | |||
.OUTPUT(y2, TensorType({ DT_INT32 })) | |||
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT16, DT_INT8, | |||
DT_UINT8, DT_INT32, DT_INT64})) | |||
.OUTPUT(y1, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT16, DT_INT8, | |||
DT_UINT8, DT_INT32, DT_INT64})) | |||
.OUTPUT(y2, TensorType({DT_INT32})) | |||
.ATTR(axis, Int, -1) | |||
.ATTR(descending, Bool, false) | |||
.OP_END_FACTORY_REG(Sort) | |||
@@ -1718,6 +1721,101 @@ REG_OP(PSROIPoolingGradV2D) | |||
.REQUIRED_ATTR(input_size, ListInt) | |||
.OP_END_FACTORY_REG(PSROIPoolingGradV2D) | |||
/** | |||
*@brief Generate the responsible flags of anchor in a single feature map. | |||
*@par Inputs: | |||
*@li gt_bboxes: Ground truth box, 2-D Tensor with shape `[batch, 4]`. | |||
*@par Attributes: | |||
*@li featmap_size: The size of feature maps, listint. | |||
*@li strides: Stride of current level, listint. | |||
*@li num_base_anchors: The number of base anchors. | |||
*@par Outputs: | |||
*flags: The valid flags of each anchor in a single level. | |||
*/ | |||
REG_OP(AnchorResponseFlags) | |||
.INPUT(gt_bboxes, TensorType({DT_FLOAT})) | |||
.OUTPUT(flags, TensorType({DT_UINT8})) | |||
.REQUIRED_ATTR(featmap_size, ListInt) | |||
.REQUIRED_ATTR(strides, ListInt) | |||
.REQUIRED_ATTR(num_base_anchors, Int) | |||
.OP_END_FACTORY_REG(AnchorResponseFlags) | |||
/** | |||
*@brief Generates bounding boxes based on yolo's "anchor" and "ground-truth" boxes. | |||
* It is a customized mmdetection operator . \n | |||
*@par Inputs: | |||
* Three inputs, including: | |||
*@li anchor_boxes: anchor boxes generated by the yolo training set. | |||
* A 2D Tensor of type float32 or float16 with shape (N, 4). "N" indicates the number | |||
* of ROIs, "N" indicates the number of ROIs, and the value "4" refers to (tx, ty, tw, th). | |||
*@li gt_bboxes: target of the transformation, e.g, ground-truth boxes. | |||
* A 2D Tensor of type float32 or float16 with shape (N, 4). | |||
* "N" indicates the number of ROIs, and 4 indicates "dx", "dy", "dw", and "dh" . | |||
*@li stride: Scale for each box. | |||
* A 1D Tensor of type int32 shape (N,). | |||
* "N" indicates the number of ROIs. \n | |||
*@par Attributes: | |||
*@li performance_mode: select performance mode, "high_precision" or "high_performance". | |||
* select "high_precision" when input type is float32, the output tensor precision | |||
* will be smaller than 0.0001, select "high_performance" when input type is float32, | |||
* the ops will be best performance, but precision will be only smaller than 0.005. | |||
*@par Outputs: | |||
*encoded_bboxes: Bboxes generated based on "anchor_boxes" and "gt_bboxes". Have the | |||
* same format and type as "anchor_boxes". | |||
* | |||
*@attention Constraints: | |||
* input anchor boxes only support maximum N=20480. \n | |||
*/ | |||
REG_OP(YoloBoxesEncode) | |||
.INPUT(anchor_boxes, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(gt_bboxes, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(stride, TensorType({DT_INT32})) | |||
.ATTR(performance_mode, String, "high_precision") | |||
.OUTPUT(encoded_bboxes, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OP_END_FACTORY_REG(YoloBoxesEncode) | |||
/** | |||
*@brief Performs Position Sensitive PS ROI Pooling Grad. | |||
*@par Inputs: | |||
* Eight inputs, including: | |||
*@li assigned_gt_inds: Tensor of type float16 or float32, shape (n, ) | |||
*@li overlaps: A Tensor. Datatype is same as assigned_gt_inds. IOU between gt_bboxes and bboxes. shape(k, n) | |||
*@li box_responsible_flags: A Tensor. Support uint8. Flag to indicate whether box is responsible. | |||
*@li max_overlaps: A Tensor. Datatype is same as assigned_gt_inds. overlaps.max(axis=0). | |||
*@li argmax_overlaps: A Tensor. Support int32. overlaps.argmax(axis=0). | |||
*@li gt_max_overlaps: A Tensor. Datatype is same as assigned_gt_inds. overlaps.max(axis=1). | |||
*@li gt_argmax_overlaps: A Tensor. Support int32. overlaps.argmax(axis=1). | |||
*@li num_gts: A Tensor. Support int32. real k. shape (1, ) | |||
*@par Attributes: | |||
*@li output_dim: float. IOU threshold for positive bboxes. | |||
*@li group_size: float. minimum iou for a bbox to be considered as a positive bbox | |||
*@li spatial_scale: bool. whether to assign all bboxes with the same highest overlap with some gt to that gt. | |||
*@par Outputs: | |||
*@li assigned_gt_inds_pos: A Tensor. Support float16/float32. shape (n, ). | |||
*/ | |||
REG_OP(GridAssignPositive) | |||
.INPUT(assigned_gt_inds, TensorType({ DT_FLOAT, DT_FLOAT16 })) | |||
.INPUT(overlaps, TensorType({ DT_FLOAT, DT_FLOAT16 })) | |||
.INPUT(box_responsible_flags, TensorType({ DT_UINT8 })) | |||
.INPUT(max_overlaps, TensorType({ DT_FLOAT, DT_FLOAT16 })) | |||
.INPUT(argmax_overlaps, TensorType({ DT_INT32 })) | |||
.INPUT(gt_max_overlaps, TensorType({ DT_FLOAT, DT_FLOAT16 })) | |||
.INPUT(gt_argmax_overlaps, TensorType({ DT_INT32 })) | |||
.INPUT(num_gts, TensorType({ DT_INT32 })) | |||
.OUTPUT(assigned_gt_inds_pos, TensorType({DT_FLOAT, DT_FLOAT16})) | |||
.REQUIRED_ATTR(pos_iou_thr, Float) | |||
.REQUIRED_ATTR(min_pos_iou, Float) | |||
.REQUIRED_ATTR(gt_max_assign_all, Bool) | |||
.OP_END_FACTORY_REG(GridAssignPositive) | |||
} // namespace ge | |||
#endif // OPS_BUILT_IN_OP_PROTO_INC_NN_DETECT_OPS_H_ | |||
@@ -107,6 +107,9 @@ REG_OP(SoftmaxCrossEntropyWithLogits) | |||
* @li grad_softmax: A Tensor. Has the same shape and type as "softmax". | |||
* The format is NC1HWC0 or DN . \n | |||
*@par Attributes: | |||
* axes: An optional list of ints. Defaults to "{-1}" . \n | |||
*@par Outputs: | |||
*grad_x: A Tensor. Has the same shape and type as "softmax" . \n | |||
@@ -117,6 +120,7 @@ REG_OP(SoftmaxGrad) | |||
.INPUT(softmax, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT32,DT_INT8,DT_UINT8})) | |||
.INPUT(grad_softmax, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT32,DT_INT8,DT_UINT8})) | |||
.OUTPUT(grad_x, TensorType({DT_FLOAT16,DT_FLOAT,DT_INT32,DT_INT8,DT_UINT8})) | |||
.ATTR(axes, ListInt, {-1}) | |||
.OP_END_FACTORY_REG(SoftmaxGrad) | |||
/** | |||
@@ -889,7 +893,7 @@ REG_OP(Scale) | |||
*@par Inputs: | |||
*One input, including: | |||
*@li x: A Tensor. Must be 4-D shape, and only support the following types: float16, float32 . \n | |||
*x: A Tensor. Must be 4-D shape, and only support the following types: float16, float32 . \n | |||
*@par Attributes: | |||
*@li depth_radius: An optional int32, specifying the half-width of the normalization window. Defaults to "5". | |||
@@ -104,5 +104,60 @@ REG_OP(FusedBatchNormV2) | |||
.ATTR(data_format, String, "NHWC") | |||
.ATTR(is_training, Bool, true) | |||
.OP_END_FACTORY_REG(FusedBatchNormV2) | |||
/** | |||
* @brief: Large amount of data sort.First operator of TopK. | |||
* @par Inputs: | |||
* two input, including: | |||
* @li input_data: A Tensor. Data to be sorted. Support float16 | |||
* @li input_index: A Tensor. Range(0, 2048). Datatype and format is same as input_data. | |||
* @par Attributes: | |||
* @li k_num: Int.Number to be sorted. | |||
* @par Outputs: | |||
* 1 output, including: | |||
* @li output_proposal: A Tensor. Datatype and format is same as input_data. Proposal sorted for each channel. | |||
*/ | |||
REG_OP(SegmentSort) | |||
.INPUT(input_data, TensorType({DT_FLOAT16})) | |||
.INPUT(input_index, TensorType({DT_FLOAT16})) | |||
.OUTPUT(output_proposal, TensorType({DT_FLOAT16})) | |||
.REQUIRED_ATTR(k_num, Int) | |||
.OP_END_FACTORY_REG(SegmentSort) | |||
/** | |||
* @brief: Large amount of data sort.Second operator of TopK. | |||
* @par Inputs: | |||
* two input, including: | |||
* @li input_proposal: A Tensor. Proposal sorted for each channel. Support float16 | |||
* @par Attributes: | |||
* @li k_num: Int.Number to be sorted. | |||
* @par Outputs: | |||
* 1 output, including: | |||
* @li output_proposal: A Tensor. Datatype and format is same as input_data. Proposal sorted for each channel. | |||
*/ | |||
REG_OP(MultiMerge) | |||
.INPUT(input_proposal, TensorType({DT_FLOAT16})) | |||
.OUTPUT(output_proposal, TensorType({DT_FLOAT16})) | |||
.REQUIRED_ATTR(k_num, Int) | |||
.OP_END_FACTORY_REG(MultiMerge) | |||
/** | |||
* @brief: Large amount of data sort.Third operator of TopK. | |||
* @par Inputs: | |||
* two input, including: | |||
* @li input_proposal: A Tensor. Proposal sorted for each channel. Support float16 | |||
* @par Attributes: | |||
* @li k_num: Int.Number to be sorted. | |||
* @par Outputs: | |||
* 2 output, including: | |||
* @li output_data: A Tensor. Datatype and format is same as input_data. Data sorted. | |||
* @li output_index: A Tensor. int32. Data index. | |||
*/ | |||
REG_OP(SingleMerge) | |||
.INPUT(input_proposal, TensorType({DT_FLOAT16})) | |||
.OUTPUT(output_data, TensorType({DT_FLOAT16})) | |||
.OUTPUT(output_index, TensorType({DT_INT32})) | |||
.REQUIRED_ATTR(k_num, Int) | |||
.OP_END_FACTORY_REG(SingleMerge) | |||
}// namespace ge | |||
#endif // OPS_BUILT_IN_OP_PROTO_INC_NN_OPS_H_ |
@@ -227,12 +227,12 @@ REG_OP(AvgPool3DD) | |||
* @brief Computes AvgPool3DGrad function. | |||
* @par Inputs: | |||
* @li orig_input_shape: An NDHWC tensor of type float16, float32, or double. | |||
* @li grads: An NDHWC tensor of type int32. | |||
* @li orig_input_shape: An NDHWC tensor of type int32. | |||
* @li grads: An NDHWC tensor of type float16, float32, or double. | |||
* @par Attributes: | |||
* @li ksize: List of ints that has length 1, 3 or 5. The size of the window for each dimension of the input tensor. | |||
* @li strides:List of ints that has length 1, 3 or 5. The stride of the sliding window for each dimension of the input tensor. | |||
* @li ksize: List of ints that has length 5. The size of the window for each dimension of the input tensor. | |||
* @li strides:List of ints that has length 5. The stride of the sliding window for each dimension of the input tensor. | |||
* @li pads: List of ints, implicit zero paddings on both sides of the input. | |||
* @li ceil_mode: When true, will use ceil instead of floor in the formula to compute the output shape. | |||
* @li count_include_pad: When true, will include the zero-padding in the averaging calculation. | |||
@@ -242,6 +242,9 @@ REG_OP(AvgPool3DD) | |||
* @par Outputs: | |||
* @output: A mutable tensor with the same shape and type as "orig_input_shape". | |||
* @attention Constraints: | |||
* @li "ksize" is in the range [1, 255]. "strides" is in the range [1, 63] | |||
* @par Third-party framework compatibility | |||
* @li Compatible with the TensorFlow operator AvgPoolGrad. | |||
*/ | |||
@@ -269,8 +272,8 @@ REG_OP(AvgPool3DGrad) | |||
* @par Attributes: | |||
* @li orig_input_shape: List of ints that has length 5. The size of the window for each dimension of the input tensor. | |||
* @li ksize: List of ints that has length 3. The size of the window for each dimension of the input tensor. | |||
* @li strides:List of ints that has length 3. The stride of the sliding window for each dimension of the input tensor. | |||
* @li ksize: List of ints that has length 5. The size of the window for each dimension of the input tensor. | |||
* @li strides:List of ints that has length 5. The stride of the sliding window for each dimension of the input tensor. | |||
* @li pads: List of ints, implicit zero paddings on both sides of the input. | |||
* @li ceil_mode: When true, will use ceil instead of floor in the formula to compute the output shape. | |||
* @li count_include_pad: When true, will include the zero-padding in the averaging calculation. | |||
@@ -290,7 +293,7 @@ REG_OP(AvgPool3DGradD) | |||
.INPUT(grads, TensorType({DT_FLOAT16})) | |||
.OPTIONAL_INPUT(filter, TensorType({DT_FLOAT16})) | |||
.OPTIONAL_INPUT(multiplier, TensorType({DT_FLOAT16})) | |||
.OUTPUT(output, TensorType({DT_FLOAT16, DT_FLOAT32, DT_DOUBLE})) | |||
.OUTPUT(output, TensorType({DT_FLOAT16})) | |||
.REQUIRED_ATTR(orig_input_shape, ListInt) | |||
.REQUIRED_ATTR(ksize, ListInt) | |||
.REQUIRED_ATTR(strides, ListInt) | |||
@@ -621,7 +624,7 @@ REG_OP(MaxPoolV2) | |||
*@par Inputs: | |||
* One input: | |||
*x: An 4D Tensor. Supported type: float, double, int32, | |||
* x: An 4D Tensor. Supported type: float, double, int32, | |||
* uint8, int16, int8, int64, uint16, half, uint32, uint64. | |||
* Must set the format, supported format list ["NCHW, NHWC"]. \n | |||
@@ -635,8 +638,8 @@ REG_OP(MaxPoolV2) | |||
*@li padding: A required string. No default value . \n | |||
*@par Outputs: | |||
*y: A Tensor. Has the same type and format as input "x". | |||
*argmax: A Tensor. Has the same type and format as input "x". | |||
*@li y: A Tensor. Has the same type and format as input "x". | |||
*@li argmax: A Tensor. Has the same type and format as input "x". | |||
*@attention Constraints: | |||
*@li "ksize" is a list that has length 4: ksize[0] = 1 or ksize[3] = 1, | |||
* ksize[1] * ksize[2] <= 255. | |||
@@ -269,39 +269,42 @@ REG_OP(PadV3) | |||
.ATTR(paddings_contiguous, Bool, true) | |||
.OP_END_FACTORY_REG(PadV3) | |||
/** | |||
*@brief Pads a tensor. | |||
*@par Inputs: | |||
* @li x: A Tensor. Must be one of the following types: float16, float32. | |||
* @li paddings: A Tensor. Must be int32 type | |||
* paddings is a required input tensor. | |||
*@par Attributes: | |||
* @li constant_values: An optional int value for pad. | |||
* @li mode: An optional string, Defaults to "constant", indicates paddings mode, | |||
* support "constant", "reflect", "edge" | |||
* @li paddings_contiguous: An optional bool value, Defaults to true. | |||
* If true, paddings is arranged as [[begin0, end0], [begin1, end1], ...] | |||
* If false, paddings is arranged as [[begin0, begin1], ..., [end0, end1], ...] | |||
*@par Outputs: | |||
*y: A Tensor of the same type as "x". | |||
*@par Third-party framework compatibility: | |||
* Compatible with ONNX operator Pad. | |||
* @par Restrictions: | |||
* Warning: THIS FUNCTION IS DEPRECATED. Please use PadV3 instead. | |||
*/ | |||
REG_OP(PadV3D) | |||
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(paddings, TensorType({DT_INT32})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.ATTR(constant_values, Int, 0) | |||
.ATTR(mode, String, "constant") | |||
.ATTR(paddings_contiguous, Bool, true) | |||
.OP_END_FACTORY_REG(PadV3D) | |||
/** | |||
*@brief Pads a tensor. | |||
*@par Inputs: | |||
*x: A Tensor. Must be one of the following types: float16, float32, int8, uint8, int32. | |||
*@par Attributes: | |||
* @li paddings: An required "vector<vector<int>>". | |||
* For each dimension D of input, paddings[D, 0] indicates how many | |||
* values to add before the contents of tensor in that dimension, | |||
* and paddings[D, 1] indicates how many values to add after the | |||
* contents of tensor in that dimension. | |||
* @li constant_values: An optional int value for pad. | |||
* @li mode: An optional string, Defaults to "constant", indicates paddings mode, | |||
* support "constant", "reflect", "edge" | |||
* @li paddings_contiguous: An optional bool value, Defaults to true. | |||
* If true, paddings is arranged as [[begin0, end0], [begin1, end1], ...] | |||
* If false, paddings is arranged as [[begin0, begin1], ..., [end0, end1], ...] | |||
*@par Outputs: | |||
*y: A Tensor of the same type as "x". | |||
*@par Third-party framework compatibility: | |||
* Compatible with ONNX operator Pad. | |||
* @par Restrictions: | |||
* Warning: THIS FUNCTION IS DEPRECATED. Please use PadV3 instead. | |||
*/ | |||
REG_OP(PadV3D) | |||
.INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT8, DT_UINT8})) | |||
.OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_INT8, DT_UINT8})) | |||
.REQUIRED_ATTR(paddings, ListListInt) | |||
.ATTR(constant_values, Int, 0) | |||
.ATTR(mode, String, "constant") | |||
.ATTR(paddings_contiguous, Bool, true) | |||
.OP_END_FACTORY_REG(PadV3D) | |||
/** | |||
*@brief Create a diagonal tensor | |||
@@ -398,6 +401,36 @@ REG_OP(EmbeddingRankId) | |||
.OP_END_FACTORY_REG(EmbeddingRankId) | |||
/** | |||
*@brief EmbeddingLocalIndex, Sort statistics index according to rank_id \n | |||
*@par Inputs: | |||
* @li addr_table: A 2D tensor which last dimension must be 3. | |||
* @li index: A tensor with data type int32, int64, uint32, uint64. | |||
*@par Attributes: | |||
* @li row_memory: The size of Embedding vector in a row, the default is 320. | |||
* @li mode: String type, currently there are two options: 'mod' and 'order' | |||
*@par Outputs: | |||
* @li local_idx:Index on each server. | |||
* @li nums:The number of local_idx found on each server. | |||
* @li recover_idx:The sorted local_idx element is at the position corresponding | |||
* to the original input index. | |||
*@par Third-party framework compatibility | |||
* Compatible with the TensorFlow operator Diag. | |||
*/ | |||
REG_OP(EmbeddingLocalIndex) | |||
.INPUT(addr_table, TensorType({DT_UINT64})) | |||
.INPUT(index, TensorType({DT_INT64,DT_INT32,DT_UINT32,DT_UINT64})) | |||
.OUTPUT(local_idx, TensorType({DT_INT64,DT_INT32,DT_UINT32,DT_UINT64})) | |||
.OUTPUT(nums, TensorType({DT_INT64,DT_INT32,DT_UINT32,DT_UINT64})) | |||
.OUTPUT(recover_idx, TensorType({DT_INT64,DT_INT32,DT_UINT32,DT_UINT64})) | |||
.ATTR(row_memory, Int, 320) | |||
.ATTR(mode, String, "mod") | |||
.OP_END_FACTORY_REG(EmbeddingLocalIndex) | |||
/** | |||
* @brief Fill the value to a tensor has the specified shape. | |||
* @par Inputs: | |||
@@ -238,7 +238,6 @@ REG_OP(AscendRequantS16) | |||
.ATTR(dual_output, Bool, false) | |||
.ATTR(relu_flag, Bool, false) | |||
.OP_END_FACTORY_REG(AscendRequantS16) | |||
} // namespace ge | |||
#endif // OPS_BUILT_IN_OP_PROTO_INC_QUANTIZE_OPS_H_ |
@@ -528,6 +528,60 @@ REG_OP(LSTMInputGrad) | |||
.OP_END_FACTORY_REG(LSTMInputGrad) | |||
/** | |||
*@brief: Dynamic LSTM Cell grad calculation.Calculate the gradient of gates and cell state. | |||
*@par Inputs: | |||
*twelve inputs: | |||
*@li init_c:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li c:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li dy:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li dh:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li dc:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li i:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li j:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li f:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li o:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li tanhct:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li mask:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ. | |||
*@li t_state:A 4D Tensor. Must be one of the following types: float16, float32. The format must be FRACTAL_NZ . \n | |||
*@par Attributes: | |||
*@li forget_bias:An integer identifying the forget bias in the op. Default to 1. | |||
*@li activation:An string identifying the type of activation function in the op. Default to "tanh". Only tanh is currently supported . \n | |||
*@li direction:An string that marks the calculation sequence of the operator. Default to "Forward". | |||
*@li gate_order:An string mark the order of output 4 gate. Default to "ijfo". | |||
*@par Outputs: | |||
*two outputs: | |||
*@li dgate:A 4D Tensor. Must be one of the following types: float16. | |||
*@li dct_1:A 4D Tensor. Must be one of the following types: float16, float32. | |||
*@par Restrictions: | |||
*Warning: THIS FUNCTION IS EXPERIMENTAL. Please do not use. | |||
*/ | |||
REG_OP(DynamicLSTMGradCell) | |||
.INPUT(init_c, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(c, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(dy, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(dh, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(dc, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(i, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(j, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(f, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(o, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(tanhct, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(mask, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.INPUT(t_state, TensorType({DT_INT32, DT_INT32})) | |||
.OUTPUT(dgate, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.OUTPUT(dct_1, TensorType({DT_FLOAT16, DT_FLOAT})) | |||
.ATTR(forget_bias, Float, 1) | |||
.ATTR(activation, String, "") | |||
.ATTR(direction, String, "Forward") | |||
.ATTR(gate_order, String, "ijfo") | |||
.OP_END_FACTORY_REG(DynamicLSTMGradCell) | |||
/** | |||
*@brief: Basic LSTM Cell backward calculation.Calculate the gradient of input and hidden state. | |||
*@par Inputs: | |||
@@ -299,8 +299,6 @@ REG_OP(GatherElements) | |||
*@par Outputs: | |||
*y: A Tensor. Has the same type as "x" . \n | |||
*@attention Constraints: | |||
*@par Third-party framework compatibility | |||
* Compatible with the TensorFlow operator StridedSlice. | |||
*/ | |||
@@ -351,8 +349,6 @@ REG_OP(StridedSlice) | |||
*@par Outputs: | |||
*y: A Tensor. Has the same type as "x" . \n | |||
*@attention Constraints: | |||
*@par Third-party framework compatibility | |||
* Compatible with the TensorFlow operator StridedSlice. | |||
@@ -409,8 +405,6 @@ REG_OP(StridedSliceD) | |||
*@par Outputs: | |||
*output: A Tensor. Has the same type as "dy" . \n | |||
*@attention Constraints: | |||
*@par Third-party framework compatibility | |||
* Compatible with the TensorFlow operator StridedSliceGradD. | |||
@@ -468,8 +462,6 @@ REG_OP(StridedSliceGradD) | |||
*@par Outputs: | |||
*output: A Tensor has the same type as "dy" . \n | |||
*@attention Constraints: | |||
*@par Third-party framework compatibility | |||
* Compatible with the TensorFlow operator StridedSliceGrad. | |||
*/ | |||
@@ -2107,19 +2099,19 @@ REG_OP(InplaceIndexAdd) | |||
* @brief Replace the value of X with value according to mask. | |||
* @par Inputs: | |||
* three inputs, including: | |||
* @li x: A Tensor of dtype is float16 or float32 or int32 or int8. | |||
* @li mask: A Tensor of dtype float16 or float32 or int32 or int8. | |||
* @li value: A Tensor or scalar of dtype float16 or float32 or int32 or int8. \n | |||
* @li x: A Tensor of dtype is float16 or float32 or int64 or int32 or int8. | |||
* @li mask: A Tensor of dtype bool. | |||
* @li value: A Tensor of dtype float16 or float32 or int64 or int32 or int8. | |||
* @par Outputs: | |||
* @li y: A tensor. Must be one of the following dtypes: | |||
* float16, float32, int32, int8. | |||
* float16, float32, int64, int32, int8. | |||
*/ | |||
REG_OP(MaskedFill) | |||
.INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT32})) | |||
.INPUT(x, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT32, DT_INT64})) | |||
.INPUT(mask, TensorType({DT_BOOL})) | |||
.INPUT(value, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT32})) | |||
.OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT32})) | |||
.INPUT(value, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT32, DT_INT64})) | |||
.OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT16, DT_INT8, DT_INT32, DT_INT64})) | |||
.OP_END_FACTORY_REG(MaskedFill) | |||
/** | |||
@@ -28,5 +28,6 @@ | |||
#include "rt_model.h" | |||
#include "stream.h" | |||
#include "rt_stars.h" | |||
#include "rt_ffts.h" | |||
#endif // __CCE_RUNTIME_RT_H__ |
@@ -52,6 +52,7 @@ typedef enum tagModelTaskType { | |||
RT_MODEL_TASK_MODEL_EXIT, | |||
RT_MODEL_TASK_ALL_KERNEL, | |||
RT_MODEL_TASK_PROFILER_TRACE_EX, | |||
RT_MODEL_TASK_FFTS_TASK, | |||
} rtModelTaskType_t; | |||
typedef enum tagModelStreamType { | |||
@@ -107,88 +107,6 @@ TDT_LIB_EXPORT TDT_StatusT UpdateProfilingMode(const uint32_t logicDeviceId, con | |||
*/ | |||
TDT_LIB_EXPORT TDT_StatusT TsdSetMsprofReporterCallback(MsprofReporterCallback callback); | |||
/** | |||
* @ingroup CreateCmdParameterObj | |||
* @brief creat tsdclient func parameter obj. | |||
* | |||
* @par Function | |||
* creat tsdclient func parameter obj. | |||
* | |||
* @param type [IN] type tdt::TsdCmdType, tsd func type. | |||
* @param cmdParameterObj [IN] type void *, func parameter obj. | |||
* @retval TDT_OK Success | |||
* @retval TDT_INTERFACE_NOT_SUPPORT | |||
* | |||
* @par Dependency | |||
* @li libtsdclient.so: Library to which the interface belongs. | |||
* @li data_common.h: Header file where tdt::TsdCmdType and tdt::InputItem defined. | |||
* @li status.h: Header file where 'TDT_StatusT' defined | |||
*/ | |||
TDT_StatusT CreateCmdParameterObj(tdt::TsdCmdType type, void **cmdParameterObj); | |||
/** | |||
* @ingroup SetCmdParameterObjAttribute | |||
* @brief set cmdParameterObj input value. | |||
* | |||
* @par Function | |||
* set cmdParameterObj input value. | |||
* | |||
* @param type [IN] type tdt::TsdCmdType, tsd func type. | |||
* @param cmdParameterObj [IN] type void *, func parameter obj. | |||
* @param itemType [IN] type tdt::InputItem, func input type. | |||
* @param valuePtr [IN] type const void *, input value. | |||
* @param valueLength [IN] type int, input value length. | |||
* @retval TDT_OK Success | |||
* @retval TDT_INTERFACE_NOT_SUPPORT | |||
* | |||
* @par Dependency | |||
* @li libtsdclient.so: Library to which the interface belongs. | |||
* @li data_common.h: Header file where tdt::TsdCmdType and tdt::InputItem defined. | |||
* @li status.h: Header file where 'TDT_StatusT' defined | |||
*/ | |||
TDT_StatusT SetCmdParameterObjAttribute(tdt::TsdCmdType type, void *cmdParameterObj, tdt::InputItem itemType, const void *valuePtr, int valueLength); | |||
/** | |||
* @ingroup GetCmdParameterObjAttribute | |||
* @brief set cmdParameterObj input value. | |||
* | |||
* @par Function | |||
* set cmdParameterObj input value. | |||
* | |||
* @param type [IN] type tdt::TsdCmdType, tsd func type. | |||
* @param cmdParameterObj [IN] type void *, func parameter obj. | |||
* @param itemType [IN] type tdt::InputItem, func input type. | |||
* @param valuePtr [IN] type const void *, input value. | |||
* @param valueLength [IN] type int, input value length. | |||
* @retval TDT_OK Success | |||
* @retval TDT_INTERFACE_NOT_SUPPORT | |||
* | |||
* @par Dependency | |||
* @li libtsdclient.so: Library to which the interface belongs. | |||
* @li data_common.h: Header file where tdt::TsdCmdType and tdt::InputItem defined. | |||
* @li status.h: Header file where 'TDT_StatusT' defined | |||
*/ | |||
TDT_StatusT GetCmdParameterObjAttribute(tdt::TsdCmdType type, void *cmdParameterObj, tdt::InputItem itemType, void *valuePtr, int &valueLength); | |||
/** | |||
* @ingroup TsdClientCmd | |||
* @brief creat tsdclient func parameter obj. | |||
* | |||
* @par Function | |||
* creat tsdclient func parameter obj. | |||
* | |||
* @param type [IN] type tdt::TsdCmdType, tsd func type. | |||
* @param cmdParameterObj [IN] type void *, func parameter obj. | |||
* @retval TDT_OK Success | |||
* @retval TDT_INTERFACE_NOT_SUPPORT | |||
* | |||
* @par Dependency | |||
* @li libtsdclient.so: Library to which the interface belongs. | |||
* @li data_common.h: Header file where tdt::TsdCmdType and tdt::InputItem defined. | |||
* @li status.h: Header file where 'TDT_StatusT' defined | |||
*/ | |||
TDT_StatusT TsdClientCmd(tdt::TsdCmdType cmd, void *cmdParameterObj); | |||
#ifdef __cplusplus | |||
} | |||
#endif // __cplusplus | |||