跳转至

摩尔线程GPU

使用PyTorch

首先建议选择我们已经做好的基础镜像中PyTorch框架的镜像创建实例,然后对于基于NVIDIA的PyTorch代码,需要进行简单几步改造即可在摩尔线程GPU上运行,请看下方示例:

# NVIDIA PyTorch 代码
import torch

x = torch.randn(10000, 10000).cuda()
y = torch.randn(10000, 10000).cuda()
for _ in range(1000):
    z = x.mm(y)
print(z)


# 改造为摩尔线程GPU上可运行的代码
# 第一步:import torch后,立即import torch_musa(musa为摩尔的'cuda')
# 第二步:cuda()函数换为musa()
import torch
import torch_musa

x = torch.randn(10000, 10000).musa()
y = torch.randn(10000, 10000).musa()
for _ in range(1000):
    z = x.mm(y)
print(z)

更加复杂的例子

以下是NVIDIA PyTorch ResNet网络使用MNIST数据集训练的代码

# 下载代码
wget https://autodl-public.ks3-cn-beijing.ksyuncs.com/debug/dp_res18.py

# 执行代码训练,自动会下载MNIST数据集
python dp_res18.py

以下是基于上面代码改造后的可使用摩尔线程GPU的代码

# 下载代码
wget https://autodl-public.ks3-cn-beijing.ksyuncs.com/npu_chips/moore_threads/dp_res18_mt.py

# 执行代码训练,自动会下载MNIST数据集
python dp_res18_mt.py

两者代码的差异:

# diff dp_res18.py dp_res18_mt.py
8a9
> import torch_musa
29c30,31
< device = 'cuda' if torch.cuda.is_available() else 'cpu'
---
> device = 'musa' if torch.musa.is_available() else 'cpu'
> print("Detect device:", device)


# 从diff两个文件的结果可以看出,除多了import torch_musa和替换了cuda→musa,其他均相同

摩尔线程GPU使用率监控

查看GPU使用率、显存使用量等

使用mthreads-gmi命令

# mthreads-gmi
Fri Apr 18 15:41:55 2025
---------------------------------------------------------------
    mthreads-gmi:1.14.0          Driver Version:2.7.0
---------------------------------------------------------------
ID   Name           |PCIe                |%GPU  Mem
     Device Type    |Pcie Lane Width     |Temp  MPC Capable
                                         |      ECC Mode
+-------------------------------------------------------------+
0    MTT S4000      |00000000:12:00.0    |0%    4MiB(49152MiB)
     Physical       |16x(16x)            |41C   YES
                                         |      N/A
---------------------------------------------------------------

---------------------------------------------------------------
Processes:
ID   PID       Process name                         GPU Memory
                                                         Usage
+-------------------------------------------------------------+
   No running processes found
---------------------------------------------------------------

更多算法和模型即将上线CodeWithGPU社区,您也可以访问摩尔线程官方 GitHub模型仓库 获取更多模型!