Moffett Container Toolkit 用户手册

概述

MOFFETT Container Toolkit,即墨芯容器工具包,旨在用于帮助用户在容器中使用墨芯 AI 计算卡。MOFFETT Container Toolkit 通过生成容器设备接口 CDI (Container Device Interface) 的方式,自动配置容器以利用墨芯 AI 计算卡,并兼容了主流的容器运行时(如 Docker、containerd、Podman 等)。

前提条件

  • 服务器已安装墨芯 AI 计算卡,且能被系统正确识别。

  • 安装 SOLA ToolKit, 且 SOLA ToolKit 版本>= 3.11.0。

  • 安装支持 CDI 特性的容器引擎,如 Docker(Docker >= 25.0.0)。

安装步骤

下载 MOFFETT Container Toolkit

Debian/Ubuntu

$ wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/CloudNative/container-toolkit/moffett-container-toolkit_1.1.0_amd64.deb

RHEL/CentOS/Rockey

$ wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/CloudNative/container-toolkit/moffett-container-toolkit-1.1.0-1.x86_64.rpm

安装 MOFFETT Container Toolkit

Debian/Ubuntu

执行以下命令:

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

RHEL/CentOS/Rockey

执行以下命令:

$ sudo rpm -ivh moffett-container-toolkit-1.1.0-1.x86_64.rpm

确认安装结果

安装后执行如下命令,返回版本信息即表示安装成功。

$ moffett-ctk --version
MOFFETT Container Toolkit CLI version 1.1.0

配置使用环境

  1. 启用 CDI 特性。

    MOFFETT Container Toolkit 需要使用 Docker CDI 特性,Docker 默认禁用 CDI 特性,

    您可通过设定默认配置文件(/etc/docker/daemon.json)中的 cdi-spec-dir 选项来启用 CDI。

    {
      "features": {
         "cdi": true
      },
      "cdi-spec-dirs": ["/etc/cdi/", "/var/run/cdi"]
    }
    
  2. 重启 Docker 服务,使配置生效。

    $ systemctl daemon-reload
    $ systemctl restart docker
    $ systemctl status docker
    
  3. 确认 CDI 被启用。

    #返回 cdi 信息即代表启用成功
    $ docker info|grep -A 2 "CDI spec directories"
    
  4. 生成 CDI 配置文件。

    说明:您可通过 output 选项指定配置文件目录位置,默认路径为 /etc/cdi/moffett.yaml。

    $ sudo moffett-ctk cdi generate --output=/etc/cdi/moffett.yaml
    
  5. 查看可用的 CDI 设备。

    $ moffett-ctk cdi list
    

工作负载示例

安装和配置完成后,您可创建 Docker 容器运行一些简单的工作负载进行快速验证。示例如下:

  • 使用所有设备 创建容器并指定在容器中使用本机全部设备。

    # 通过 all 参数项 指定所有的设备
    $ docker run --rm --device moffett.ai/spu=all ubuntu:22.04 mx-smi list
    
  • 使用指定设备 创建容器并指定在容器内需要使用的设备 ID, 同时设置相应的环境变量 SOLA_VISIBLE_DEVICES。

    # 查看本机可用的设备
    $ moffett-ctk cdi list
    # 创建容器时指定使用的设备
    $ docker run --rm --device moffett.ai/spu=1 --device moffett.ai/spu=2 ubuntu:22.04 mx-qual list
    

卸载 Moffett Container Toolkit

Debian/Ubuntu

$ dpkg -l moffett-container-toolkit
$ sudo dpkg -P moffett-container-toolkit

RHEL/CentOS/Rockey

$ rpm -qa moffett
$ sudo rpm -e moffett-container-toolkit