# MOFFETT Container Toolkit 用户手册 `moffett-ctk`(MOFFETT Container Toolkit)支持在容器环境中通过生成容器设备接口(Container Device Interface,CDI)文件识别并使用墨芯计算卡。 ## 前提条件 - 安装 SOLA ToolKit 且版本 ≥ 3.11.0,具体请参见 [SOLA Toolkit 安装指南](../installation/sola-toolkit-installation-guide.md)。 - 安装容器运行时,如 Docker、containerd 等。 ## 安装 ### Deb 包安装 MOFFETT Container Toolkit 的 Deb 安装包适用于 Debian 和 Ubuntu 系统。 1. 获取 Deb 安装包。 ```Bash 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。 ```Bash sudo dpkg -i moffett-container-toolkit_1.1.0_amd64.deb ``` ### RPM 包安装 MOFFETT Container Toolkit 的 RPM 安装包适用于 RHEL、AliOS、KylinOS V10、Rocky Linux 和 openEuler 系统。 1. 获取 RPM 安装包。 ```Bash 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 Container Toolkit。 ```Bash sudo rpm -ivh moffett-container-toolkit-1.1.0-1.x86_64.rpm ``` ### 验证 查看 MOFFETT Container Toolkit 的版本: ```Bash moffett-ctk --version ``` ## 启用 CDI CDI 是一种面向容器运行时的开放规范,它抽象了对设备的访问方式,并实现了在不同容器运行时之间访问的标准化。 ### 前提条件 - 已安装 MOFFETT Container Toolkit。 - 容器运行时启用 CDI。如使用 Docker,版本需 ≥ 25.0.0,启用 CDI 配置方法请参见配置 CDI。 ### 操作步骤 1. 生成 CDI 配置文件。 ```Bash sudo moffett-ctk cdi generate --output=/etc/cdi/moffett.yaml ``` `--output` 用于指定 CDI 配置文件的保存路径,默认为 `/etc/cdi/moffett.yaml`。 ```{admonition} 注意 :class: caution SOLA Toolkit 版本变更后,必须再次执行该命令生成新的 CDI 配置文件。 ``` 2. (可选)查看生成的设备名称。 ```Bash moffett-ctk cdi list ``` ## 运行示例 以下示例在 Ubuntu 22.04 容器中使用 MOFFETT Container Toolkit 载入墨芯设备: - 载入全部设备执行 `mx-smi list` 命令。 ```Bash docker run --rm --device moffett.ai/spu=all ubuntu:22.04 mx-smi list ``` 以上命令的输出与在主机上直接运行 `mx-smi` 命令相同。 - 载入指定设备执行 `mx-qual list` 命令。 ```Bash 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` 命令的结果相对应。 ```{admonition} 须知 :class: note `mx-smi list` 或 `mx-qual list` 命令返回的设备 Index 按 PCI Bus ID 从小到大排序。因此,在容器内和主机上执行该命令时,设备 Index 可能不同。 ``` ## 卸载 - Deb 包卸载 ```Bash sudo dpkg -P moffett-container-toolkit ``` - RPM 包卸载 ```Bash sudo rpm -e moffett-container-toolkit ```