设置cfct_config配置文件

解压cfct_config配置文件并设置文件权限,使文件拥有者有读写权限而其他属组用户和其他用户只有读权限。
1
2
3
cd /home/kbox_video/
tar -xvf DemoVideoEngine.tar.gz cfct_config
chmod 644 cfct_config
  • 使用cfct_config配置文件以灵活配置视频流云手机使用的资源,使性能达到最优。
  • cfct_config中有GPU、CPU、ENC、USERDATA等map配置,可以修改map中对应路数的值来选择该路容器使用的GPU、CPU、NETINT编码卡,以及数据卷存放路径。
  • 云手机启动时必须在启动路径下存放cfct_config配置文件,云手机容器会使用该文件中的配置,使用时应确保cfct_config配置文件中的配置正确。
  • NETINT编码卡的节点在不同服务器中会有区别,应根据实际情况修改cfct_config中NETINT的值,保证编码不会因跨片导致性能损失。
  • 如果要使能Quadra/T432编码卡硬解,需要更改cfct_config中的T432_QUADRA_DECODE_ENABLE=1
  • 针对1张GPU卡环境:需要修改cfct_config配置文件中VIDEO_CPU_MAP_{CPU总核数}CORE_MODE{CPU_BIND_MODE变量值}。

    VIDEO_CPU_MAP_128CORE_MODE0为例,保留该配置变量下与GPU绑定的CPU配置,删除其他配置,当GPU卡插在CPU0上时,删除MODE0_CPUS2MODE0_CPUS3所有相关引用;若GPU卡插在CPU1上时,删除MODE0_CPUS0MODE0_CPUS1所有相关引用。

  • 针对1张编码卡环境:需要修改cfct_config配置文件中VIDEO_ENC_MAP_CORE。

    当编码卡插在CPU0上时,删除"${NETINT1}";若编码卡插在CPU1上时,删除"${NETINT0}"

NETINT编码卡芯片节点所属NUMA查询方式

  1. 通过nvme list命令查看编解码卡芯片对应节点号。

    1
    nvme list
    

    以下回显为NETINT编码芯片NVMe节点,该内容为回显示例,请以实际为准。

    1
    2
    3
    4
    Node          SN                   Model            Namespace Usage                    Format           FW Rev
    ------------- -------------------- ---------------- --------- ------------------------ ---------------- --------
    /dev/nvme0n1  Q2A325A11DC082-0454A QuadraT2A        1         8.59  TB /   8.59  TB    4 KiB +  0 B     4606nrc2
    /dev/nvme1n1  Q2A325A11DC082-0454B QuadraT2A        1         8.59  TB /   8.59  TB    4 KiB +  0 B     4606nrc2
    

  2. 查看nvme节点与pcie bus号对应关系。

    {index}1回显信息所示的NVMe节点编号。例如/dev/nvme1n1,该节点{index}即为1。
    1
    find /sys/devices/ -name nvme{index}
    

    回显如下,其中0000:05:00.0为该设备对应的busID:

    1
    2
    /sys/devices/pci0000:00/0000:00:0e.0/0000:05:00.0/nvme/nvme1
    /sys/devices/virtual/nvme-subsystem/nvme-subsys1/nvme1
    

  3. 通过bus号找到该节点与NUMA从属关系。

    {busID}为上一步骤获取的bus号。以nvme1设备的回显为例,{busID}即为0000:05:00.0。
    1
    lspci -vvvs {busID} | grep NUMA
    

    回显如下。

    1
    NUMA node: 0
    

  4. 根据编码卡NVMe设备节点对应的NUMA修改cfct_config中NETINT的值。

    鲲鹏920 7265F/7260服务器:从属于0、1号NUMA的NVMe节点写在NETINT0字段中,从属于2、3号NUMA的NVMe节点写在NETINT1字段中。

    字段中每个设备需添加两个节点。例如2号NVMe设备,需添加“/dev/nvme2”、“/dev/nvme2n1”两个节点。

    # NETINT编码卡设备节点
    NETINT0="/dev/nvme0,/dev/nvme0n1,/dev/nvme1,/dev/nvme1n1"
    NETINT1="/dev/nvme2,/dev/nvme2n1,/dev/nvme3,/dev/nvme3n1"