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

CANN/shmem Root Info工具指南

Root Info Generate 工具 - 用户指南【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmem概述root_info_generate是一个辅助工具用于查看Ascend950 NPU设备拓扑地址信息帮助用户了解组网结构和设备配置。重要说明支持范围当前仅支持Ascend950平台自动生成root info信息会在SHMEM初始化时自动调用相关接口生成无需用户手动执行工具辅助用途本工具主要用于辅助用户查看和了解组网拓扑、EID地址等信息便于开发和调试非必需操作正常使用SHMEM时用户不需要手动运行此工具背景知识简介昇腾芯片在950代际中超平面使用Unified BusUB总线组网在不同产品形态中使用多种不同的拓扑组网方式。本模块用于发现不同拓扑下每条边的端点地址。组网介绍组网主要采用了MESH和CLOS两种类型组网。相关介绍可参考论文https://arxiv.org/abs/2503.20377MESH组网每个NPU之间均有一条直连的物理链路因此有一对独立的通信地址。示例在同一个NPU板上有8个NPU因此存在8*7/2 28条物理路径即28对通信地址。特点直连链路无交换芯片通信质量最高时延最低地址数量N*(N-1)/2 对地址N为NPU数量CLOS组网任意两个NPU之间通过交换芯片转发因此一个NPU只需一个地址。多平面设计在常见组网中由于可靠性等原因CLOS组网通常分为多个平面每个平面对应一个地址。示例在液冷POD中NPU使用两个独立的逻辑口连接两个分开的网络平面。特点通过交换芯片转发地址数量与平面数量相同可实现流量分担和冗余组网规划网络层级说明在950芯片代际中按通信质量和范围将网络划分为多层网络层级说明层级0通信质量最高时延最低。多为MESH组网主要是同一个NPU单板内的fullmesh网络和POD形态的框级网络层级1通信质量次高时延中等。为CLOS组网通信范围较大为超节点范围仍然在scale up范围内层级2通信质量最低CLOS组网通信范围为整个集群主要是ROCE或者UBOE这类scale out网络层级特点对比层级0板内/框内通信最优质量层级1超节点内通信中等质量层级2集群间通信最低质量但范围最大网络地址说明网络层级地址规划说明层级0由于是MESH组网为主因此有多对通信地址。在拓扑信息中表示为每个NPU上每个端口的地址。地址类型EID层级1根据组网平面填写地址多平面组网时地址数量与平面数量相同。集合通信在不同平面之间做流量分担。地址类型EID层级2地址规划与层级1相同。地址类型IP地址地址类型说明EID (Extended ID)扩展标识符用于层级0和层级1的UB网络通信IP地址用于层级2的scale out网络通信如RoCE、UBOEEID地址格式EID地址为16字节128位在JSON输出中表示为32位十六进制字符串格式示例: 000000000000006000100000dfdf008b 长度: 32个十六进制字符 16字节EID结构参考包含subnet_prefix子网前缀包含interface_id接口标识用于UB网络的端点寻址功能特性拓扑查询: 获取指定NPU的完整拓扑地址信息缓冲区检测: 自动获取拓扑数据所需缓冲区大小文件路径查询: 获取拓扑配置文件路径JSON格式输出: 以结构化JSON格式显示拓扑信息前置条件系统要求SOC类型: Ascend950平台: Linux依赖库: libdcmi.so驱动库、c_sec安全库编译要求CMake 3.16C17编译器Ascend驱动已安装安装说明从源码编译# 克隆代码仓库 git clone 仓库地址 cd shmem # 使用Ascend950 SOC类型编译 bash scripts/build.sh -soc_type Ascend950 # 工具生成位置 # - 编译后立即可用: build/bin/root_info_generate # - 安装后完整安装: install/shmem/bin/root_info_generate验证安装编译完成后可立即使用# 检查编译生成的工具 ls -l build/bin/root_info_generate # 直接运行编译后 ./build/bin/root_info_generate 物理ID # 或使用安装后的工具完整编译安装后 ./install/shmem/bin/root_info_generate 物理ID打包安装完整编译安装后生成安装包install/aarch64/SHMEM_1.0.0_linux-aarch64.run使用方法基本语法./root_info_generate 物理ID参数说明:物理ID: NPU物理ID整数范围0-63使用示例示例1查询ID为3的NPU./root_info_generate 3预期输出:Generating root info for NPU with physical ID: 3 Required buffer size: 2048 bytes topo_addr_info_get succeeded, actual size: 1329 bytes Rank info: {version: 2.0,topo_file_path: /usr/local/Ascend/driver/topo/950/atlas_850_1.json,rank_count: 1,rank_list: [{device_id: 3,local_id: 3,level_list: [{net_layer: 0,net_instance_id: sp-1_srv65535,net_type: MESH,net_attr: ,rank_addr_list: [{addr_type: EID,addr: 000000000000006000100000dfdf008b,plane_id: plane_1,ports: [1/0]},{addr_type: EID,addr: 000000000000006000100000dfdf00cb,plane_id: plane_1,ports: [1/8]},{addr_type: EID,addr: 000000000000006000100000dfdf00c3,plane_id: plane_1,ports: [1/7]},{addr_type: EID,addr: 000000000000006000100000dfdf00ab,plane_id: plane_1,ports: [1/4]},{addr_type: EID,addr: 000000000000006000100000dfdf00a3,plane_id: plane_1,ports: [1/3]},{addr_type: EID,addr: 000000000000006000100000dfdf009b,plane_id: plane_1,ports: [1/2]},{addr_type: EID,addr: 000000000000006000100000dfdf0093,plane_id: plane_1,ports: [1/1]}]}, {net_layer: 1,net_instance_id: superpod_-1,net_type: CLOS,net_attr: ,rank_addr_list: [{addr_type: EID,addr: 000000000000004000100000dfdf00df,plane_id: plane_1,ports: [1/5,1/6]},{addr_type: EID,addr: 000000000000006000100000dfdf005f,plane_id: plane_0,ports: [0/4,0/5,0/6,0/7]}]}]}]} Topology file path: /usr/local/Ascend/driver/topo/950/atlas_850_1.json Root info generation completed successfully示例2查询其他NPU./root_info_generate 0 ./root_info_generate 5示例3无效物理ID./root_info_generate 100错误输出:Generating root info for NPU with physical ID: 100 Error: topo_addr_info_get_size failed with ret-1输出解读成功输出结构工具执行成功后会输出以下信息缓冲区大小Required buffer size: XXX bytes实际数据大小topo_addr_info_get succeeded, actual size: XXX bytesJSON拓扑数据紧凑格式建议使用jq格式化查看输出为JSON字符串包含拓扑地址信息可使用jq .格式化输出便于阅读拓扑文件路径Topology file path: /usr/local/Ascend/driver/topo/950/atlas_850_1.json错误处理当工具执行失败时会输出错误信息Error: topo_addr_info_get_size failed with ret-1常见错误原因物理ID超出范围有效范围0-63驱动未初始化或设备不可访问设备权限不足常见问题与解决方案问题1工具找不到症状:./root_info_generate: command not found解决方案:使用SOC_TYPEAscend950编译验证安装位置:build/bin/或install/shmem/bin/检查编译日志确认工具已生成问题2库依赖缺失症状:error while loading shared libraries: libshmem_rootinfo.so: cannot open shared object file解决方案:# 设置库路径 export LD_LIBRARY_PATHinstall/shmem/lib:$LD_LIBRARY_PATH # 或复制库到标准位置 cp install/shmem/lib/*.so /usr/local/lib/ ldconfig问题3驱动未初始化症状:Error: topo_addr_info_get_size failed with ret-1解决方案:检查Ascend驱动安装:ls /usr/local/Ascend/初始化驱动: 运行驱动初始化脚本验证NPU设备:ls /dev/davinci*问题4权限拒绝症状:Error: cannot access /dev/davinci0解决方案:# 检查设备权限 ls -l /dev/davinci* # 将用户添加到相应组 sudo usermod -a -G ascend 用户名 # 或使用适当权限运行 sudo ./root_info_generate 0问题5无效物理ID症状:Error: get_mainboard_id returned null for phy_id100解决方案:使用有效的物理ID范围: 0到ACLSHMEMI_MAX_NPU_COUNT-1检查可用NPU:ls /dev/davinci*支持与故障排查获取帮助检查日志: 仔细审查错误消息验证安装: 确保所有依赖已安装测试驱动: 验证Ascend驱动功能联系支持: 提交包含详细日志的问题调试模式启用详细日志用于调试# 设置调试环境如果可用 export SHMEM_LOG_LEVELDEBUG ./root_info_generate 0日志分析检查系统日志获取额外信息# 检查驱动日志 dmesg | grep -i ascend # 检查应用日志 journalctl -u ascend-driver【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/shmem Root Info工具指南

