当前位置: 首页 > 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就解决了

相关文章:

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

无法通信会出现的错误如下 一、网络健康状态报错 命令原型 hccn_tool [-i %d] -netdetect -s [address %s]命令功能 本功能支持用户执行命令获取网络健康状态&#xff08;本端与所配置的检测IP之间的连通状态&#xff09;&#xff0c;用户可指定上报的状态信息名称。 状态信…...

PKI 公钥基础设施,公钥私钥,信息摘要,数字签名,数字证书

PKI 公钥基础设施 https 基于 PKI 技术。PKI&#xff08;Public Key Infrastructure&#xff0c;公钥基础设施&#xff09;是一种安全体系结构&#xff0c;用于管理数字证书和密钥对&#xff0c;以确保安全的数据传输和身份验证。PKI 采用了公钥加密技术&#xff0c;其中每个实…...

企业Aspera替代方案有哪些推荐

随着企业数据量的不断增加&#xff0c;数据传输和共享成为了一个重要的问题。Aspera是一款高性能、低延迟的数据传输工具&#xff0c;但是它并不是万能的&#xff0c;随着数据量的不断增大&#xff0c;也有一些企业需要寻找Aspera的替代方案。本文将介绍三种常用的企业Aspera替…...

vue3 vuedraggable draggable element must have an item slot

vue3vite 看官网使用这种<template #item“{ element }”> <draggablev-model"myArray"start"onStart"end"onEnd":sort"false"item-key"id"draggable".item"handle".mover" ><template…...

如何缓解BOT攻击?分享灵活准确的防御之道

BOT流量在所有互联网流量中的占比过半&#xff0c;而且存在好坏之分。其中“好”的BOT&#xff0c;比如在互联网上搜索和查找内容的BOT&#xff0c;它们是我们不可或缺的帮手。恶意的BOT进行信息数据爬取、薅羊毛等攻击行为&#xff0c;正损害着企业和用户的利益。专业数据统计…...

了解JavaScript的执行环境及作用域

一、执行环境 执行环境定义了变量或函数有权访问的其他数据&#xff0c;决定了它们的各自行为。每个执行环境都有一个与之关联的变量对象&#xff0c;环境中定义的所有变量和函数都保存在这个对象中。虽然我们无法访问这个对象&#xff0c;但是解析器在处理数据时会在后台使用它…...

嵌套调用和链式访问

嵌套调用 嵌套调用就是函数之间的互相调用&#xff0c;每个函数就是⼀个乐高零件&#xff0c;正是因为多个乐高的零件互相无缝的配合才能搭建出精美的乐高玩具&#xff0c;也正是因为函数之间有效的互相调用&#xff0c;最后写出来了相对大型的程序。 假设我们计算某年…...

DBA技术栈(二):MySQL 存储引擎

2.1 MySQL存储引擎概述 上个业余的图&#xff1a; MyISAM 存储引擎是 MySQL 默认的存储引擎&#xff0c;也是目前 MySQL 使用最为广泛的存储引擎之一。他的前身就是我们在 MySQL 发展历程中所提到的 ISAM&#xff0c;是 ISAM 的升级版本。在 MySQL最开始发行的时候是 ISAM 存…...

java发送邮件到qq邮箱

自己的授权码自己记好 引入依赖 <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version> </dependency> <dependency><groupId>javax.mail</groupId>&…...

MySQL中的JSON数据类型计数及多张表COUNT的数据相加

1.使用场景&#xff1a;在MySQL中&#xff0c;JSON作为一种数据类型存储在表的列中。需计算键值对的数量。 2.方法&#xff1a;SELECT COUNT(chief>$.number) FROM t_projectapplication where id #{id};&#xff08;t_projectapplication&#xff1a;表&#xff1b;chief&…...

XDOJ78.机器人

标题 机器人 类别 综合 时间限制 1S 内存限制 256Kb 问题描述 机器人按照给定的指令在网格中移动&#xff0c;指令有以下四种&#xff1a; N 向北&#xff08;上&#xff09;移动 S 向南&#xff08;下&#xff09;移动 E 向东&#xff08;右&#xff09;移动 W 向西&…...

