
源码构建【免费下载链接】graph-autofusionGraph-autofusion 是一个面向昇腾Ascend芯片的轻量级、解耦式组件集合旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件未来将持续开放更多自动融合相关模块。项目地址: https://gitcode.com/cann/graph-autofusion1. 环境准备在源码编译前请先完成基础环境搭建。具体操作请参见快速安装。2. 环境验证安装完CANN包后需验证环境是否正常。# 查看CANN Toolkit的version字段提供的版本信息默认路径安装arch表示CPU架构aarch64或x86_64。WebIDE场景下请将/usr/local替换为/home/developer。 cat /usr/local/Ascend/cann/arch-linux/ascend_toolkit_install.info # 查看CANN ops的version字段提供的版本信息默认路径安装opsname表示待查询的ops子包的名称请用户根据实际安装路径替换。WebIDE场景下请将/usr/local替换为/home/developer。 cat /usr/local/Ascend/cann/arch-linux/ascend_ops_install.info3. 环境变量配置根据实际场景选择合适的命令# 默认路径安装以root用户为例非root用户将/usr/local替换为${HOME} source /usr/local/Ascend/cann/set_env.sh # 指定路径安装 source ${install_path}/cann/set_env.sh4. 源码编译4.1 下载源码若您的编译环境可以访问网络编译过程中将自动下载开源第三方软件可以使用如下命令进行源码下载git clone https://link.gitcode.com/i/9aa04fab6794545584f99a83b85488b9.git若您的编译环境无法访问网络您需要通过下列步骤在联网环境中下载源码及开源软件压缩包并手动上传至您的编译环境中在联网环境中进入本项目主页, 通过下载ZIP或clone按钮根据指导完成源码下载。下载makeselfcann-cmake第三方开源软件。开源软件版本下载地址makeself2.5.0makeself-release-2.5.0-patch1.tar.gzcann-cmakemaster-002cmake-master-002.tar.gz将源码及第三方开源软件上传到离线编译环境中解压缩源码。# 解压缩源码 unzip graph-autofusion.zip在源码同级目录创建open_source目录将第三方开源软件压缩包放到open_source目录下解压缩后改名。# 创建open_source目录 mkdir open_source # 将第三方开源软件压缩包放到open_source目录下 mv makeself-release-2.5.0-patch1.tar.gz open_source/ mv cmake-master-002.tar.gz open_source/ # 解压缩第三方开源软件压缩包并改名cann-cmake压缩包保持不变 cd open_source tar -zxvf makeself-release-2.5.0-patch1.tar.gz mv makeself-release-2.5.0 makeself完成后文件目录如下├── graph-autofusion # 解压后的源码仓 │ ├── cmake │ └── ... ├── open_source # 三方开源软件 │ └── makeself │ ├── COPYING │ ├── Makefile │ ├── README.md │ └── ... │ └── cmake-master-002.tar.gz4.2 安装依赖4.2.1 安装依赖以下所列为源码编译用到的依赖请注意版本要求[!NOTE] 注意 如使用镜像方式进行项目体验所有依赖已包含在init_env.sh中可跳过此安装依赖步骤。Python3 3.8.0 (建议使用Python虚拟环境)[!NOTE] 说明python宣布3.8.x已经EOLCANN将在10.0.0停止对该版本的支持请升级到3.9.x的版本创建虚拟环境并激活python3 -m venv venv source venv/bin/activate安装依赖cd graph-autofusion pip3 install -r super_kernel/requirements-dev.txtCMake 3.16.0 (建议使用3.20.0版本)# Ubuntu/Debian操作系统安装命令示例如下其他操作系统请自行安装 sudo apt-get install cmake4.2.2 检查编译环境环境准备完成后建议执行环境检查脚本确认当前环境是否满足编译要求。bash scripts/check_env.sh检查结果说明如下状态含义处理建议[PASS]检查通过无需处理[WARNING]非关键依赖缺失或版本存在偏差建议修复不影响核心编译[ERROR]关键依赖缺失或版本不兼容必须修复否则无法编译[!NOTE] 注意 环境检查脚本中所有的检查项和版本约束严格来源于 docs/build.md 和 super_kernel/requirements-dev.txt如文档和依赖更新请同步修改脚本。4.3 编译进入源码仓根目录执行以下命令进行编译bash build.sh --pkg更多编译参数可以通过bash build.sh -h查看执行成功后会在build_out目录下生成cann-graph-autofusion_${cann_version}_linux-${arch}.run。--pkg 表示构建 run 包。${cann_version} 表示 cann 版本号。${arch} 表示 CPU 架构如 aarch64、x86_64。4.4 测试验证编译完成后用户可以进行开发者测试在执行本章节操作之前确保已完成环境准备。UT 验证bash build.sh -u执行完成后根据输出日志查看UT测试执行情况用例执行成功会打印passed并且无failed打印确认所有测试用例通过。ST 验证bash build.sh -s执行完成后根据输出日志查看ST测试执行情况用例执行成功会打印passed并且无failed打印确认所有测试用例通过。覆盖率验证bash build.sh -u -c # UT 覆盖率 bash build.sh -s -c # ST 覆盖率 bash build.sh -c # UT 覆盖率 ST 覆盖率执行完成后根据输出日志查看覆盖率情况确认所有测试用例通过。4.5 安装与卸载安装本地验证完成后可执行如下命令安装编译生成的软件包执行安装命令时请确保安装用户对软件包具有可执行权限。# 如果需要指定安装路径则加上 --install-path${install_path} ./cann-graph-autofusion_${cann_version}_linux-${arch}.run --full --quiet --pylocal[!NOTE]说明此处的安装路径无论默认还是指定需与前面安装 cann-toolkit 包时的路径保持一致。--full 全量模式安装。--install-path 指定安装路径不指定则默认安装在/usr/local/Ascendroot 用户或${HOME}/Ascend非 root 用户目录。--quiet 静默安装跳过人机交互环节。--pylocal 安装 run 包时是否将包内的 .whl 跟随 run 包安装路径来安装。若选择该参数则 .whl 安装在${ascend_install_path}/cann/python/site-packages路径下。若不选择该参数则 .whl 安装在本地 python 路径下例如/usr/local/python3.7.5/lib/python3.7/site-packages。--autofuse 当前装包默认不安装autofuse组件相关编译产物需要添加此选项来安装autofuse。更多安装选项请使用 --help 选项查看。卸载若您想卸载安装的软件包可执行如下命令# 如果是安装到指定路径情况则加上 --install-path${install_path} ./cann-graph-autofusion_${cann_version}_linux-${arch}.run --uninstall安装完成后可参考样例运行尝试运行样例。【免费下载链接】graph-autofusionGraph-autofusion 是一个面向昇腾Ascend芯片的轻量级、解耦式组件集合旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件未来将持续开放更多自动融合相关模块。项目地址: https://gitcode.com/cann/graph-autofusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考