Root Info Generate 工具 - 用户指南 【免费下载链接】shmem CANN SHMEM 是面向昇腾平台的多机多卡内存通信库,基于OpenSHMEM 标准协议,实现跨设备的高效内存访问与数据同步。 项目地址: https://gitcode.com/cann/shmem 概述 root_info_generat…...

OpenClaw-Lightcone插件:为AI智能体赋予云端计算机操作能力

1. 项目概述:当AI智能体获得“云端之手” 如果你正在探索AI智能体(Agent)的边界,尤其是如何让它们像真人一样操作电脑、浏览网页、处理数据,那么你很可能已经遇到了一个核心瓶颈: 环境依赖 。传统的浏览…...

【收藏备用】2026年版|普通人程序员如何快速切入AI行业?破除焦虑,找对落地路径

这篇文章想聊清楚一个所有小白和程序员都关心的现实问题:在AI热潮席卷各行各业的2026年,普通人到底该怎么切入AI行业、学好大模型? 如果你最近也在焦虑、在内耗,看着每天冒出的AI新工具、新概念,不知道该学什么、不知道…...

动态域名解析工具diny:基于Cloudflare API的轻量级DDNS解决方案

1. 项目概述:一个轻量级、可定制的动态域名解析工具最近在折腾个人服务器和家庭网络服务时,我又一次被动态公网IP的问题给绊住了。相信很多自己搭网站、建NAS或者跑一些自研服务的朋友都深有体会:运营商给的公网IP说变就变,一旦IP…...