分布式系统架构设计之分布式事务的概述和面临的挑战

在当今大规模应用和服务的背景下&#xff0c;分布式系统的广泛应用已经成为了一种必然的主流趋势。然后&#xff0c;伴随着分布式系统的应用范围的增长&#xff0c;分布式事务处理成为了一个至关重要的关键话题。在传统的单体系统中&#xff0c;事务处理通常相对简单&#xff0…...

私有化部署你的甘特图协作工具

安装 首先去官网 https://zz-plan.com/deploy 下载对应的版本 arm是对应m1 m2 m3的mac amd是老的intel处理器 准备工作 安装mysql zz-plan需要依赖mysql 生成token 解压下载的压缩包 创建token./zz-plan -c 复制创建的token去获取授权码&#xff0c;点击获取免费授权码 …...

编程笔记 html5cssjs 011 HTML内连框架

编程笔记 html5&css&js 011 HTML内连框架 一、内连框架&#xff08;一&#xff09;意义&#xff08;二&#xff09;属性 二、操作注意 接下来要看一下网页内的划分。通过内连框架在当前页面嵌入一个特定内容&#xff0c;是一种特定需要。 一、内连框架 HTML 内联框架元…...

Stable Diffusion 系列教程 - 5 ControlNet

ControlNet和LORA的定位都是对大模型做微调的额外网络。作为入门SD的最后一块拼图是必须要去了解和开发的。为什么ControlNet的影响力如此的大&#xff1f;在它之前&#xff0c;基于扩散模型的AIGC是非常难以控制的&#xff0c;扩散整张图像的过程充满了随机性。这种随机性并不…...

【导出与导入Virtualbox虚拟机和启动连接openGauss数据库】

【导出与导入Virtualbox虚拟机和启动连接openGauss数据库】 一、导出虚拟机二、导入虚拟机三、启动数据库四、使用Data Studio连接数据库 一、导出虚拟机 选择关机状态的虚拟机 -> 管理菜单 -> 导出虚拟电脑 点击完成后&#xff0c;需要等待一小段时间&#xff0c;如…...

“华为杯”杭州电子科技大学2023新生编程大赛---树

题目链接 Problem Description 给定一棵包含 n 个节点的带边权的树&#xff0c;树是一个无环的无向联通图。定义 xordist(u,v) 为节点 u 到 v 的简单路径上所有边权值的异或和。 有 q 次询问&#xff0c;每次给出 l r x&#xff0c;求 ∑rilxordist(i,x) 的值。 Input 测试…...

使用pnnx将Torch模型转换为ncnn

1. 引言 以往我们将Torch模型转换为ncnn模型&#xff0c;通常需经过Torch–>onnx&#xff0c;onnx–>ncnn两个过程。但经常会出现某些算子不支持的问题。 ncnn作者针对该问题&#xff0c;直接开发一个Torch直接转换ncnn模型的工具 (PNNX)&#xff0c;以下为相关介绍及使…...

linux卸载小皮面板phpstudy教程

千万不要直接删文件夹&#xff01; 千万不要直接删文件夹&#xff01; 千万不要直接删文件夹&#xff01; 我就是按照网上搜索的教程&#xff0c;直接删了&#xff0c;然后 系统就不停的崩溃 生成这种文件&#xff1a; -rw------- 1 root root 223M Dec 28 22:36…...

【萤火虫系列教程】1/5-Adobe Firefly 注册账号

001-Adobe Firefly 注册账号 AI时代如火如荼&#xff0c;Adobe也不甘落后&#xff0c;于今年3月份发布AI创意生成工具Firefly&#xff08;中文翻译&#xff1a;萤火虫&#xff09; Adobe Firefly简介 Adobe Firefly的官方介绍为&#xff1a;Firefly是Adobe产品中新的创意生成…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...