SuperAPI AI 工具集

external-cannbot-ops-ascendc-api-best-practices

编程与开发

查看项目

更新于 10-15 18:46

技能介绍

该技能面向 Ascend C 算子开发中的 API 使用问题,帮助开发者查询具体 API 的用法、参数含义与限制,并在遇到报错时找到正确替代方案。

用途:用户询问具体 API 用法(如 DataCopy 怎么用)、遇到参数错误或限制报错(如 repeatTimes、对齐问题)、需要查看最佳实践或避坑指南时触发。

主要能力:按 API 类别提供文档索引,涵盖算术运算(Add、Sub、Mul、Div、Adds、Muls)、归约操作(ReduceMax、ReduceSum)、数据搬运(DataCopy、DataCopyPad)、Transpose 与重排(TransDataTo5HD、Gather)、Buffer 管理(TBuf、TQue)、精度转换(Cast)、流水线同步(EnQue、DeQue、SetFlag)、Compare 256B 对齐、repeatTime 限制(repeatTimes ≤ 255)、API 限制与 Host Runtime(aclrtSetDevice、aclrtGetDeviceInfo)。同时提供场景索引,如 Softmax/LayerNorm、逐行处理(AR 模板)、Transpose 重排、多行广播(ARA 模板)、半精度加减法、非对齐数据、混合精度、流水线优化与性能调优。

使用方式:技能内容以接口文档与场景文档形式组织,包含 API 参数速查表,可直接按类别或场景检索;文中给出调试示例,如使用 AscendC::printf 做单点验证。

限制:明确列出 API 黑名单,生产代码禁止使用 GlobalTensor::SetValue() 与 GetValue(),替代方案为 DataCopyPad;DataCopy(GM↔UB)仅在搬运数据严格 32 字节对齐时允许,非对齐场景必须使用 DataCopyPad;仅允许调试时使用的接口已在文档中标注。其余文档编号与具体参数细节需查阅对应文档;资料未提供价格、平台支持范围及性能收益等事实,暂未提供。