1、简单的调用npu
import torch
import torch_npu
x = torch.randn(10000, 10000).npu()
y = torch.randn(10000, 10000).npu()
for _ in range(10000):
z = x.mm(y)
这个代码的出现就会导致,核心使用99%,显存| 1633
2、安装torch-npu
安装方法看官网介绍,这个有些忘记了,可以看我的其余文档,现在假设已经正确安装torch-npu
可能有用的参考网站
**https://pypi.org/project/torch-npu
https://www.cnblogs.com/bonelee/p/18194079
第二个文档中的信息我验证是正确的,而且我也是按照第二个链接中的文档实验的
3、配置torch-npu
目的是:使用核心和占用显存
方法如下
import torch
import torch_npu
from torch_npu.contrib import transfer_to_npu
#1、后面跟从torch中导入的其余内容,如下
import torch.nn as nn
import torch.utils.data as Data
#2、其余地方把下面的第一行改成第二行就可以
# inputs, labels = inputs.float().to(device), labels.long().to(device)
inputs, labels = inputs.float().npu(), labels.long().npu()
其余地方我没变
注意事项
1、因为使用的是910b,性能很强大,我代码计算简单,核心利用率一直是0,但是实际上是用了核心的,为啥我这样说,看下面的验证
使用CPU训练时候,cpu占用
使用npu就是按照上面的方法修改后,cpu占用
不同之处是:使用CPU的时候其余的进程是间隙的出现接近50%利用率,但是使用npu的时候不存在,所以我断定我前面的方法是使用npu成功了