2.2. OE包版本管理

统一发版host package版本管理工具ddk_vcs用于对地平线OE包中的依赖库及whl包的版本进行管理,下面将为您详细介绍该工具的使用方法。

2.2.1. 功能概要

工具包括以下功能:

  • ddk_vcs list。

  • ddk_vcs install。

  • ddk_vcs uninstall。

  • ddk_vcs patch。

  • ddk_vcs show。

2.2.2. 准备工作

注意

如您使用OE包提供的 install.sh 进行安装或使用docker环境操作,我们已为您预先完成了设置,无需进行此项准备工作。

完成安装后,在使用ddk_vcs工具前,您需要先对环境变量进行设置,如下所示,当您输入 ddk_vcs --help 时,会出现提示,请先设置环境变量。

[horizon@gpu-dev067 ai_toolchain]$ ddk_vcs --help
Please set the value (xj3/j5) of environment variable DDK_VCS_MODE and run it again.

环境变量的设置方法:在 ~/.bashrc 中增加一行 export DDK_VCS_MODE=xj3 ,保存后,使用命令 source ~/.bashrc 使其生效即可。

2.2.3. 详细信息

注解

请注意,下方log及命令中的version仅做示例参考,实际version以您的OE包version为准。

2.2.3.1. ddk_vcs list

ddk_vcs list 用于列出已安装的软件包。

参数如下:

[horizon@gpu-dev067]$ ddk_vcs list --help
Usage: ddk_vcs list [OPTIONS]

  List installed packages.

Options:
  -l, --local  Show all existing packages(*.tar.gz) on host machine.
  --help       Show this message and exit.

不加参数执行此命令时,结果会展示当前已安装的各个模块的信息。使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs list
Host package version: xj3 v2.6.0a
The following packages versions
Platform        Package        Version MD5
--------------- -------------- ------- -------------
aarch_64        dnn            1.18.1a 05aac0ebc3
x86_64_gcc5.4.0 dnn_x86        1.18.1a 39b6426a19
x86_64_gcc5.4.0 horizon-nn     0.18.2  origin:0.18.2
x86_64_gcc5.4.0 horizon-nn-gpu N/A     origin:N/A
x86_64_gcc5.4.0 horizon-tc-ui  1.17.2  origin:1.17.2
x86_64_gcc5.4.0 hbdk           3.45.2  origin:3.45.2

注解

最后几行的origin信息会在每次使用OE包内的install脚本进行安装后更新为当前环境下的版本, 后续在使用ddk_vcs进行安装时则不会改变,只会改变Version的值。

使用 -l--local 参数以后会显示当前可以安装的模块版本情况,可以通过 ddk_vcs install 进行安装,使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs list -l
Host package version: v2.6.0a
The following packages versions
Platform        Local Package          Version MD5
--------------- ---------------------- ------- ----------
aarch_64        dnn_1.18.1a.tar.gz     1.18.1a 05aac0ebc3
x86_64_gcc5.4.0 dnn_x86_1.18.1a.tar.gz 1.18.1a 39b6426a19

2.2.3.2. ddk_vcs install

ddk_vcs install 用于对安装包进行安装。

参数如下:

[horizon@gpu-dev067]$ ddk_vcs install --help
Usage: ddk_vcs install [OPTIONS] MODULE_FILE...

  Install packages.

Options:
  -p, --platform [aarch_64|x86_64_gcc5.4.0]
                                Platform name
  --help                          Show this message and exit.

用户可以直接通过 ddk_vcs install 将对应的模块tar包进行安装。安装时需要指定对应的platform。使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs install dnn_1.18.1a.tar.gz -p aarch_64
dnn installed successfully, version: 1.18.1a, platform: aarch_64
[horizon@gpu-dev067]$ ddk_vcs install hbdk-3.45.2-cp38-cp38-linux_x86_64.whl  horizon_nn-0.18.2-cp38-cp38-linux_x86_64.whl
hbdk-3.45.2-cp38-cp38-linux_x86_64.whl installed successfully
horizon_nn-0.18.2-cp38-cp38-linux_x86_64.whl installed successfully

在使用 ddk_vcs list -l 后用户可以得到自己当前host package中各个模块包的版本信息, 然后使用 ddk_vcs install 可以很方便地切换各个版本,使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs install dnn==1.15.1  --platform aarch_64
dnn installed successfully, version: 1.15.1, platform: aarch_64

如果本地没有对应版本可以指定安装包位置进行安装。

2.2.3.3. ddk_vcs uninstall

ddk_vcs uninstall 用于卸载指定模块。

参数如下:

[horizon@gpu-dev067]$ ddk_vcs uninstall --help
Usage: ddk_vcs uninstall [OPTIONS] MODULE...

  Uninstall packages.

Options:
  -p, --platform [aarch_64|x86_64_gcc5.4.0]
                                  Platform name  [required]
  --help                          Show this message and exit.

使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs uninstall dnn --platform aarch_64
Start to uninstall modules, platform: aarch_64
dnn uninstalled successfully, version: 1.18.1a, platform: aarch_64

2.2.3.4. ddk_vcs patch

使用 ddk_vcs patch ddk_patch.tar.gz 可以安装预先制作好的patch包。

使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs patch ddk_patch.tar.gz
dnn installed successfully, version: 1.15.1_patch0, platform: aarch64

2.2.3.5. ddk_vcs show

ddk_vcs show 用于显示有关已安装软件包的信息。使用 ddk_vcs show [模块名] ,可以展示对应模块的信息。

参数如下:

[horizon@gpu-dev067]$ ddk_vcs show --help
Usage: ddk_vcs show [OPTIONS] MODULE

  Show information about installed packages.

Options:
  -p, --platform [aarch_64|x86_64_gcc5.4.0]
                                  Platform name
  --help                          Show this message and exit.

使用示例如下:

[horizon@gpu-dev067]$ ddk_vcs show dnn
Host package version v2.6.0a
The following packages versions
Platform Package Version MD5
-------- ------- ------- ----------
aarch_64 dnn     1.18.1a 05aac0ebc3