CANN asc-devkit算子参数版本控制API

📅 2026/7/18 10:34:52
CANN asc-devkit算子参数版本控制API
Version【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明算子编译部署后会自动生成单算子API(aclnnxxx)接口接口中的输入输出参数和算子原型定义中保持一致。新增可选输入时为了保持原有单算子API(aclnnxxx)接口的兼容性可以通过Version接口配置aclnn接口的版本号版本号需要从1开始配且应该连续配置和可选属性统一编号。配置后自动生成的aclnn接口会携带版本号。高版本号的接口会包含低版本号接口的所有参数。如下样例所示的原型定义class AddCustom : public OpDef { public: explicit AddCustom(const char* name) : OpDef(name) { this-Input(x) .ParamType(DYNAMIC) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}); this-Input(x1) .ParamType(OPTIONAL) .Version(1) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}); this-Input(x2) .ParamType(OPTIONAL) .Version(2) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}); this-Output(y) .ParamType(DYNAMIC) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}); this-AICore().AddConfig(xxx); } }; OP_ADD(AddCustom);会自动生成3个版本的aclnn接口定义如下aclnnStatus aclnnAddCustomGetWorkspaceSize( const aclTensorList *x, const aclTensorList *out, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus aclnnAddCustom( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, const aclrtStream stream); aclnnStatus aclnnAddCustomV1GetWorkspaceSize( const aclTensorList *x, const aclTensor *x1Optional, const aclTensorList *out, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus aclnnAddCustomV1( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, const aclrtStream stream); aclnnStatus aclnnAddCustomV2GetWorkspaceSize( const aclTensorList *x, const aclTensor *x1Optional, const aclTensor *x2Optional, const aclTensorList *out, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus aclnnAddCustomV2( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, const aclrtStream stream);函数原型OpParamDef Version(uint32_t version)参数说明参数输入/输出说明version输入指定的版本号。返回值说明OpParamDef算子定义OpParamDef请参考OpParamDef。约束说明无【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考