SuperAPI AI 工具集

external-cannbot-ops-ascendc-direct-invoke-template

通用与其它

查看项目

更新于 10-15 17:19

技能介绍

用途:为 Ascend C Kernel 直调工程提供可复制的模板与改造指南。先按算子类型路由到模板,再按 [MODIFY] 注释改造。

主要能力与场景路由:Vector(A 分支)入口为 references/add_custom/,适合 add、mul、relu、softmax、layernorm 等逐元素/归约算子;mxfp8 matmul + eltwise 融合入口为 references/matmul_fusion_kernel/ 与 references/matmul_fusion_guide.md,属 Cube+Vector 融合专用变种,该指南独立自洽。不支持纯 Matmul/Cube(非融合)及其他 Cube+Vector 混合(如 matmul+softmax)。

使用方式(Vector 分支):复制样例目录,未创建算子目录时用 cp -r references/add_custom <your_op>,已存在时用 cp -r references/add_custom/* <your_op>,随后 cd <your_op>;全局替换算子名 add_custom → <your_op>(_kernel/_torch/_tiling 为固定后缀);按 [MODIFY] 改造类名与 kernel 函数名、Tiling 结构体(add_custom_tiling.h)、计算逻辑(add_custom_kernel.asc)、输入/输出数量以及 CMakeLists.txt 目标名;编译运行用 bash run.sh,仅运行测试可加 --skip-build,run.sh 运行前会自动删除旧 output/output.bin 以保证精度验证读取新输出。

文件结构:op_kernel 含 tiling 与纯 kernel;op_host 含 Host 与 main 入口、数据读写工具;op_extension 含 PyTorch 接入与注册;scripts 含数据生成、Golden、精度验证与 PyTorch 测试;另有 CMakeLists.txt、run.sh、README.md。可学习 TPipe+TQue 管理 UB Buffer、CopyIn→Compute→CopyOut、EnQue/DeQue 同步、Host 流程。内置 PyTorch 对接,编译后用 torch.ops.load_library 与 torch.ops.npu.add_custom 调用。

限制:具体平台、版本与性能未在资料中提供。