GPU遇到问题列表

131 阅读1分钟

如何将程序运行在指定的NPU上

参考资料

www.hiascend.com/document/de…

测试用例

case1: export ASCEND_RT_VISIBLE_DEVICES=1

结论:

  1. torch_npu.npu.device_count() 结果符合预期
  2. torch_npu.npu.current_device() 结果符合预期
  3. a = torch.randn([2, 3]) 结果符合预期,程序运行在0号npu上(对应的物理npu是1号)
  4. a = torch.randn([2, 3], device="npu:1") 结果不符合预期,应该抛出异常,因为超出了索引范围

case2: export ASCEND_RT_VISIBLE_DEVICES=4,5

结论:

  1. torch_npu.npu.device_count() 结果符合预期
  2. torch_npu.npu.current_device() 结果符合预期
  3. a = torch.randn([2, 3]) 结果符合预期,程序运行在0号npu上(对应的物理npu是4号)
  4. b = torch.randn([2, 3], device="npu:1") 结果不符合预期,程序应该运行在1号npu上(对应的物理npu是5号)

昆仑服务器numa分组数调整

  1. 先不断按DEL键进入如下界面,然后右下角的Setup Utility进入BIOS界面

  2. "Advanced" --> "Socket Configuration" --> "Uncore Configuration" --> "Uncore General Configuration"进入设置SNC页面

  3. 参考资料:support.xfusion.com/support/#/z…

  4. 调整完之后的效果,执行lscpu命令进行查看

昇腾服务器TLS状态一致性问题排查

通过命令for i in {0..15}; do hccn_tool -i $i -tls -g; done | grep switch查看昇腾服务器TLS状态

上图服务器TLS状态为使能状态

上图服务器TLS状态为关闭状态

在上述两台服务器中,ascb007为新维修的服务器,TLS配置为1,其它为未维修的服务器TLS配置为0,服务器TLS状态不一致导致通信建连失败

问题根因

参与集合通信的各服务器TLS状态开关不一致,或者当TLS状态开关统一打开时,TLS证书信息不一致,造成集合通信建连失败。

常见于维修更换模组的场景。维修更换模组可能有些卡没有导入TLS证书,或者TLS的配置不一致。

推荐将服务器TLS状态开启还是关闭,待华为侧给出建议,目前线上昇腾服务器的TLS状态都是关闭的

问题修复命令

for i in {0..15}; do hccn_tool -i $i -tls -s enable 0; done

参考资料

www.hiascend.com/document/de…

npu-smi info失败问题排查流程

问题描述

主机ascb025.ai.shcdt.qihoo.net执行npu-smi info报如下问题:

通过dmesg -T | grep -i err 报如下信息

排查流程

(一)通过lspci | grep acc,先看下有没有卡

正常情况如下:

异常情况如下:

(二)若无卡,则需要收集以下信息

  1. 收集lspci日志,lspci -tv &> lspci_tv.log

  2. 收集BMC截图

  3. 收集BMC日志

NPU卡异常信息汇总

NPU卡Critical现场记录