修改AI CPU和Ctrl CPU配比

Device侧CPU可划分为AI CPU与Ctrl CPU两部分,其中AI CPU负责执行不适合跑在AI Core中的算子(承担非矩阵类复杂计算),Ctrl CPU负责控制芯片的整体运行,开放形态下,可用于执行推理应用的自定义预处理、后处理等操作,用户可自行根据业务复杂度修改AI CPU与Ctrl CPU的配比。

Atlas 推理系列产品提供的Ctrl CPU与AI CPU的默认配比为1:7,此默认配比不适合开放形态下应用程序运行在Device上的场景。所以开放形态下,用户可通过修改驱动源码包{soc version}-driver-{software version}-minios.aarch64-src.tar.gz中的配置文件,修改AI CPU和Ctrl CPU的默认配比,详细的操作步骤如下:

  1. 执行以下命令切换到root用户,后续操作都需要以root用户执行。

    su - root

  2. 解压软件包获取中的驱动源码包{soc version}-driver-{software version}-minios.aarch64-src.tar.gz。

    例如在/usr/local/software/目录下执行如下解压命令:

    tar -zxvf {soc version}-driver-{software version}-minios.aarch64-src.tar.gz

    命令执行完成后会在/usr/local/software/目录下生成解压后的driver文件夹。

  3. “driver/source/config/user_config/miniv2/config.h”配置文件中修改AI CPU和Ctrl CPU配比。

    vi driver/source/config/user_config/miniv2/config.h

    如下图所示:

    红框中的第一个字节“01”代表Ctrl CPU的数量;第二个字节“00”代表Data CPU的数量;第三个字节“07”代表AI CPU的数量。

    用户可通过修改以上三个字节,进行Ctrl CPU、Data CPU、AI CPU的数量配置,修改配置时请遵循如下约束:
    • Ctrl CPU的数量 + Data CPU的数量 + AI CPU的数量 = 8
    • Ctrl CPU的数量 >=1
    • Data CPU的数量 >=0,推理场景下请配置为0
    • AI CPU的数量 >=1

    例如,开放形态下,Data CPU配置为0,Ctrl CPU与AI CPU的数量组合可以为4+4、5+3、6+2、7+1。

    修改完成后,输入:wq!保存退出。

  4. 进行驱动源码编译,并替换文件系统中的内核镜像文件。

    详细操作请参见(可选)驱动源码编译

    • 用户也可以通过DSMI接口修改AI CPU与Ctrl CPU的配比。请注意,一旦通过DSMI配置AI CPU与Ctrl CPU配比后,以上默认配置就会失效,因为DSMI配置优先级高于config.h中默认配置,若想仍然使用默认配置,则需要清除DSMI配置。
    • 通过DSMI修改AI CPU与Ctrl CPU配置可用使用DSMI的dsmi_set_user_config接口,清除DSMI配置可使用dsmi_clear_user_config接口,接口的详细使用方法可请参见DSMI API参考
    • 使用DSMI接口修改配置后,需要重启Host才会生效。