模型训练时NPU没有动,无法调用NPU,实际上为CPU在处理
收藏回复举报
模型训练时NPU没有动,无法调用NPU,实际上为CPU在处理
t('forum.solved') 已解决
发表于2023-06-29 19:28:58
0 查看

我将模型迁移完之后,运行时发现显存有占用3G,但是内存占用13G,且NPU占用率一直为0

我写了一个demo来测试NPU,发现所有的运算均在CPU上进行,而显卡并没有参与。

以下为我的demo代码:

 

import torch 

import torch_npu 

# 检查是否有可用的GPU 

device = torch.device("npu" if torch_npu.npu.is_available() else "cpu") 

 

# 定义矩阵大小 

n = 1000000 

m = 2000000 

p = 1500000 

 

# 生成随机矩阵 

A = torch.randn(n, m).to(device) 

B = torch.randn(m, p).to(device) 

 

# 执行矩阵乘法操作 

C = torch.matmul(A, B) 

 

# 等待计算完成 

torch_npu.npu.synchronize() 

 

# 打印显存使用情况 

allocated_memory = torch_npu.npu.memory_allocated(device) 

cached_memory = torch_npu.npu.memory_cached(device) 

 

print(f"Allocated memory: {allocated_memory / 1024 / 1024} MB") 

print(f"Cached memory: {cached_memory / 1024 / 1024} MB") 

以下为资源使用情况:

cke_3960.png

我要发帖子