MOFFETT Container Toolkit 用户手册

概述

MOFFETT Container Toolkit(moffett-ctk)支持用户在容器环境中使用墨芯 AI 计算卡。 moffett-ctk 通过生成容器设备接口(Container Device Interface,CDI)规范文件,帮助容器正确识别并使用墨芯 AI 计算卡。该工具包兼容主流容器运行时,包括 Docker、Containerd 和 Podman 等。本文基于 Docker 介绍 moffett-ctk 的安装和配置。

安装 MOFFETT Container Toolkit

前提条件

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

  • 已安装 Docker,且 Docker 版本 ≥ 25.0.0。

使用 Deb 包安装

moffett-ctk 的 Deb 安装包适用于 Debian 和 Ubuntu 系统,安装步骤如下:

  1. 获取 Deb 安装包。

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

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

使用 RPM 包安装

moffett-ctk 的 RPM 安装包适用于 RHEL、AliOS、KylinOS V10、Rocky Linux 和 openEuler 系统,安装步骤如下:

  1. 获取 RPM 安装包。

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

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

查看 MOFFETT Container Toolkit 版本

查看 moffett-ctk 的版本:

moffett-ctk --version

配置 CDI

CDI 是一种面向容器运行时的开放规范,它抽象了对设备的访问方式,并实现了在不同容器运行时之间访问的标准化。

前提条件

  • 已安装 moffett-ctk

  • 在 Docker 上启用 CDI,具体操作请参见配置 CDI

操作步骤

  1. 生成 CDI 规范文件。

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

    其中,--output 参数用于指定 CDI 规范文件的保存路径。如果省略该参数,生成的 CDI 规范将输出到标准输出(STDOUT),即直接显示在终端窗口中。

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

    moffett-ctk cdi list
    

使用 CDI 运行示例工作负载

运行示例工作负载验证 moffett-ctk 是否安装成功。

前提条件

已通过以下其中一种方式获取墨芯基础镜像:

  • 通过墨芯 Docker 镜像仓库获取镜像:

    docker pull moffett/macs-base-common:1.0-20250423
    
  • 通过镜像存储地址下载并加载镜像:

    wget https://moffett-oss-bucket.tos-cn-shanghai.volces.com/images/macs/macs-base-common-1.0-20250423.tar
    docker load -i macs-base-common-1.0-20250423.tar
    

使用 CDI 载入主机设备

  • 载入主机全部设备

    docker run --rm --device moffett.ai/spu=all moffett/macs-base-common:1.0-20250423 mx-smi list
    

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

  • 载入主机指定设备

    docker run --rm --device moffett.ai/spu=1 --device moffett.ai/spu=2 moffett/macs-base-common:1.0-20250423 mx-qual list
    

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

    说明

    容器中运行 mx-smi listmx-qual list 命令时,返回对应设备的 Device ID 或 Index 始终从 0 开始排序;而主机中运行这两个命令,返回对应设备的实际 Device ID 或 Index。

卸载 MOFFETT Container Toolkit

  • 卸载使用 Deb 包安装的 moffett-ctk

    sudo dpkg -P moffett-container-toolkit
    
  • 卸载使用 RPM 包安装的 moffett-ctk

    sudo rpm -e moffett-container-toolkit