diff --git a/README.md b/README.md index c95a1f18bff46bfe1329c72c81564a5b0dcb8e53..6a8604f1bc7defe301a2369a5578c9910db8cfc1 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ # Ascend Docker Runtime.zh -[组件介绍](##"组件介绍") -[编译Ascend Docker Runtime](##"编译Ascend Docker Runtime") -[组件安装](##"组件安装") -[更新日志](##"更新日志") +- **[组件介绍](#组件介绍)** +- **[编译Ascend-Docker-Runtime](#编译Ascend-Docker-Runtime)** +- **[组件安装](#组件安装)** +- **[更新日志](#更新日志)** -## 组件介绍 +# 组件介绍 容器引擎插件(Ascend Docker,又叫昇腾容器)是CANN的基础组件,为所有的AI训练/推理作业提供Ascend NPU(昇腾处理器)容器化支持,使用户AI作业能够以Docker容器的方式平滑运行在昇腾设备之上,如图1-1所示。 图1-1 Ascend Docker ![image](assets/20210329102949456.png) -### Ascend Docker设计简介 +## 设计简介 -Ascend Docker本质上是基于OCI标准实现的Docker Runtime,不修改Docker引擎,对Docker以插件方式提供Ascend NPU适配功能。 +Ascend Docker Runtime本质上是基于OCI标准实现的Docker Runtime,不修改Docker引擎,对Docker以插件方式提供Ascend NPU适配功能。 如图1-2所示,Ascend Docker通过OCI接口与原生Docker对接。在原生Docker的runc启动容器过程中,会调用prestart-hook对容器进行配置管理。 图1-2 Docker适配原理 @@ -26,37 +26,47 @@ Ascend Docker在prestart-hook这个钩子函数中,对容器做了以下配置 2.在Host上配置该容器的device cgroup,确保该容器只可以使用指定的NPU,保证设备的隔离。 3.将Host上的CANN Runtime Library挂载到容器的namespace。 -*** -## 编译Ascend Docker Runtime +# 编译Ascend-Docker-Runtime 执行以下步骤进行编译 + + 1、下载tag为sync-dev的源码包,获得ascend-docker-runtime + +示例:源码放在/home/test/ascend-docker-runtime目录下 ```shell -# 1、下载Ascend Docker Runtime源码 -git clone https://gitee.com/ascend/ascend-docker-runtime.git +git clone -b sync-dev https://gitee.com/ascend/ascend-docker-runtime.git +``` -# 2、下载安全函数库 -cd ascend-docker-runtime/platform -git clone https://gitee.com/openeuler/libboundscheck.git + 2、下载tag为v1.1.10的安全函数库 +````shell +cd /home/test/ascend-docker-runtime/platform +git clone -b v1.1.10 https://gitee.com/openeuler/libboundscheck.git +```` -# 3、下载makeself +3、下载makeself +```shell cd ../opensource -git clone https://gitee.com/src-openeuler/makeself.git +git clone -b openEuler-22.03-LTS https://gitee.com/src-openeuler/makeself.git tar -zxvf makeself/makeself-2.4.2.tar.gz - -# 4、编译 +git clone https://gitee.com/song-xiangbing/makeself-header.git +cp makeself-header/makeself-header.sh makeself-release-2.4.2/ +``` + 4、编译 +```shell cd ../build bash build.sh ``` 编译完成后,会在output文件夹看到相应的二进制run包 ```shell -root@#:ascend-docker-runtime/output# ll +root@#:/home/test/ascend-docker-runtime/output# ll ... -rwxr-xr-x ... Ascend-docker-runtime_3.0.0_linux-x86_64.run* ``` -## 组件安装 +# 组件安装 请参考[《MindX DL用户指南》](https://www.hiascend.com/software/mindx-dl)中的“集群调度用户指南 > 安装部署指导 > 安装集群调度组件 > 典型安装场景 > 集群调度场景”进行。 -## 更新日志 +# 更新日志 + | 版本 | 发布日期 | 修改说明 | |:------:|:----:|:-----:| | v3.0.0 | 2023-01-18 | 第一次发布 | diff --git a/build/build.sh b/build/build.sh index 6f4bbb378d70950ad5835dfc7a72857c01905994..7ee6891c77c669d953254ba782652dd0f800ce1f 100644 --- a/build/build.sh +++ b/build/build.sh @@ -18,7 +18,6 @@ set -ex ROOT=$(cd $(dirname $0); pwd)/.. -TOP_DIR=$ROOT/.. OPENSRC=${ROOT}/opensource PLATFORM=${ROOT}/platform @@ -51,12 +50,12 @@ RUNTIMESRCDIR=${RUNTIMESRCPATH%/${RUNTIMESRCNAME}} PACKAGENAME="Ascend-docker-runtime" -VERSION="v3.0.0" -version_file="${TOP_DIR}"/service_config.ini +VERSION="5.0.RC1" +version_file="${ROOT}"/service_config.ini if [ -f "$version_file" ]; then - line=$(sed -n '4p' "$version_file" 2>&1) + line=$(sed -n '1p' "$version_file" 2>&1) #cut the chars after ':' - VERSION=${line#*:} + VERSION=${line#*=} fi CPUARCH=$(uname -m) diff --git a/build/scripts/run_main.sh b/build/scripts/run_main.sh index 95673c549106b33d6d1333a5d27a111616d55421..87d60a09108c4bedfb1ccf3d56b03eb86919cd2e 100644 --- a/build/scripts/run_main.sh +++ b/build/scripts/run_main.sh @@ -27,7 +27,7 @@ function save_install_args() { rm "${INSTALL_PATH}"/ascend_docker_runtime_install.info fi { - echo -e "version=${PACKAGE_VERSION}" + echo -e "version=v${PACKAGE_VERSION}" echo -e "arch=$(uname -m)" echo -e "os=linux" echo -e "path=${INSTALL_PATH}" @@ -109,13 +109,13 @@ function install() echo 'create damom.json success' save_install_args echo "[INFO]: Ascend Docker Runtime has been installed in: ${INSTALL_PATH}" - echo "[INFO]: The version of Ascend Docker Runtime is: ${PACKAGE_VERSION}" + echo "[INFO]: The version of Ascend Docker Runtime is: v${PACKAGE_VERSION}" echo 'please reboot docker daemon to take effect' } function uninstall() { - echo "[INFO]: Uninstalling ascend docker runtime ${PACKAGE_VERSION}" + echo "[INFO]: Uninstalling ascend docker runtime v${PACKAGE_VERSION}" if [ ! -d "${INSTALL_PATH}" ]; then echo 'WARNING: the specified install path does not exist, skipping' @@ -179,7 +179,7 @@ function upgrade() echo "[INFO]: Ascend Docker Runtime has been installed in: ${INSTALL_PATH}" echo '[INFO]: upgrade ascend docker runtime success' - echo "[INFO]: The version of Ascend Docker Runtime is: ${PACKAGE_VERSION}" + echo "[INFO]: The version of Ascend Docker Runtime is: v${PACKAGE_VERSION}" } INSTALL_FLAG=n diff --git a/build/scripts/uninstall.sh b/build/scripts/uninstall.sh index 4c320d5f1b8f8357601e03711e16819c190ea849..6ba1d4623a95522797dc315655dd85eb0d39a24a 100644 --- a/build/scripts/uninstall.sh +++ b/build/scripts/uninstall.sh @@ -16,7 +16,7 @@ # ============================================================================ set -e -LOG_FILE="/var/log/ascend_seclog/ascend_toolbox_install.log" +LOG_FILE="/var/log/ascend-docker-runtime/installer.log" echo "Ascend-Docker-Runtime" $(date +%Y%m%d-%H:%M:%S) "start uninstall" echo "Ascend-Docker-Runtime" $(date +%Y%m%d-%H:%M:%S) "start uninstall" >>${LOG_FILE} ROOT=$(cd $(dirname $0); pwd)/..