cann/cannbot-skills算子README模板
2026/7/12 23:13:08 网站建设 项目流程

{算子名称}

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

本模板用于编写开源算子 README 文档(gitcode 仓)。 文档存放路径:operators/{operator_name}/README.md在线参考:https://gitcode.com/cann/ops-math/blob/master/math/add/README.md

产品支持情况

[!NOTE]

写作规范:推荐表格形式,罗列支持的产品型号并打 √。

  • 按产品实际支持情况填写
  • 产品顺序不要改变
  • 若新增产品,需所有算子全量适配
  • 产品形态介绍参见昇腾产品形态说明
  • 仅算子支持麒麟芯片,aclnn 不涉及
产品是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品×
Atlas 推理系列产品×
Atlas 训练系列产品
Kirin xxx

功能说明

[!NOTE]

写作目标:阐明算子功能、计算原理、参数规格、使用场景等。

写作规范:推荐无序列表形式,一般包括如下维度:

  • 算子功能(必选):以一句话形式简洁明了阐述功能
  • 计算公式(可选):复杂功能可借助公式介绍实现原理或不同场景下的计算过程
  • 其他维度(可选):支持无序列表拓展,如计算示例、流程图等
  • 算子功能:完成加法计算。

  • 计算公式:

    $$ y = x1 + alpha \times x2 $$

参数说明

[!NOTE]

写作目标:阐明算子定义的参数含义、作用、规格等信息。

写作规范:采用表格形式,一般包括如下维度:

  • 参数名:解释算子定义文件中的参数,顺序保持一致(如op_host/{op}_def.cppop_graph/{op}_proto.h
  • 输入/输出/属性:明确参数定位,默认是必选,若为可选一般为可选输入/可选输出/可选属性
  • 描述:提供参数含义、功能、使用场景等介绍,包括与公式变量的映射关系
  • 数据类型:参数支持的 data type,可不带DT_前缀
  • 数据格式:参数支持的数据排布方式,可不带FORMAT_前缀
  • 其他维度(可选):支持表格字段扩展,如 shape 规格等

芯片差异:表格里罗列所有芯片描述的并集,差异化描述在表格外以"产品1、产品2:xx描述"形式组织

参数名输入/输出/属性描述数据类型数据格式
x1输入公式中的输入x1。FLOAT、FLOAT16、INT32、INT64、INT16、INT8、UINT8、BOOL、COMPLEX128、COMPLEX64、BFLOAT16ND
x2输入公式中的输入x2。FLOAT、FLOAT16、INT32、INT64、INT16、INT8、UINT8、BOOL、COMPLEX128、COMPLEX64、BFLOAT16ND
alpha可选属性
  • alpha的描述xxx。
  • 默认值为1.0。
FLOAT-
y输出公式中的y。FLOAT、FLOAT16、INT32、INT64、INT16、INT8、UINT8、BOOL、COMPLEX128、COMPLEX64、BFLOAT16ND
  • Atlas 训练系列产品 :不支持BFLOAT16。

约束说明(可选)

[!NOTE]

写作目标:阐明算子使用过程中的注意事项,例如参数组合约束、适用场景、对业务影响、算子性能或精度等。

写作规范

  • 本章为可选,若无约束可不呈现本章内容;若有请采用无序列表形式
  • 算子原生语义的通用约束不写
  • 从使用场景、硬件/软件资源、对系统/网络性能或精度影响等角度说明
  • 列出该算子在昇腾硬件上实现时的特有限制

调用说明

[!NOTE]

写作目标:提供算子调用方法,尽量是可直接拷贝运行的示例代码,方便快速验证。

写作规范:推荐表格形式,如果内容复杂可采用其他形式。

  • 调用方式:支持 aclnn、图模式等方式调用算子,请提供至少一种方式
  • 样例代码:请在算子examples目录提供调用示例代码,文件命名规则为test_${invoke_mode}_${op_name}
  • 说明:针对不同调用方式提供补充介绍

注意:只要样例代码examples/cpp有变化,请同步修改算子 README

调用方式调用样例说明
aclnn调用test_aclnn_{op_name}参见算子调用完成算子编译和验证。
图模式调用test_geir_{op_name}

参考资源(可选)

[!NOTE]

写作目标:提供除算子功能、规格、调用外的其他补充介绍,如算子设计文档(Tiling/Kernel 设计)、参考文献等。

写作规范:本章为可选,若无参考资源可不呈现本章内容;若有请采用无序列表形式。

  • 文档位置:放在与 aclnn md 同层级目录下,docs/xxx算子设计文档.md
  • 图片建议放在最外仓docs/zh/figures目录下
  • 算子设计原理

【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills

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

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

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

立即咨询