metadef,即昇腾元数据定义,即相关数据结构以及对外接口定义.
metadef
├── error_manager # 相关错误码定义
├── exe_graph
| ├── lowering # 执行图构图接口相关实现
| ├── runtime # 执行图执行接口相关实现
├── graph # 图相关接口实现,包括图缓存模块、序列化
├── inc
| ├── common # 一些公共头文件
| ├── exe_graph # 执行图头文件
| ├── external # 对外发布的头文件(保证兼容性)
| ├── graph # 图接口相关头文件
| ├── register # 算子注册头文件
├── proto # 图相关proto定义
├── register # 算子注册实现
├── tests # 开发者测试目录
在源码编译前,请确保环境满足如下要求:
说明: Metadef仓源代码与CANN软件包存在配套关系,源码编译前请获取并安装对应版本的CANN软件包。
sudo apt-get install ccache
graph-easy
(可选)sudo apt-get install libgraph-easy-perl
Metadef
仓依赖一些第三方开源库, 在正式编译Metadef
之前,需要首先完成依赖的三方库编译:
bash build_third_party.sh
此命令下载所有依赖的第三方库源码,并完成完成编译。如果不指定任何选项,上述脚本从gitee
下载三方库源代码,完成编译后,二进制生成到./output/third_party
目录。您可以通过-h
查看脚本选项,选择期望的下载方式和生成路径。该脚本仅需在编译Metadef
前调用一次,生成的二进制目录不会被其他脚本删除。
当指定源代码目录为本地目录时,本地目录的组织形式为:
some-path-name
└── libs
├── abseil-cpp
│ └── abseil-cpp-20220623.1.tar.gz
├── benchmark
│ └── v1.5.5.tar.gz
├── cares
│ └── c-ares-cares-1_18_1.tar.gz
├── ge_gtest
│ └── release-1.10.0.tar.gz
├── ge_nlohmann_json
│ └── v3.11.2
│ └── include.zip
├── grpc
│ └── grpc-v1.41.1.tar.gz
├── openssl
│ └── openssl-3.0.9.tar.gz
├── protobuf
│ └── v3.13.0.tar.gz
├── pybind11
│ └── v2.10.3.tar.gz
├── re2
│ └── re2-2021-11-01.tar.gz
└── zlib
└── zlib-v1.2.13.tar.gz
Metadef仓提供一键式编译能力,具体可以通过bash build.sh -h
查看:
bash build.sh --ascend_install_path=${CANN_INSTALL_PATH}
--ascend_install_path
选项的默认值为/usr/local/Ascend/ascend-tools/latest
,编译完成后会在output/package
目录下生成CANN-metadef-linux.{x86_64/aarch64}.run
包
build.sh
脚本默认从./output/third_party
下查找三方库,若在执行build_third_party.sh
时,指定了其他生成三方库的目录,可以通过build.sh --ascend_3rd_lib_path=<指定的三方库路径>
选项做配置
Metadef仓提供一键式编译执行开发者测试,详细配置可通过bash tests/run_test.sh -h
查看
bash tests/run_test.sh -u --ascend_install_path=${CANN_INSTALL_PATH}
--ascend_install_path
选项的默认值为/usr/local/Ascend/ascend-tools/latest
tests/run_test.sh
脚本查找三方库的方法与build.sh
脚本相同
编译完成后,可通过如下命令安装或回滚:
# 安装:
./CANN-metadef-linux.{x86_64/aarch64}.run --full --quiet --install-path=${CANN_INSTALL_PATH}
# 回滚:
./CANN-metadef-linux.{x86_64/aarch64}.run --rollback --quiet --install-path=${CANN_INSTALL_PATH}
针对Metadef仓,开发者准备本地代码与提交PR时需要重点关注如下几点:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。