
代码结构与构建指南【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills本仓算子代码的默认目录/文件结构与编译验证方法。默认结构以ascendc-direct-invoke-template的工程模板为准具体命令与结构由该模板给出本文给通用指南。算子代码结构默认单个算子为独立工程目录。默认结构以ascendc-direct-invoke-template复制出的工程模板为准通常包含operators/{operator}/ ├── CMakeLists.txt # 编译配置 ├── run.sh # 编译 运行 比对入口 ├── op_kernel/ # Kernel 侧Tiling 数据结构 Kernel 实现.asc ├── op_host/ # Host 侧Tiling 计算、内存管理、 调用.asc ├── op_extension/ # PyTorch 直调层TORCH_LIBRARY 注册可选 ├── scripts/ # 测试/验证脚本 └── docs/ # 设计/计划等文档Kernel 代码文件为.ascASC 编译器只识别.ascTiling 参数计算在 Host 侧完成如op_host中的ComputeXxxTiling()不在 Kernel 的Init()/Process()中计算。编译配置要点CMakeLists.txt 需满足 Ascend C 构建要求find_package(ASC REQUIRED)project(... LANGUAGES ASC CXX)用add_executable链接tiling_api/register/platform/m/dl设置--npu-arch取值按目标芯片须与目标架构一致关键环境变量为ASCEND_HOME_PATH不是ASCEND_HOME编译器bisheng位于$ASCEND_HOME_PATH/arch/ccec_compiler/bin/bishengCMake 经find_package(ASC)自动发现。构建流程mkdir build cd build cmake .. make或经模板提供的run.sh完成「编译 运行 比对」。验证程度仅编译通过不等于验证通过必须实际运行测试项要求独立编译cmake .. make成功无代码级警告分级功能Level 08-16 元素/ Level 11K 元素/ Level 2极值、零值逐级通过非对齐场景数据长度非 32 字节倍数时正确DataCopyPad 路径PyTorch 通路编出lib{operator}_ops.sotorch.ops.npu.{operator}()跑通端侧开发不含此项存在失败用例时验证结论判为失败禁止标为通过。【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考