CANN/atvoss ATVOSS开发快速入门 ATVOSS开发快速入门【免费下载链接】atvossATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss介绍ATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子模板库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。环境搭建一般分为如下场景您可以按需安装编译态针对仅编译不运行本项目的场景只需安装前置依赖和CANN toolkit包。运行态针对运行本项目的场景编译运行或纯运行除了安装前置依赖和CANN toolkit包还需安装驱动与固件、CANN ops包。环境准备系统要求ATVOSS支持源码编译进行源码编译前请确保如下基础依赖、NPU驱动和固件已安装。安装依赖本项目源码编译用到的依赖如下请注意版本要求。python 3.7.0建议版本 3.10gcc 7.3.0cmake 3.16.0pigz可选安装后可提升打包速度建议版本 2.4dos2unixgawkmakegoogletest仅执行UT时依赖建议版本 release-1.11.0安装驱动与固件运行态依赖运行算子时必须安装驱动与固件若仅编译算子可跳过本操作。单击下载链接根据实际产品型号和环境架构获取对应的Ascend-hdk-chip_type-npu-driver_version_linux-arch.run、Ascend-hdk-chip_type-npu-firmware_version.run包。安装指导详见《CANN 软件安装指南》中“安装指南 安装NPU驱动和固件”。环境准备支持的产品Ascend 950PR/Ascend 950DT手动安装CANN包1. 下载软件包单击下载链接选择最新发布日期对应的目录根据实际产品型号和环境架构获取Ascend-cann-toolkit_${cann_version}_linux-${arch}.run。2. 安装软件包安装社区CANN toolkit包# 需要确保安装目录权限至少为755 # 确保安装包具有可执行权限 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}表示CANN包版本号。${arch}表示CPU架构如aarch64、x86_64。${install_path}表示指定安装路径默认安装在/usr/local/Ascend目录。环境验证安装完CANN包或进入Docker容器后需验证环境和驱动是否正常。检查NPU设备仿真执行跳过此步骤# 运行npu-smi若能正常显示设备信息则驱动正常 npu-smi info检查CANN安装# 查看CANN Toolkit版本信息非root用户将/usr/local替换为${HOME} cat /usr/local/Ascend/cann/opp/version.info环境变量配置按需选择合适的命令使环境变量生效。# 默认路径安装以root用户为例非root用户将/usr/local替换为${HOME} source /usr/local/Ascend/cann/set_env.sh # 指定路径安装 source ${install_path}/cann/set_env.sh源码下载# 下载项目源码 git clone -b master gitgitcode.com:cann/atvoss.git[!NOTE] 注意 gitcode平台在使用 SSH 协议时请在本地生成 SSH 公钥进行克隆、推送等操作。编译执行开发者调用ATVOSS实现自定义算子开发后可通过单算子调用的方式验证算子功能。本仓提供部分算子实现及其调用样例具体请参考examples目录下的样例。编译example ATVOSS仓提供一键式编译examples的能力可以指定单个example编译(例如编译examples/rms_norm目录里的用例)bash scripts/build.sh -DSOCascend950 rms_norm单样例执行依赖Device环境 编译完成后会生成output/bin/rms_norm可执行文件./output/bin/rms_norm --shape512,3仿真执行不依赖Device环境 利用cannsim实现仿真运行, 将上述执行脚本写到自建的Shell脚本如run.sh中# run.sh ./output/bin/rms_norm --shape512,3给自建的run.sh增加可执行权限然后使用仿真命令cannsim执行chmod x run.sh cannsim record ./run.sh -s Ascend950 --gen-report执行完成后会在当前目录生成一个cannsim_xxx的结果文件夹。若提示如下信息则说明算子运行成功精度校验通过。更详细的用例执行流程请参阅样例介绍。Accuracy verification passed.UT测试可选编译执行host_utbash scripts/build.sh -DSOCascend950 --host_ut编译完成会直接运行host_ut并输出ut执行结果。ST测试可选编译stbash scripts/build.sh -DSOCascend950 --st ${st_case_name}执行stcannsim record ./output/bin/${st_case_name} -s Ascend950 --gen-report相关文档项目整体介绍 - 项目介绍目录结构 - 目录结构开发者指南 - 详细的开发流程API文档 - API文档【免费下载链接】atvossATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考