当前位置: 首页 > news >正文

昇腾多卡通信教程【配置网络检测对象IP】

无法通信会出现的错误如下

一、网络健康状态报错

命令原型

hccn_tool [-i %d] -netdetect -s [address %s]

命令功能
本功能支持用户执行命令获取网络健康状态(本端与所配置的检测IP之间的连通状态),用户可指定上报的状态信息名称。

状态信息:

0:Success;1:Socket fail;2:Receive timeout;3:Unreachable;4:Time exceeded;5:Fault;6:Init;7:Thread error;8:Detect ip set;其它:Unknown。

参数说明

参数说明
-i指定设备ID。取值范围:0~7。
-net_health指定网络健康状态属性。
-g获取属性。

使用样例

hccn_tool -i 1 -net_health -g

报错

net health status: Init

二、运行hccl_tools.py报错

根据RANK_TABLE_FILE准备----单机8卡
运行mindformers/tools/hccl_tools.py,生成RANK_TABLE_FILE文件

# 运行如下命令,生成当前机器的RANK_TABLE_FILE的json文件
python ./mindformers/tools/hccl_tools.py --device_num "[0,8)"

报错

start /home/HwHiAiUser/mindformers/./mindformers/tools/hccl_tools.py
visible_devices:['0', '1', '2', '3', '4', '5', '6', '7']
server_id:127.0.0.1
device_num_list: [0, 1, 2, 3, 4, 5, 6, 7]
Command execute failed!
Failed to call hccn_tool, try to read /etc/hccn.conf instead
Traceback (most recent call last):File "/home/HwHiAiUser/mindformers/./mindformers/tools/hccl_tools.py", line 163, in <module>main()File "/home/HwHiAiUser/mindformers/./mindformers/tools/hccl_tools.py", line 137, in maindevice_ip = device_ips[device_id]
KeyError: '0'

三、多卡推理报错

多卡推理baichuan2-13b,这个时候已经解决了上面的报错,但是这时多卡依然无法通信,报错EI0004,官网论坛以及昇思文档还有gitee都没有解决方案
报错