如何搭建个人游戏云:Sunshine串流服务器完全指南

如何搭建个人游戏云:Sunshine串流服务器完全指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源的自托管游戏串流服务器,专为Moonlight…...

35岁转行AI,社恐杨老师教你如何在大模型时代找到自己的坐标(收藏版)

本文分享了AI开发者“社恐杨老师”的真实故事,他35岁从化学工程转向AI领域,通过自学补齐机器学习底层数学,并成功将AI技术落地企业真实场景。文章核心内容包括:从AI 1.0到AI 2.0,技术会变但“寻找有效需求”是长期不变…...

CANN/asc-tools msobjdump工具

msobjdump 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 概述 本工具主要针对生成的算子ELF文件(Executable and Linkable Format)提供解析和解…...

完全掌握Blender插件:5大实战技巧高效处理虚幻引擎PSK/PSA格式

完全掌握Blender插件:5大实战技巧高效处理虚幻引擎PSK/PSA格式 【免费下载链接】io_scene_psk_psa A Blender extension for importing and exporting Unreal PSK and PSA files 项目地址: https://gitcode.com/gh_mirrors/io/io_scene_psk_psa io_scene_psk…...

EFGP查提交申请记录

select serialNumber,processInstanceName, subject, (case when currentState1 then 進行中 when currentState3 then 已結案 when currentState4 then 已撤銷 when currentState0 then 未開始 else 已暫停 end) from ProcessInstance(nolock) where left(serialNumber,4)L…...

CANN竞赛Add算子测试设计

决赛题目:Add 算子测试用例设计 【免费下载链接】cann-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-competitions 任务说明 本题目要求参赛者为 CANN …...

Java基础十六:枚举,包,反射

一、枚举(Enum) 1. 什么是枚举 枚举是一种特殊的类,用于定义一组固定的常量。 2. 基本用法 // 最简单的枚举 public enum Season {SPRING, SUMMER, AUTUMN, WINTER }// 使用枚举 public class TestEnum {public static void main(String[…...

如何彻底解决显卡驱动冲突问题:Display Driver Uninstaller深度解析与实战指南

如何彻底解决显卡驱动冲突问题:Display Driver Uninstaller深度解析与实战指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/displ…...

论文阅读:MMA: Multi-Modal Adapter for Vision-Language Models

MMA:视觉语言模型的多模态适配器,主要用于改善文本与视觉分支表示之间的对齐,先分析 CLIP 不同层特征的“判别性 / 泛化性”,再只在高层插入一个带共享投影层的多模态适配器,让视觉和文本分支在学习任务特异知识的同时…...

华为CANN/ops-math反射填充3D梯度算子

ReflectionPad3dGrad 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推…...

OnmyojiAutoScript:阴阳师手游智能自动化脚本终极指南

OnmyojiAutoScript:阴阳师手游智能自动化脚本终极指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师手游的日常任务繁重,从御魂副本到百鬼夜行&a…...

