MOFFETT Container Toolkit 用户手册

moffett-ctk(MOFFETT Container Toolkit)支持在容器环境中通过生成容器设备接口(Container Device Interface,CDI)文件识别并使用墨芯计算卡。CDI 是一种面向容器运行时的开放规范,它抽象了对设备的访问方式,并实现了在不同容器运行时之间访问的标准化。

部署

前提条件

  • 安装 SOLA Toolkit 且版本 ≥ 3.11.0,具体请参见 SOLA Toolkit 安装指南

  • 安装容器运行时,如 Docker、containerd 等。

  • 容器运行时配置启用 CDI。如使用 Docker,版本需 ≥ 25.0.0,启用 CDI 配置方法请参见 Docker configuration

操作步骤

  1. 获取 MOFFETT Container Toolkit 安装包。

    wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/CloudNative/container-toolkit/moffett-container-toolkit_1.1.0_amd64.deb
    
  2. 安装 MOFFETT Container Toolkit。

    sudo dpkg -i moffett-container-toolkit_1.1.0_amd64.deb
    

    安装完成后,可通过 moffett-ctk --version 命令查看 MOFFETT Container Toolkit 的版本。

  3. 配置 CDI。

    a. 生成 CDI 配置文件。

    sudo moffett-ctk cdi generate --output=/etc/cdi/moffett.yaml
    

    --output 用于指定 CDI 配置文件的保存路径,默认为 /etc/cdi/moffett.yaml

    注意

    SOLA Toolkit 版本变更后,必须再次执行该命令生成新的 CDI 配置文件。

    b.(可选)查看生成的设备名称。

    moffett-ctk cdi list
    

部署后验证

以下示例基于 Ubuntu 22.04 容器镜像使用 MOFFETT Container Toolkit 载入墨芯设备:

  • 载入全部设备执行 mx-smi list 命令。

    docker run --rm --device moffett.ai/spu=all ubuntu:22.04 mx-smi list
    

    以上命令的输出与在主机上直接运行 mx-smi 命令相同。

  • 载入指定设备执行 mx-qual list 命令。

    docker run --rm --device moffett.ai/spu=1 --device moffett.ai/spu=2 ubuntu:22.04 mx-qual list
    

    以上命令的输出与在主机中运行 mx-qual list -i 1 2 命令的结果相对应。

    须知

    mx-smi listmx-qual list 命令返回的设备 Index 按 PCI Bus ID 从小到大排序。因此,在容器内和主机上执行该命令时,设备 Index 可能不同。

卸载

sudo dpkg -P moffett-container-toolkit