已合并
modify profile #1041
wangzitao创建于 1月27日
modify profile #1041
已合并
共 2 个文件变更+54-6
| @@ -13,6 +13,11 @@ ops-nn是[CANN](https://hiascend.com/software/cann) (Compute Architecture for | |||
| 13 | 13 | ||
| 14 | <img src="docs/zh/figures/architecture.png" alt="架构图" width="700px" height="320px"> | 14 | <img src="docs/zh/figures/architecture.png" alt="架构图" width="700px" height="320px"> |
| 15 | 15 | ||
| 16 | +## 📝版本配套 | ||
| 17 | + | ||
| 18 | +本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅[release仓库](https://gitcode.com/cann/release-management)中的相应版本说明。 | ||
| 19 | +请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。 | ||
| 20 | + | ||
| 16 | ## ⚡️快速入门 | 21 | ## ⚡️快速入门 |
| 17 | 22 | ||
| 18 | 若您希望**从零到一了解并快速体验项目**,请访问如下文档。可以先了解项目算子信息,再尝试算子调用、开发、贡献等操作。 | 23 | 若您希望**从零到一了解并快速体验项目**,请访问如下文档。可以先了解项目算子信息,再尝试算子调用、开发、贡献等操作。 |
| @@ -77,6 +82,7 @@ ops-nn是[CANN](https://hiascend.com/software/cann) (Compute Architecture for | |||
| 77 | - [贡献指南](CONTRIBUTING.md) | 82 | - [贡献指南](CONTRIBUTING.md) |
| 78 | - [安全声明](SECURITY.md) | 83 | - [安全声明](SECURITY.md) |
| 79 | - [许可证](LICENSE) | 84 | - [许可证](LICENSE) |
| 85 | +- [所属SIG](https://gitcode.com/cann/community/tree/master/CANN/sigs/ops-nn) | ||
| 80 | 86 | ||
| 81 | ## 🤝联系我们 | 87 | ## 🤝联系我们 |
| 82 | 88 | ||
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | 本项目源码编译用到的依赖如下,请注意版本要求。 | 17 | 本项目源码编译用到的依赖如下,请注意版本要求。 |
| 18 | 18 | ||
| 19 | - - python >= 3.7.0(建议版本 <= 3.10) | 19 | + - python >= 3.7.0(建议版本 <= 3.10) |
| 20 | - gcc >= 7.3.0 | 20 | - gcc >= 7.3.0 |
| 21 | - cmake >= 3.16.0 | 21 | - cmake >= 3.16.0 |
| 22 | - pigz(可选,安装后可提升打包速度,建议版本 >= 2.4) | 22 | - pigz(可选,安装后可提升打包速度,建议版本 >= 2.4) |
| @@ -32,18 +32,60 @@ | |||
| 32 | 2. **安装驱动与固件(运行态依赖)** | 32 | 2. **安装驱动与固件(运行态依赖)** |
| 33 | 33 | ||
| 34 | 运行算子时必须安装驱动与固件,若仅编译算子,可跳过本操作。 | 34 | 运行算子时必须安装驱动与固件,若仅编译算子,可跳过本操作。 |
| 35 | - | 35 | + |
| 36 | 单击[下载链接](https://www.hiascend.com/hardware/firmware-drivers/community),根据实际产品型号和环境架构,获取对应的`Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run`、`Ascend-hdk-<chip_type>-npu-firmware_<version>.run`包。 | 36 | 单击[下载链接](https://www.hiascend.com/hardware/firmware-drivers/community),根据实际产品型号和环境架构,获取对应的`Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run`、`Ascend-hdk-<chip_type>-npu-firmware_<version>.run`包。 |
| 37 | 37 | ||
| 38 | 安装指导详见《[CANN 软件安装指南](https://www.hiascend.com/document/redirect/CannCommunityInstSoftware)》。 | 38 | 安装指导详见《[CANN 软件安装指南](https://www.hiascend.com/document/redirect/CannCommunityInstSoftware)》。 |
| 39 | 39 | ||
| 40 | -## 环境准备 | 40 | +## 环境准备(二选一) |
| 41 | 41 | ||
| 42 | -### 1. 下载软件包 | 42 | + ### 使用Docker部署 |
| 43 | + | ||
| 44 | +> **说明:** | ||
| 45 | +> - Docker镜像是一种高效部署方式,目前仅适用于Atlas A2系列产品,且目前仅适配Ubuntu操作系统。 | ||
| 46 | +> - 镜像文件比较大,下载需要一定时间,请您耐心等待。 | ||
| 47 | + | ||
| 48 | +#### 1. 下载镜像 | ||
| 49 | + | ||
| 50 | +1. 以root用户登录宿主机。确保宿主机已安装Docker引擎(版本1.11.2及以上)。 | ||
| 51 | +2. 从[昇腾镜像仓库](https://www.hiascend.com/developer/ascendhub/detail/17da20d1c2b6493cb38765adeba85884)拉取已预集成CANN软件包及`ops-nn`所需依赖的镜像。命令如下,根据实际架构选择: | ||
| 52 | + | ||
| 53 | + ```bash | ||
| 54 | + # 示例:拉取ARM架构的CANN开发镜像 | ||
| 55 | + docker pull --platform=arm64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops | ||
| 56 | + # 示例:拉取X86架构的CANN开发镜像 | ||
| 57 | + docker pull --platform=amd64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops | ||
| 58 | + ``` | ||
| 59 | + | ||
| 60 | +#### 2. 运行Docker | ||
| 61 | +拉取镜像后,需要以特定参数启动容器,以便容器内能访问宿主的昇腾设备。 | ||
| 62 | + | ||
| 63 | +```bash | ||
| 64 | +docker run --name cann_container --device /dev/davinci0 --device /dev/davinci_manager --device /dev/devmm_svm --device /dev/hisi_hdc -v /usr/local/dcmi:/usr/local/dcmi -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info -v /etc/ascend_install.info:/etc/ascend_install.info -it swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops bash | ||
| 65 | +``` | ||
| 66 | +| 参数 | 说明 | 注意事项 | | ||
| 67 | +| :--- | :--- | :--- | | ||
| 68 | +| `--name cann_container` | 为容器指定名称,便于管理。 | 可自定义。 | | ||
| 69 | +| `--device /dev/davinci0` | 核心:将宿主机的NPU设备卡映射到容器内,可指定映射多张NPU设备卡。 | 必须根据实际情况调整:`davinci0`对应系统中的第0张NPU卡。请先在宿主机执行 `npu-smi info`命令,根据输出显示的设备号(如`NPU 0`, `NPU 1`)来修改此编号。| | ||
| 70 | +| `--device /dev/davinci_manager` | 映射NPU设备管理接口。 | | | ||
| 71 | +| `--device /dev/devmm_svm` | 映射设备内存管理接口。 | | | ||
| 72 | +| `--device /dev/hisi_hdc` | 映射主机与设备间的通信接口。 | | | ||
| 73 | +| `-v /usr/local/dcmi:/usr/local/dcmi` | 挂载设备容器管理接口(DCMI)相关工具和库。 | | | ||
| 74 | +| `-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi` | 挂载`npu-smi`工具。 | 使容器内可以直接运行此命令来查询NPU状态和性能信息。| | ||
| 75 | +| `-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/` | 关键挂载:将宿主机的NPU驱动库映射到容器内。 | | | ||
| 76 | +| `-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info` | 挂载驱动版本信息文件。 | | | ||
| 77 | +| `-v /etc/ascend_install.info:/etc/ascend_install.info` | 挂载CANN软件安装信息文件。 | | | ||
| 78 | +| `-it` | `-i`(交互式)和 `-t`(分配伪终端)的组合参数。 | | | ||
| 79 | +| `swr.cn-south-1.myhuaweicloud.com/ascendhub/8.5.0-910b-ubuntu22.04-py3.10-ops-x86` | 指定要运行的Docker镜像。 |请确保此镜像名和标签(tag)与你通过`docker pull`拉取的镜像完全一致。 | | ||
| 80 | +| `bash` | 容器启动后立即执行的命令。 | | | ||
| 81 | + | ||
| 82 | +### 手动安装CANN包 | ||
| 83 | + | ||
| 84 | +#### 1. 下载软件包 | ||
| 43 | 85 | ||
| 44 | 单击[下载链接](https://mirror-centralrepo.devcloud.cn-north-4.huaweicloud.com/artifactory/cann-run-release/software/9.0.0/),根据实际产品型号和环境架构,获取`Ascend-cann-toolkit_${cann_version}_linux-${arch}.run`、`Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run`。其中ops包是运行态依赖,若仅编译算子,可以不安装此包。 | 86 | 单击[下载链接](https://mirror-centralrepo.devcloud.cn-north-4.huaweicloud.com/artifactory/cann-run-release/software/9.0.0/),根据实际产品型号和环境架构,获取`Ascend-cann-toolkit_${cann_version}_linux-${arch}.run`、`Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run`。其中ops包是运行态依赖,若仅编译算子,可以不安装此包。 |
| 45 | 87 | ||
| 46 | -### 2. 安装软件包 | 88 | +#### 2. 安装软件包 |
| 47 | 1. **安装社区CANN toolkit包** | 89 | 1. **安装社区CANN toolkit包** |
| 48 | 90 | ||
| 49 | ```bash | 91 | ```bash |
| @@ -66,7 +108,7 @@ | |||
| 66 | # 安装命令 | 108 | # 安装命令 |
| 67 | ./Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run --install --install-path=${install_path} | 109 | ./Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run --install --install-path=${install_path} |
| 68 | ``` | 110 | ``` |
| 69 | - | 111 | + |
| 70 | - \$\{soc\_name\}:表示NPU型号名称。 | 112 | - \$\{soc\_name\}:表示NPU型号名称。 |
| 71 | - \$\{install\_path\}:表示指定安装路径,需要与toolkit包安装在相同路径,默认安装在`/usr/local/Ascend`目录。 | 113 | - \$\{install\_path\}:表示指定安装路径,需要与toolkit包安装在相同路径,默认安装在`/usr/local/Ascend`目录。 |
| 72 | 114 | ||