从入门到精通:彻底讲懂Agent的Skill,不做“炫技式浪费”

写在前面 现在做Agent,有一个非常典型的误区: 👉 Skill越多 Agent越强 于是开始疯狂堆Skill、堆工具、堆能力。 结果是什么? • Token飞速消耗• 调用混乱• 成本暴涨• 但任务反而做不好 本质上,这不是“在做A…...

Ceph 对象存储深度解析系列 第二部分:RGW 数据路径、分片和自动化

新钛云服已累计为您分享896篇技术干货简介在本深度解析的第一部分中,我们剖析了 Ceph RGW 内部的高性能请求路径。我们涵盖了其无状态前端、基础 RADOS 存储池以及关键的桶索引,揭示了动态分片如何使单个桶内的对象列表实现几乎无限的可扩展性。我们确立…...

Godot引擎集成本地大语言模型:从原理到实战的完整指南

1. 项目概述:在Godot引擎中集成本地大语言模型 如果你是一名游戏开发者,最近肯定没少听说AI在游戏开发中的应用。从自动生成对话到设计游戏机制,大语言模型(LLM)展现出的潜力让人兴奋。但一提到实际集成,很…...

联邦学习与Transformer融合:在CV与入侵检测中的隐私保护分布式智能实践

1. 项目概述与核心价值最近几年,我一直在关注一个技术交叉点:如何让模型在“看不见”彼此数据的情况下,还能协同进化,变得更聪明。这听起来有点像天方夜谭,但在数据隐私法规日益收紧、数据孤岛问题愈发严重的今天&…...

CANN/metadef Add函数API文档

Add 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 新增一个ContinuousVector元素&#xff0c;其中新增ContinuousVector元素的容量为inner_vector_capacity。 函数原型 template<typename T> Con…...

【路径规划】基于启发式搜索与增量启发式搜索方法MRPP或MAPF的多机器人路径规划算法附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

Parquet文件原理与实战:列式存储如何提升查询性能和压缩效率

1. 什么是Parquet文件&#xff1f;一个数据工程师每天都在用、却很少被真正讲透的底层逻辑Parquet不是一种“新潮技术”&#xff0c;它更像是一把被磨得锃亮的瑞士军刀——没有炫目的UI&#xff0c;不靠营销话术&#xff0c;但只要你在处理超过百万行的数据、写过哪怕一条SELEC…...

VLA-0视觉语言动作模型:零修改部署与多模态AI实践

1. 项目概述VLA-0是一种突破性的视觉语言动作模型&#xff0c;它最大的特点在于实现了"开箱即用"的零修改部署能力。作为一名长期关注多模态AI发展的从业者&#xff0c;我首次接触到这个模型时就被它的设计理念所震撼——传统视觉语言模型往往需要针对特定任务进行繁…...

CANN/ops-math矩阵乘法压缩反量化算子

aclnnMatmulCompressDequant 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAt…...

CANN KV压缩Epilog算子

custom-npu_kv_compress_epilog 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法&#xff0c;提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 产品支持情况 产品是否支持Ascend 950…...

SQL PIVOT原理与实战:从行转列到高性能宽表生成

1. 项目概述&#xff1a;从“行变列”开始&#xff0c;真正搞懂SQL PIVOT不是语法糖&#xff0c;而是数据思维的分水岭你有没有遇到过这样的报表需求&#xff1a;销售表里每条记录是一笔订单&#xff08;客户名、产品名、金额、日期&#xff09;&#xff0c;但老板要的却是“每…...

CANN/asc-tools msopgen算子模板样例

【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools msopgen使用新自定义算子工程模板样例 概述 本样例介绍msopgen工具按照新算子工程模板生成新自定义算子工程。以AddCust…...

2025最权威的降重复率神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于AI生成内容容易被检测出来的这个问题&#xff0c;现如今已经存在专门用来降低文本AI率的…...

GPT-3.5在独裁者游戏中的公平性实验:AI决策的统计模式与伦理启示

1. 项目概述&#xff1a;当AI成为“裁判”&#xff0c;公平性如何定义&#xff1f;最近在翻看一些行为经济学和博弈论的资料时&#xff0c;一个经典的实验模型——“独裁者游戏”——反复出现在眼前。这个实验很简单&#xff1a;两个人&#xff0c;一笔钱。一个人是“独裁者”&…...

CANN双三次上采样算子

aclnnUpsampleBicubic2d 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT…...