▼ 关注摩尔线程开发者公众号,及时获取摩尔线程开发者各类服务信息 ▼
在AI推理与训练系统中,GPU状态监控是保障稳定运行和优化资源利用的重要环节。显存占用、温度、功耗、多卡拓扑、P2P检测等信息,直接关系到性能问题的定位与资源调度的效率。
为了让Python开发者能以更高效的方式管理摩尔线程GPU,pymtml应运而生。它将底层的C接口封装为完整的Python绑定,使开发者告别繁琐的底层调用,以其熟悉的Pythonic风格轻松完成GPU资源的深度监控与调度。
原生赋能
全栈监控与安全的GPU管理
pymtml是摩尔线程GPU管理库(MTML)的Python绑定,底层通过ctypes动态加载 libmtml.so共享库,为开发者提供对摩尔线程GPU设备的监控与管理能力。该项目已在GitHub开源。
pymtml核心特性包括:
▼原生能力,全栈监控:
完整封装libmtml.so C库函数,提供原生MTML API。支持设备信息查询、GPU/显存/VPU利用率监控、多卡拓扑查询、P2P状态检测、MTLink互连检测等全面的GPU管理能力。
▼资源安全,开发友好:
内置智能上下文管理器 (mtmlGpuContext, mtmlMemoryContext, mtmlVpuContext),通过with语句自动管理GPU、显存、VPU子组件的生命周期,确保资源被正确初始化和释放,避免内存泄漏。
pymtml核心能力一览:

快速上手
pymtml的安装与使用
▼环境配置
硬件需使用摩尔线程全功能GPU并安装正确驱动,系统支持Python 3.7+及MTML库(2.2.0+)。可通过以下指令检查环境:
#检查 libmtml.so 是否可用
ldconfig -p | grep libmtml
#检查 GPU 设备
ls /dev/dri/render*▼极简安装
方式一:推荐通过pip直接安装
pip install mthreads-ml-py
方式二:从源码安装
git clone https://github.com/MooreThreads/mthreads-ml-py.git
cd mthreads-ml-py
pip install -e .方式三:构建wheel后安装
make build
pip install dist/*.whl▼典型案例
这段代码展示了基于pymtml获取底层硬件信息的原生调用方式。
仅需数行,即可完成运行库的初始化,并快速遍历查询当前系统中所有摩尔线程GPU的数量、名称与UUID。
from pymtml import *
mtmlLibraryInit()
device_count = mtmlLibraryCountDevice()
print(f"Found {device_count} GPU(s)")
for i in range(device_count):
device = mtmlLibraryInitDeviceByIndex(i)
name = mtmlDeviceGetName(device)
uuid = mtmlDeviceGetUUID(device)
print(f"Device {i}: {name} ({uuid})")
mtmlLibraryShutDown() 功能多样化
pymtml库MTML API一览
除了上述案例外,pymtml库还提供了直接对应摩尔线程底层管理库(MTML)功能的Python接口,主要包含三个部分:
▼pymtml库生命周期与设备管理:如 mtmlLibraryInit(初始化库)、mtmlLibraryCountDevice(获取GPU数量)等,是使用任何功能的基础。

▼GPU、显存(Memory)、视频处理单元(VPU)等子组件的监控:提供了查询利用率、温度、时钟、带宽等详细信息的专用函数。由于GPU、Memory、VPU是设备的子组件,需先初始化、用完后释放。这里推荐使用上下文管理器,避免资源泄漏。
#使用上下文管理器自动管理 GPU/Memory 子组件的初始化和释放
# GPU
with mtmlGpuContext(device) as gpu:
util = mtmlGpuGetUtilization(gpu)
temp = mtmlGpuGetTemperature(gpu)
clock = mtmlGpuGetClock(gpu)
# Memory
with mtmlMemoryContext(device) as memory:
total = mtmlMemoryGetTotal(memory)
used = mtmlMemoryGetUsed(memory)
util = mtmlMemoryGetUtilization(memory)
bandwidth = mtmlMemoryGetBandwidth(memory)
# VPU(视频处理单元)
with mtmlVpuContext(device) as vpu:
clock = mtmlVpuGetClock(vpu)
enc_cap, dec_cap = mtmlVpuGetCodecCapacity(vpu)▼多卡系统的高级功能:包括查询多卡互连(MTLink)状态、检测设备间拓扑关系、以及对等(P2P)通信能力等。拓扑层级包括同一GPU、单PCIe交换机、多PCIe交换机、主桥、同一NUMA节点、跨NUMA节点等多样化信息。

pymtml通过调用MTML原生能力,解决了GPU管理代码迁移的核心痛点,是连接现有AI生态与国产算力平台的关键桥梁。摩尔线程将持续深耕开发者生态,助力每一位开发者实现技术突破。
了解更多摩尔线程pymtml信息,请访问:
▼摩尔线程博客:
https://blog.mthreads.com/blog/musa/2026-02-28-pymtml/
▼摩尔线程GitHub官方仓库:

