CANN算子高性能实战样例库
cann-samples【免费下载链接】cann-samples算子领域高性能实战演进样例与体系化调优知识库项目地址: https://gitcode.com/cann/cann-samplesLatest News[2026/03] ops-samples更名为cann-samples。[2026/02] ops-samples项目上线提供算子领域高性能实战演进样例与体系化调优知识库。概述cann-samples是 CANNCompute Architecture for Neural Networks算子领域的实战样例仓库提供高性能实现示例与体系化调优知识库。本仓已集成代码仓库智能体点击徽章进入其专属页面开启在线智能代码学习与知识问答体验环境部署当前仓库已验证通过的社区版 CANN Toolkit 如下CANN 版本时间戳验证结果下载链接9.0.020260422000325096✅ PASSaarch64 / x86_649.0.020260325000325538✅ PASSaarch64 / x86_64请根据实际 CPU 架构从上述链接目录中自行选择对应的.run安装包。toolkit 安装包文件名格式如下Ascend-cann-toolkit_${cann_version}_linux-aarch64.runAscend-cann-toolkit_${cann_version}_linux-x86_64.run安装社区版 CANN Toolkit# 确保安装包具有可执行权限 chmod x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --install --force --install-path${install_path}${cann_version}表示 toolkit 安装包版本号需满足上文的最低版本要求。${arch}表示 CPU 架构如aarch64、x86_64。${install_path}表示指定安装路径默认安装在/usr/local/Ascend目录。配置环境变量安装完成后请先执行source ${install_path}/ascend-toolkit/set_env.sh请将${install_path}替换为 toolkit 的实际安装目录例如/usr/local/Ascend或${HOME}/Ascend。前置依赖编译用到的依赖如下请确保已安装并且满足版本要求cmake 3.16.0python 3.8.0zip⚡️快速入门配置项目NPU_ARCH为必填参数用于指定目标 NPU 架构。当前支持的取值如下NPU 平台NPU_ARCHAscend950dav-3510Ascend910B/Cdav-2201以 Ascend950 为例使用以下命令初始化构建配置CMake 会自动创建build目录cmake -S . -B build -DNPU_ARCHdav-3510在 Ascend910B/C 平台构建时请使用-DNPU_ARCHdav-2201。不支持当前架构的样例会在配置阶段跳过因此target help和后续构建只包含当前架构生效的样例。查看可用 Target可选编译前可先查看当前项目中支持单独构建的目标列表cmake --build build --target help编译与安装选项 A编译指定 Target部分构建将target_name替换为上一步查到的目标名称cmake --build build --target target_name选项 B编译所有 Target推荐全量构建支持多线程加速构建cmake --build build --parallel安装编译产物将生成的二进制文件整理到build_out目录cmake --install build --prefix ./build_out运行验证选项A: 运行指定的Target(以vector_add为例)上一步将target_name替换为vector_add编译成功后编译输出二进制文件在./build/Samples/0_Introduction/vector_add/目录下即编译产物在第一步构建的build文件夹下与样例目录对应的位置执行如下命令运行./build/Samples/0_Introduction/vector_add/vector_add可以得到结果如下Vector add completed successfully!选项B: 运行全量编译并安装后的matmul用例完成第三步的安装后所有编译生成文件都在build_out文件夹下matmul用例的可运行文件在./build_out/0_Introduction/matmul目录下执行如下命令运行./build_out/0_Introduction/matmul/matmul 100 50 200可以得到结果如下matmul run successfully!开发者可自行尝试运行build_out下的其它用例。目录结构├── Samples # 样例目录 │ ├── 0_Introduction # 入门样例 │ ├── 1_Features # 功能特性样例 │ │ ├── memory_optimization # 访存优化方法 │ │ ├── instruction_optimization # 指令优化方法 │ │ ├── system_optimization # 系统优化方法 │ │ └── hardware_features # 芯片特性样例 │ ├── 2_Performance # 性能调优样例 │ └── CMakeLists.txt ├── cmake # 工程编译配置 ├── .clang-format # 代码格式配置 ├── CMakeLists.txt # 根 CMake 配置 ├── LICENSE # 许可证 ├── SECURITY.md # 安全声明 └── README.md # 项目说明文档相关信息许可证所属SIG联系我们本项目的功能与文档会持续更新。问题反馈通过 GitCode Issues 提交问题社区互动通过 GitCode Discussions 参与交流【免费下载链接】cann-samples算子领域高性能实战演进样例与体系化调优知识库项目地址: https://gitcode.com/cann/cann-samples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考