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=j5 ,保存后,使用命令 source ~/.bashrc 使其生效即可。

2.2.3. 详细信息

2.2.3.1. ddk_vcs list

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

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

[horizon@gpu-dev067 ai_toolchain]$ ddk_vcs list
Host package version: v2.0.3
The following packages versions
Platform        Package         Version MD5
--------------- --------------- ------- -------------
aarch_64        appsdk          032419  093e13b44e
aarch_64        dnn             1.8.1g  aff0f6f4de
x86_64_gcc5.4.0 dnn_x86         1.8.1g  e8e6bf9ed5
x86             horizon-nn      0.13.3  origin:0.13.3
x86             horizon-nn-gpu  0.13.3  origin:N/A
x86             horizon-tc-ui   1.6.4   origin:1.6.4
x86             hbdk            3.28.3  origin:3.28.3

注解

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

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

[horizon@gpu-dev004]$ ddk_vcs list -p
Host package version: 1.5.1
The following packages versions
Platform        Local Package                 Version MD5
--------------- ----------------------------- ------- ----------
aarch_64        appsdk_1.9.0.tar.gz           1.9.0   bf01140c9d
aarch_64        bpu_predict_1.10.2.tar.gz     1.10.2  5b6e5dd6c5
aarch_64        dnn_1.1.2a.tar.gz             1.1.2a  fdb5729f4f
x86_64_gcc5.4.0 bpu_predict_1.10.2.tar.gz     1.10.2  4dbdd980a7
x86_64_gcc5.4.0 dnn_x86_1.1.2a.tar.gz         1.1.2a  5bf5fcd4fe

2.2.3.2. ddk_vcs install

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

[horizon@gpu-dev004]$ ddk_vcs install bpu_predict_1.10.2.tar.gz -p aarch_64
bpu_predict installed successfully, version: 1.10.2, platform: aarch_64
[horizon@gpu-dev067 ai_toolchain]$ ddk_vcs install hbdk-3.28.3-py3-none-linux_x86_64.whl  horizon_nn-0.13.3-py3-none-any.whl
hbdk-3.28.3-py3-none-linux_x86_64.whl installed successfully
horizon_nn-0.13.3-py3-none-any.whl installed successfully

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

[horizon@gpu-dev004]$ ddk_vcs install bpu_predict==1.7.2  --platform aarch_64
bpu_predict installed successfully, version: 1.7.2, platform: aarch_64

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

2.2.3.3. ddk_vcs uninstall

ddk_vcs uninstall 用于卸载指定模块。使用示例如下:

[horizon@gpu-dev004]$ ddk_vcs uninstall bpu_predict --platform aarch_64
Start to uninstall modules, platform: aarch_64
bpu_predict uninstalled successfully, version: 1.10.2, platform: aarch_64

2.2.3.4. ddk_vcs patch

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

[horizon@gpu-dev004]$ ddk_vcs patch ddk_patch.tar.gz
bpu_predict installed successfully, version: 1.7.2_patch0, platform: aarch64

2.2.3.5. ddk_vcs show

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

[horizon@gpu-dev004]$ ddk_vcs show bpu_predict
Host package version 1.5.1
The following packages versions
Platform        Package     Version       MD5
--------------- ----------- ------------- ----------
aarch_64        bpu_predict 1.10.2        5b6e5dd6c5
x86_64_gcc5.4.0 bpu_predict 1.10.2_patch1 d4f8e37921

如果2个架构内有同名依赖,可以使用 -p/--platform 指定架构名进行过滤。使用示例如下:

[horizon@gpu-dev004]$ ddk_vcs show bpu_predict -p aarch_64
Host package version 1.5.1
The following packages versions
Platform Package     Version MD5
-------- ----------- ------- ----------
aarch_64 bpu_predict 1.10.2  5b6e5dd6c5