昇腾算子属性定义API
2026/7/18 11:56:37 网站建设 项目流程

OpAttrDef

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

功能说明

定义算子属性。

函数原型

class OpAttrDef { public: explicit OpAttrDef(const char *name); OpAttrDef(const OpAttrDef &attr_def); ~OpAttrDef(); OpAttrDef &operator=(const OpAttrDef &attr_def); OpAttrDef &AttrType(Option attr_type); OpAttrDef &Bool(void); OpAttrDef &Bool(bool value); OpAttrDef &Float(void); OpAttrDef &Float(float value); OpAttrDef &Int(void); OpAttrDef &Int(int64_t value); OpAttrDef &String(void); OpAttrDef &String(const char *value); OpAttrDef &ListBool(void); OpAttrDef &ListBool(std::vector<bool> value); OpAttrDef &ListFloat(void); OpAttrDef &ListFloat(std::vector<float> value); OpAttrDef &ListInt(void); OpAttrDef &ListInt(std::vector<int64_t> value); OpAttrDef &ListListInt(void); OpAttrDef &ListListInt(std::vector<std::vector<int64_t>> value); OpAttrDef &Version(uint32_t version); ge::AscendString &GetName(void) const; bool IsRequired(void); private: ... };

函数说明

表1OpAttrDef类成员函数说明

函数名称

入参说明

功能说明

AttrType

attr_type: 属性类型

设置算子属性类型,取值为:OPTIONAL(可选)、REQUIRED(必选)。

Bool

设置算子属性数据类型为Bool

Bool

value

设置算子属性数据类型为Bool,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

Float

设置算子属性数据类型为Float

Float

value

设置算子属性数据类型为Float,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

Int

设置算子属性数据类型为Int

Int

value

设置算子属性数据类型为Int,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

String

设置算子属性数据类型为String

String

value

设置算子属性数据类型为String,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

ListBool

设置算子属性数据类型为ListBool

ListBool

value

设置算子属性数据类型为ListBool,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

ListFloat

设置算子属性数据类型为ListFloat

ListFloat

value

设置算子属性数据类型为ListFloat,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

ListInt

设置算子属性数据类型为ListInt

ListInt

value

设置算子属性数据类型为ListInt,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

ListListInt

设置算子属性数据类型为ListListInt

ListListInt

value

设置算子属性数据类型为ListListInt,并设置属性默认值为value。属性类型设置为OPTIONAL时必须调用该类接口设置默认值。

Version

version:配置的版本号

新增可选属性时,为了保持原有单算子API(aclnnxxx)接口的兼容性,可以通过Version接口配置aclnn接口的版本号,版本号需要从1开始配,且应该连续配置(和可选输入统一编号)。配置后,自动生成的aclnn接口会携带版本号。高版本号的接口会包含低版本号接口的所有参数。

GetName

获取属性名称。

IsRequired

判断算子属性是否为必选,必选返回true,可选返回false。

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询