使用手册
摩尔线程 GPU 管理接口 (mthreads-gmi)
摩尔线程 GPU 管理接口 (mthreads-gmi) 是基于 GPU 管理中心 SDK 构建的命令行工具。 mthreads-gmi 旨在监控和管理摩尔线程 GPU。安装 GPU 驱动程序时会自动安装 mthreads-gmi。
支持的平台
mthreads-gmi v2.0.0 版本支持以下平台。
| 处理器 | 处理器架构 | 操作系统 | GPU | MTBIOS版本 |
|---|---|---|---|---|
| Hygon | X86_64 | UOS Desktop V20 Pro | s10, s30, s50 | QUYUAN >= 3.4.8 CHUNXIAO >= 2.4.1 SUDI >= 1.2.0 |
| Hygon | X86_64 | Kylin V10 SP1 | s10, s30, s50 | |
| Zhaoxin | X86_64 | UOS Desktop V20 Pro | s10, s30, s50 | |
| Zhaoxin | X86_64 | Kylin V10 SP1 | s10, s30, s50 | |
| Phytium | AArch64 | UOS Desktop V20 Pro | s10, s30, s50 | |
| Phytium | AArch64 | Kylin V10 SP1 | s10, s30, s50 | |
| Loongson | LoongArch64 | UOS Desktop V20 Pro | s10, s30, s50 | |
| Loongson | LoongArch64 | Kylin V10 SP1 | s10, s30, s50 | |
| Intel | X86_64 | Ubuntu 22.04.1 | s80, s4000, s3000, s2000 |
命令参考
mthreads-gmi v2.0.0 版本支持以下命令。
GPU 命令
mthreads-gmi
显示所有物理 GPU 的概览和 GPU 上运行 的进程级信息。虚拟 GPU 环境暂时不支持查询后者。
[可选项]
-i, --id=ID
按所选 ID(由 GPU 数量标识)显示单个指定 GPU 的数据。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询索引为 0 的 GPU 信息。
mthreads-gmi -i 0
mthreads-gmi [--list-gpus | -L]
依次列出系统中 每个摩尔线程 GPU 及其 UUID。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi [--query | -q]
显示所有物理 GPU 的详细信息,包括名称、品牌、产品序列号、mtbios 的版本、pci 信息、内存、利用率、温度、风扇、电功率、时钟、显示接口、编码器统计信息和解码器统计信息。某些设备和环境不支持所有以上的信息。任何不支持的数据都会在输出显示为 "N/A "。
[可选项]
-i, --id=ID
按所选 ID(由 GPU 数量标识)显示单个指定 GPU 的数据。
-f FILE, --filename=FILE
将查询结果重定向到指定文件,而不是默认的 stdout 标准输出。
-d TYPE, --display=TYPE
允许调用者传递要查询的属性列表,属性值包括:MEMORY、UTILIZATION、TEMPERATURE、CLOCK、FAN、VIDEO、POWER、PAGE_RETIREMENT 和 PERFORMANCE。
-l SEC, --loop=SEC
按照指定的时间间隔持续报告查询数据,而不是默认的只报告一次。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
--json
结果显示为 JSON 格式。
示例
查询索引为 0 的 GPU 的显存信息。
mthreads-gmi --query -i 0 -d MEMORY
每 10 秒钟查询一次所有 GPU 的属性,并将输出保存到日志文件中。
mthreads-gmi --query -l 10 -f log
mthreads-gmi [--help | -h]
打印 mthreads-gmi 支持的命令帮助信息。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi [--reset | -r] [ --id | -i]
在无需重启机器情况下重置 GPU 硬件和软件状态。并不保证 GPU 重置在所有情况下都有效。目前不建议在生产环境中使用。
需要指定一个选项:
- mthreads-gmi -r 0: 重置 GPU 子系统。
- mthreads-gmi -r 1: 重置 GPU 子系统和硬件错误计数器。
- mthreads-gmi -r 2: 重置整个设备,包括选项 0 和 1 中的内容。
mthreads-gmi [--process-monitor | -pm]
监控 GPU 上的活动进程信息。
[可选项]
-l SEC, --loop=SEC
按照指定的时间间隔持续报告查询数据,而不是默认的只报告一次。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi [--ecc-config | -e]
启用或禁用 DDR ECC 模式。
需要指定一个选项:
- mthreads-gmi -e 0: 关闭 DDR ECC 模式。
- mthreads-gmi -e 1: 启用 DDR ECC 模式。
[可选项]
-i, --id=ID
按所选 ID(由 GPU 数量标识)显示单个指定 GPU 的数据。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi [--query-retired-pages | -qrp]
以 CSV 格式显示详细的 DDR page retirement 信息。
可指定的选项包括:
- timestamp:查询的时间戳,格式为 "YYYY/MM/DD HH:MM:SS.msec"。
- gpu_uuid:GPU 的全局唯一不可变标识符。
- retired_pages.address: page retirement 的地址
- retired_pages.cause: page retirement 的原因,可能的值有:
- Double Bit ECC: 表示由于双位 ECC 错误而停用。
- Single Bit ECC: 表示由于多个单位 ECC 错误而停用。
- retired_pages.timestamp: page retirement 的时间戳。
[可选项]
-i, --id=ID
按所选 ID(由 GPU 数量标识)显示单个指定 GPU 的数据。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi [--concise-format | -cf]
显示所有物理 GPU 的概览和 GPU 上运行的进程级信息。虚拟 GPU 环境暂时不支持后者。
[可选项]
--list-gpus | -L
列出系统中每个摩尔线程 GPU 及其 UUID。
--debug=FILE
生成加密日志到指定文件,便于开发人员调 试。
示例
查询 GPU 信息,隐藏所有 MPC 实例实体。
mthreads-gmi -L -cf
MPC命令
mthreads-gmi mpc [-enable] [--id | -i]
为目标设备启用 MPC 模式。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
为设备 0 启用 MPC 模式。
mthreads-gmi mpc -enable -i 0
mthreads-gmi mpc [--list-mpc-config | -lmc] [--id | -i]
查询支持的配置和配置文件。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询设备 0 支持的配置和配置文件。
mthreads-gmi mpc -lmc -i 0
mthreads-gmi mpc [--config-mpc | -cm] [--id | -i]
使用指定 ConfigID 的配置为目标设备配置 MPC 模式。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
使用配置 15 为设备 0 配置 MPC 模式。
mthreads-gmi mpc -cm 15 -i 0
mthreads-gmi mpc [--list-mpc-instances | -lmi]
列出已创建的所有 MPC 实例。
[可选项]
-i, --id=ID
按所选 ID(由 GPU 数量标识)显示单个指定 GPU 的数据。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi mpc [-disable] [--id | -i]
禁用目标设备的 MPC 模式。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
拓扑命令
列出 系统中 GPU 的拓扑信息,包括它们的连接方式以及支持 RDMA 的合格网卡。
mthreads-gmi topo [--matrix | -m]
显示带有以下图例的可用 GPU 矩阵:
X = Self
SYS = Topology path in the system
NODE = Topology path connected to the same NUMA node but possibly multiple host bridges
HPB = Topology path connected to the same host bridge
MPB = Topology path that does not need to traverse a host bridge
SPS = Topology path that only needs to traverse a single PCIe switch
INT = Topology path within the same card, e.g. devices on the same S2000 card
MTx = Topology path that is a bonded set of x MTLinks
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
mthreads-gmi topo [--p2pstatus | -p2p]
显示给定 p2p 功能的 GPU 之间的 p2p 状态.
需要指定一个选项:
- mthreads-gmi topo -p2p r: 指定获取 p2p 读取能力
- mthreads-gmi topo -p2p w:指定获取 p2p 写入能力
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询 GPU 之间的 p2p 读取能力。
mthreads-gmi topo -p2p r
mthreads-gmi topo [--nearest-gpus | -n] [--id | -i]
显示通过给定遍历路径连接到目标设备的最近 GPU。
需要指定一个选项:
- mthreads-gmi topo -n 0: 内部连接(例如 S2000)
- mthreads-gmi topo -n 1: 单个 PCIe 交换机
- mthreads-gmi topo -n 2: 多个 PCIe 交换机
- mthreads-gmi topo -n 3: PCIe 主桥
- mthreads-gmi topo -n 4: PCIe 主桥之间的 CPU 互联链路
- mthreads-gmi topo -n 5: NUMA 节点之间的 SMP 互联链路
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询通过多个 PCIe 交换机连接到 GPU 0 的最近 GPU。
mthreads-gmi topo -n 2 -i 0
mthreads-gmi topo [--gpu-path | -p] [--id | -i]
显示一对 GPU 之间的最直接路径,其中 -i 必须指定一对设备 ID。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询 GPU 0 与 GPU 1 之间最直接的遍历路径。
mthreads-gmi topo -p -i 0,1
MTLink 命令
mthreads-gmi mtlink [--status| -s]
查询 mtlink 状态。有效状态:LINK UP(链接启动)和 LINK DOWN(链接关闭)。
[可选项]
-i, --id=ID
显示单个指定 GPU 的数据。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询所有 GPU 的 mtlink 状态。
mthreads-gmi mtlink -s
mthreads-gmi mtlink [--capabilities | -c]
查询指定 GPU 所有 mtlink 的能力状态。
[可选项]
-i, --id=ID
显示单个指定 GPU 的数据。
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询所有 GPU mtlink 的能力状态。
mthreads-gmi mtlink -c
mthreads-gmi mtlink [--remotelinkinfo| -r] [--id | -i] [--link | -l]
查询通过指定 GPU 的指定 mtlink 直接连接的远程设备。
[可选项]
--debug=FILE
生成加密日志到指定文件,便于开发人员调试。
示例
查询通过 GPU 0 的 mtlink 1 连接的远程设备。
mthreads-gmi mtlink -r -i 0 -l 1