
runtime运行时【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtimeLatest News[2026/4] 支持Ascend 950PR/Ascend 950DT芯片。持续增强AclGraph功能优化文档结构提升开发者体验。[2025/12] runtime项目首次上线。概述本仓提供CANN运行时组件和维测功能组件。Runtime组件提供Ascend NPU运行时用户编程接口和运行时核心实现包括设备管理、流管理、Event管理、内存管理、任务调度等功能。维测功能组件包括性能数据采集、模型和算子Dump、日志、错误日志记录等功能。性能调优msprof模块进行性能调优时可以使用性能调优工具来采集和分析运行在昇腾AI处理器SoCNPU IP加速器上的AI任务各个运行阶段的关键性能指标用于可根据输出的性能数据快速定位软、硬件性能瓶颈提升AI任务性能分析的效率。精度调试adump模块提供Ascend NPU运行时用户Dump单算子或模型每一层算子的输入/输出数据用于与指定算子或模型进行对比定位精度问题提供Ascend NPU运行异常时Dump异常算子的输入/输出数据、Workspace信息Tiling信息用于分析AI Core Error问题。日志log模块日志提供记录进程执行过程信息的能力在其他进程运行时日志的接口提供进程打印和落盘日志的功能方便系统故障的诊断分析快速实现问题定位。该模块下的msnpureport为命令行工具支持导出device侧日志和查询设置device侧状态等功能。版本配套本项目源码会跟随CANN软件版本发布关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意为确保您的源码定制开发顺利进行请选择配套的CANN版本与Gitcode标签源码使用master分支可能存在版本不匹配的风险。目录结构关键目录结构如下├── cmake # 工程编译目录 ├── docs # 文档介绍 ├── example # 基于acl接口开发的样例代码 ├── include # 3.1包整体对外发布的头文件 | ├── dfx # dfx相关头文件 | ├── driver # 驱动相关头文件 | ├── external # 本仓对外提供的头文件 | ...... ├── pkg_inc # 仓间管控相关头文件 ├── scripts # 辅助构建相关文件 ├── src # 所有3.1包内各模块的源代码 | ├── acl # acl对外api存放目录 | ├── dfx # dfx模块目录 | | ├── adump # adump模块目录 | | ├── log # log模块目录 | | ├── msprof # msprof模块目录 | | ├── trace # trace模块目录 | | ...... | ├── mmpa # mmpa模块目录 | ├── runtime # runtime模块目录 | ...... ├── stub # 打桩相关目录 ├── tests # UT用例 ...... ├── CMakeLists.txt # 构建编译配置文件 ├── build.sh # 项目工程编译脚本环境部署环境安装手动安装对于有昇腾设备的开发者若您想手动搭建昇腾环境请参考下述步骤。安装基础依赖本项目基础依赖如下请注意版本要求。python 3.7.0 (python 3.7 python3.8官方已经EOLCANN将于2027年3月停止支持请升级到 3.9.0版本)pip3gcc 7.3.0, 13cmake 3.16.0ccacheautoconfgperflibtoolmakeUbuntu/Debian操作系统安装命令示例如下sudo apt install python3 python3-pip python3-dev gcc-9 g-9 cmake ccache autoconf gperf libtool libtool-bin makeCentOS/EulerOS操作系统安装命令示例如下sudo yum install python3 python3-pip python3-devel gcc gcc-c cmake ccache autoconf gperf libtool make安装软件场景1体验master版本能力或基于master版本进行开发安装驱动与固件可选仅运行样例依赖若仅编译runtime包可跳过本操作步骤。运行runtime样例时须安装驱动与固件。下载和安装操作请参考《CANN软件安装指南》中“准备软件包”和“安装NPU驱动和固件”章节。安装CANN包请单击下载链接选择最新时间版本并根据产品型号和环境架构下载对应包。安装命令如下更多指导参考《CANN软件安装指南》。安装CANN toolkit包# 确保安装包具有可执行权限 chmod x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --install --install-path${install_path}${cann_version}表示CANN包版本号。${arch}表示CPU架构如aarch64、x86_64。${install_path}表示指定安装路径需要与Toolkit包安装在相同路径root用户默认安装在/usr/local/Ascend目录。安装CANN ops算子包可选仅运行样例依赖。若仅编译runtime包可跳过本操作步骤。运行runtime样例时须安装CANN ops算子包。# 确保安装包具有可执行权限 chmod x Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run --install --install-path${install_path}${soc_name}表示NPU型号名称。产品soc_nameAtlas A2 训练系列产品/Atlas A2 推理系列产品910bAtlas A3 训练系列产品/Atlas A3 推理系列产品A3Ascend 950PR/Ascend 950DT产品950场景2体验已发布版本能力或基于已发布版本进行开发请访问CANN官网下载中心选择发布版本仅支持CANN 8.5.0及后续版本、产品型号和环境架构参考CANN 快速安装指导完成安装。环境验证安装完CANN包后需验证环境和驱动是否正常。检查NPU设备# 运行npu-smi若能正常显示设备信息则驱动正常 npu-smi info检查CANN版本# 查看CANN Toolkit开发套件包的version字段提供的版本信息默认路径安装arch表示CPU架构aarch64或x86_64。 cat /usr/local/Ascend/cann/arch-linux/ascend_toolkit_install.info # 查看CANN ops包版本信息默认路径安装 cat /usr/local/Ascend/cann/${arch}-linux/ascend_ops_install.info源码构建本项目支持源码构建编译运行前需参考以上步骤完成环境部署。下载源码bash # 下载项目源码以master分支为例 git clone https://gitcode.com/cann/runtime.git 环境变量配置按需选择合适的命令使环境变量生效。# 默认路径安装以root用户为例非root用户将/usr/local替换为${HOME} source /usr/local/Ascend/cann/set_env.sh # 指定路径安装 source ${install_path}/cann/set_env.sh编译runtime包若您的编译环境可以访问网络编译过程中将自动下载开源第三方软件可以使用如下命令进行编译export CMAKE_TLS_VERIFY0 bash build.sh若您的编译环境无法访问网络可以直接调用脚本获取开源组件压缩包脚本将自动下载至当前新建的third_party目录中python download_3rd_party.py下载完成后可以使用如下命令进行编译bash build.sh --cann_3rd_lib_paththird_party更多编译参数可以通过bash build.sh -h查看。编译完成之后会在build_out目录下生成cann-npu-runtime_version_linux-arch.run软件包。 version表示版本号。 arch表示操作系统架构取值包括x86_64与aarch64。开源第三方软件依赖runtime在编译时依赖的第三方开源软件列表如下开源软件版本下载地址abseil-cpp20230802.1abseil-cpp-20230802.1.tar.gzacl-compat (x86_64)8.5.0acl-compat_8.5.0_linux-x86_64.tar.gzacl-compat (aarch64)8.5.0acl-compat_8.5.0_linux-aarch64.tar.gzboost1.87.0boost_1_87_0.tar.gzeigen5.0.0eigen-5.0.0.tar.gzgoogletest1.14.0googletest-1.14.0.tar.gzjson3.11.3include.ziplibboundscheck1.1.16libboundscheck-v1.1.16.tar.gzlibseccomp2.5.4libseccomp-2.5.4.tar.gzmockcpp2.7-h5mockcpp-2.7.tar.gzmockcpp_patch2.7-h5mockcpp-2.7-h5.patchopenssl3.0.9openssl-openssl-3.0.9.tar.gzprotobuf25.1protobuf-25.1.tar.gzmakeself2.5.0makeself-release-2.5.0-patch1.tar.gzcann-cmakemaster-002cmake-master-002.tar.gz[!NOTE]注意 如果您从其他地址下载请确保版本号一致。安装runtime包执行如下命令安装编译生成的runtime软件包。./cann-npu-runtime_version_linux-arch.run --full --install-path${install_path}${version}表示run包版本号。${arch}表示CPU架构如aarch64、x86_64。${install_path}表示指定安装路径可选默认安装在/usr/local/Ascend目录。安装完成之后用户编译生成的Runtime软件包会替换已安装CANN开发套件包中的Runtime相关软件。本地验证编译完成后用户可以进行开发测试验证项目功能是否正常本节将介绍如何做单元测试(UT: Unit Testing)。说明 执行 UT 用例依赖 googletest 单元测试框架详细介绍参见 googletest 官网。编译执行UT测试用例bash tests/build_ut.sh --utacl --targetascendcl_utest -c --cann_3rd_lib_path{your_3rd_party_path}指定测试模块通过--ut指定模块名称上述示例中指定的模块名称为acl。runtime仓中的UT用例按模块分类归档在tests/ut/的不同目录下所有模块名称以及和用例路径的映射关系可以查询tests/build_ut.sh中的ut_path_map例如acl模块的UT在tests/ut/acl下runtime模块的UT在tests/ut/runtime/runtime下。指定测试目标文件通过--target指定待测用例编译出的具体目标文件。各个模块所包含的目标文件可以从对应模块的CMakeLists.txt文件中查看。例如对于acl从tests/ut/acl/CMakeLists.txt中的add_custom_target可以看出将编译目标命名为ascendcl_utest并且包含了ascendcl_c_utest和ascendcl_cpp_utest两个目标文件。上述示例中通过指定target为ascendcl_utest表示编译执行acl模块中的所有用例。也可以指定具体的目标文件进行编译执行(可以同时指定多个用空格分隔)。其他编译参数通过-c可以获取覆盖率如无需获取覆盖率可省略此参数。需先安装lcov(Ubuntu / Debiansudo apt install lcovopenEulersudo dnf install lcov)若因版本差异报错请按提示调整脚本参数。通过--asan可以启用AddressSanitizer进行内存错误检测如无需启用可省略此参数。AddressSanitizer通常不需要单独安装已集成在gcc中。如需单独安装asan请确保与gcc版本兼容例如gcc 9.5.0匹配libasan6版本。通过--cann_3rd_lib_path指定第三方依赖的路径若在联网环境中可省略此参数。更加详细的编译命令参数可以通过bash tests/build_ut.sh -h查看。UT测试用例编译的过程件以及产物位于output和build下如果想清除历史编译记录可以执行如下操作rm -rf output/ build/接下来可参考example目录下的样例进一步了解本仓。学习教程Runtime提供了开发指南、API参考详细可参见 Runtime 参考资料。相关信息贡献指南安全声明许可证【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考