[WARNING] Distributed Communication has not been inited. Use default RANK_SIZE: 1
[WARNING] Distributed Communication has not been inited. Use default RANK_ID: 0
Traceback (most recent call last):File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/mindformers/core/context/build_context.py", line 95, in init_contextinit()File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/mindspore/communication/management.py", line 171, in initinit_hccl()
RuntimeError: Ascend collective communication initialization failed.----------------------------------------------------
- Ascend Error Message:
----------------------------------------------------
EI0004: The ranktable or rank is invalid,Reason:[The ranktable config devId is inconsistent with the local devId.]. Please check the configured ranktable. [{"server_count":"1","server_list":[{"device":[{"device_id":"0","device_ip":"192.168.2.60","rank_id":"0"},{"device_id":"1","device_ip":"192.168.3.60","rank_id":"1"},{"device_id":"2","device_ip":"192.168.4.60","rank_id":"2"},{"device_id":"3","device_ip":"192.168.5.60","rank_id":"3"},{"device_id":"4","device_ip":"192.168.6.60","rank_id":"4"},{"device_id":"5","device_ip":"192.168.7.60","rank_id":"5"},{"device_id":"6","device_ip":"192.168.8.60","rank_id":"6"},{"device_id":"7","device_ip":"192.168.9.60","rank_id":"7"}],"host_nic_ip":"reserve","server_id":"127.0.0.1"}],"status":"completed","version":"1.0"}]Solution: Try again with a valid cluster configuration in the ranktable file. Ensure that the configuration matches the operating environment.(Please search "Ascend Error Message" at https://www.mindspore.cn for error code description)----------------------------------------------------
- Framework Error Message: (For framework developers)
----------------------------------------------------
Init hccl graph adapter failed.
----------------------------------------------------
- C++ Call Stack: (For framework developers)
----------------------------------------------------
mindspore/ccsrc/plugin/device/ascend/hal/hardware/ascend_collective_comm_lib.cc:129 Initialize
mindspore/ccsrc/plugin/device/ascend/hal/hccl_adapter/hccl_adapter.cc:452 InitKernelInfoStoreDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/HwHiAiUser/mindformers/research/baichuan2/run_baichuan2_pipeline.py", line 35, in <module>build_context(baichuan2_config)File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/mindformers/core/context/build_context.py", line 43, in build_contextlocal_rank, device_num = init_context(use_parallel=config.use_parallel,File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/mindformers/core/context/build_context.py", line 97, in init_contextraise RuntimeError("Notice: if you are trying to run with a single device, please set "
RuntimeError: Notice: if you are trying to run with a single device, please set use_parallel=False. If not, please check the error message above.

解决方案

第一步:编译HCCL

参考:昇腾社区—CANN社区版—开发工具—HCCL性能测试工具—工具编译

第二步:配置网卡

1、RoCE网卡IP地址和子网掩码

命令原型

hccn_tool [-i %d] -ip -s [address %s] [netmask %s]

命令功能
配置RoCE网卡的IP地址、子网掩码。

参数说明

参数说明
-i指定设备ID。取值范围:0~7。
-ip指定IP属性。
-s设置属性。
addressIP地址。
netmask子网掩码。

约束说明
该命令仅支持在物理机root用户下运行。

使用样例

hccn_tool -i 0 -ip -s address 192.168.10.61 netmask 255.255.255.0
hccn_tool -i 1 -ip -s address 192.168.10.62 netmask 255.255.255.0
hccn_tool -i 2 -ip -s address 192.168.10.63 netmask 255.255.255.0
hccn_tool -i 3 -ip -s address 192.168.10.64 netmask 255.255.255.0
hccn_tool -i 4 -ip -s address 192.168.10.65 netmask 255.255.255.0
hccn_tool -i 5 -ip -s address 192.168.10.66 netmask 255.255.255.0
hccn_tool -i 6 -ip -s address 192.168.10.67 netmask 255.255.255.0
hccn_tool -i 7 -ip -s address 192.168.10.68 netmask 255.255.255.0

注意事项
我的服务器IP是192.168.10.60,所以设置显卡ip需要以192.168.10为起始
针对AI Server上每个Device侧OS管理8块昇腾AI处理器,需要为每个OS上的8块网卡配置不同的IP。
首次配置IP时会出现15秒后link状态变为down,然后恢复up状态的情况。
192.168.1.X、192.168.2.192、192.168.2.196、192.168.3.193、192.168.3.197、192.168.4.194、192.168.4.198、192.168.5.195和192.168.5.199用于板内网络通信使用,不支持配置。

2、配置路由

hccn_tool -i 0 -gateway -s gateway 192.168.10.60
hccn_tool -i 1 -gateway -s gateway 192.168.10.60
hccn_tool -i 2 -gateway -s gateway 192.168.10.60
hccn_tool -i 3 -gateway -s gateway 192.168.10.60
hccn_tool -i 4 -gateway -s gateway 192.168.10.60
hccn_tool -i 5 -gateway -s gateway 192.168.10.60
hccn_tool -i 6 -gateway -s gateway 192.168.10.60
hccn_tool -i 7 -gateway -s gateway 192.168.10.60

3、配置NPU网口检测IP地址(网络检测对象IP)

命令原型

hccn_tool [-i %d] -netdetect -s [address %s]

命令功能
配置网络检测对象IP。该功能主要用于检测网络状态,当多台服务器进行分布式训练时,可将检测对象IP配置为网段内的网关地址,服务器会定时检测和网关地址通信是否正常,从而实现检测服务器参数面网络状态是否正常的效果。该功能需配合获取网络健康状态使用。

参数说明

参数说明
-i指定设备ID。取值范围:0~7。
-netdetect指定网络检测对象IP属性。
-s设置属性。
addressIP地址。

约束说明
该命令仅支持在物理机的root用户下运行。

使用样例

hccn_tool -i 0 -netdetect -s address 192.168.10.60
hccn_tool -i 1 -netdetect -s address 192.168.10.60
hccn_tool -i 2 -netdetect -s address 192.168.10.60
hccn_tool -i 3 -netdetect -s address 192.168.10.60
hccn_tool -i 4 -netdetect -s address 192.168.10.60
hccn_tool -i 5 -netdetect -s address 192.168.10.60
hccn_tool -i 6 -netdetect -s address 192.168.10.60
hccn_tool -i 7 -netdetect -s address 192.168.10.60

设置完成后随意检查一块显卡的健康状态

hccn_tool -i 7 -net_health -g

返回Success即为成功,这样就解决了bug-1和bug-3

net health status: Success

以上操作参考Ascend Training Solution 23.0.RC3 组网指南 01

设置完成后运行hccl_tools.py

start /home/HwHiAiUser/mindformers/./mindformers/tools/hccl_tools.py
visible_devices:['0', '1', '2', '3', '4', '5', '6', '7']
server_id:127.0.0.1
device_num_list: [0, 1, 2, 3, 4, 5, 6, 7]
rank_id:0, device_id:0, device_ip:192.168.10.61
rank_id:1, device_id:1, device_ip:192.168.10.62
rank_id:2, device_id:2, device_ip:192.168.10.63
rank_id:3, device_id:3, device_ip:192.168.10.64
rank_id:4, device_id:4, device_ip:192.168.10.65
rank_id:5, device_id:5, device_ip:192.168.10.66
rank_id:6, device_id:6, device_ip:192.168.10.67
rank_id:7, device_id:7, device_ip:192.168.10.68
Completed: hccl file was save in : /home/HwHiAiUser/mindformers/hccl_8p_01234567_127.0.0.1.json

这样就算是成功了,bug-2就解决了

http://www.lryc.cn/news/273650.html

相关文章:

  • PKI 公钥基础设施,公钥私钥,信息摘要,数字签名,数字证书
  • 企业Aspera替代方案有哪些推荐
  • vue3 vuedraggable draggable element must have an item slot
  • 如何缓解BOT攻击?分享灵活准确的防御之道
  • 了解JavaScript的执行环境及作用域
  • 嵌套调用和链式访问
  • DBA技术栈(二):MySQL 存储引擎
  • java发送邮件到qq邮箱
  • MySQL中的JSON数据类型计数及多张表COUNT的数据相加
  • XDOJ78.机器人
  • 分布式系统架构设计之分布式事务的概述和面临的挑战
  • 私有化部署你的甘特图协作工具
  • 编程笔记 html5cssjs 011 HTML内连框架
  • Stable Diffusion 系列教程 - 5 ControlNet
  • 【导出与导入Virtualbox虚拟机和启动连接openGauss数据库】
  • “华为杯”杭州电子科技大学2023新生编程大赛---树
  • 使用pnnx将Torch模型转换为ncnn
  • linux卸载小皮面板phpstudy教程
  • 【萤火虫系列教程】1/5-Adobe Firefly 注册账号
  • 【docker】Dockerfile 指令详解
  • 内存管理机制
  • Jenkins工具使用
  • SpringBoot从配置文件中获取属性的方法
  • oracle物化视图
  • 基于ssm校园线上订餐系统的设计与实现论文
  • 鸿蒙南向开发—OpenHarmony技术编译构建框架
  • Android Jetpack学习系列——Navigation
  • 编程语言的新趋势
  • C++:类和对象(2)
  • 【React系列】网络框架axios库的使用