如何将程序运行在指定的NPU上
参考资料
测试用例
case1: export ASCEND_RT_VISIBLE_DEVICES=1
结论:
- torch_npu.npu.device_count() 结果符合预期
- torch_npu.npu.current_device() 结果符合预期
- a = torch.randn([2, 3]) 结果符合预期,程序运行在0号npu上(对应的物理npu是1号)
- a = torch.randn([2, 3], device="npu:1") 结果不符合预期,应该抛出异常,因为超出了索引范围
case2: export ASCEND_RT_VISIBLE_DEVICES=4,5
结论:
- torch_npu.npu.device_count() 结果符合预期
- torch_npu.npu.current_device() 结果符合预期
- a = torch.randn([2, 3]) 结果符合预期,程序运行在0号npu上(对应的物理npu是4号)
- b = torch.randn([2, 3], device="npu:1") 结果不符合预期,程序应该运行在1号npu上(对应的物理npu是5号)
昆仑服务器numa分组数调整
-
先不断按DEL键进入如下界面,然后右下角的Setup Utility进入BIOS界面
-
"Advanced" --> "Socket Configuration" --> "Uncore Configuration" --> "Uncore General Configuration"进入设置SNC页面
-
参考资料:support.xfusion.com/support/#/z…
-
调整完之后的效果,执行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
参考资料
npu-smi info失败问题排查流程
问题描述
主机ascb025.ai.shcdt.qihoo.net执行npu-smi info报如下问题:
通过dmesg -T | grep -i err 报如下信息
排查流程
(一)通过lspci | grep acc,先看下有没有卡
正常情况如下:
异常情况如下:
(二)若无卡,则需要收集以下信息
-
收集lspci日志,lspci -tv &> lspci_tv.log
-
收集BMC截图
-
收集BMC日志
NPU卡异常信息汇总
NPU卡Critical现场记录