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

CANN/shmem编译构建指南

编译与构建【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmemSHMEM编译下载SHMEM源码git clone https://gitcode.com/cann/shmem.git您可自行选择需要的分支。编译进入shmem的根目录编译cd shmem bash scripts/build.sh更多命令介绍可查看shmem仓主目录下的README.md和scripts/build.sh文件。SHMEM编译相关说明SHMEM的基本编译命令是bash build.sh默认构建模式下生成版本信息并创建安装包(默认情况下不会编译RDMA能力、用例、测试、python接口)。后可跟参数实现不同功能-use_cxx11_abi1启用C11 ABI默认-use_cxx11_abi0禁用C11 ABI-cannCANN 8.5以上版本可以使用CANN开放接口编译-uttests构建tests/unittest目录下所有ut用例-examples构建examples目录下所有用例-python_example对部分examples目录下用例提供torch接入能力-enable_rdma构建并启用RDMA相关能力。 Ascend910B/C 默认配置 RDMA 后端类型Ascend950 需要配合-rdma_backend来指定后端类型。-rdma_backend指定RDMA后端类型Ascend910B/C 不支持该选项可选值为XSCALE使用云脉网卡。必须配合-enable_rdma使用否则会报错。参数顺序不限。-enable_ascendc_dump启用AscendC_Dump模式用于对算子内核代码进行调测-package构建py扩展的whl包生成run包SHMEM_{version}_linux-{arch}.run生成路径为{project_root}/package/{arch}/生成python whl包shmem-xxx.whl生成路径为{project_root}/package/{arch}/-python_extension生成python whl包shmem-xxx.whl生成路径为{project_root}/dist/-gendoc生成文档-onlygendoc: 生成文档不构建源码-debug设置构建类型为Debug模式-mssanitizerexample启用mssanitizer内存检测工具脚本执行需用mssanitizer拉起任务才能实际生效allgather样例运行脚本提供了tool选项使用工具。工具使用方法参见异常检测工具msSanitizerMindStudio Sanitizer 注如果开启该选项请确保使用mssanitizer工具拉起算子如使用其他方式拉起算子可能导致未知错误-soc_type如果SOC是Ascend950类别需要增加-soc_type Ascend950参数可以通过npu-smi info命令查看其他SOC可不加该参数。-enable_simt使能simt编程模式接口。-full编译 package python_extension uttests examples。SHMEM自动编译脚本会自动完成依赖库的下载工程编译UT用例编译库打包。RDMA参数使用说明若需要使用 RDMA 功能需要在编译时开启-enable_rdma参数。之后用户需要根据服务器类型与使用的网卡种类进行参数配置来配置后端Ascend910B/C 平台仅需要使用-enable_rdma参数不需要额外参数后端使用默认配置Ascend950 平台使用-enable_rdma参数显式指定-soc_type Ascend950指定-rdma_backend参数否则构建脚本将会报错参数依赖规则-rdma_backend参数在使用时必须同时指定-enable_rdma参数-rdma_backend参数仅在-soc_type Ascend950时有效否则构建脚本将会报错如果指定了-rdma_backend但未指定-enable_rdma构建将失败并提示错误信息-rdma_backend,-enable_rdma,-soc_type xxx三个参数顺序不限但所有依赖参数必须最终都被指定有效命令示例# Ascend950 平台启用RDMA并指定后端为 XSCALE参数顺序示例1 bash scripts/build.sh -soc_type Ascend950 -enable_rdma -rdma_backend XSCALE # Ascend950 平台启用RDMA并指定后端为 XSCALE参数顺序示例2 bash scripts/build.sh -enable_rdma -soc_type Ascend950 -rdma_backend XSCALE # Ascend950 平台启用RDMA并指定后端为 XSCALE参数顺序示例3 bash scripts/build.sh -rdma_backend XSCALE -enable_rdma -soc_type Ascend950 # Ascend910B/C 启用RDMA不需要指定backend bash scripts/build.sh -enable_rdma无效命令示例# 错误指定了-rdma_backend但未启用-enable_rdma bash scripts/build.sh -soc_type Ascend950 -rdma_backend XSCALE # 将报错Error: -rdma_backend requires -enable_rdma to be specified. # 错误在非Ascend950平台使用-rdma_backend bash scripts/build.sh -enable_rdma -rdma_backend XSCALE # 将报错Error: -rdma_backend can only be specified when SOC_TYPE is Ascend950.RDMA 后端类型说明-rdma_backend参数支持以下后端类型XSCALE云脉网卡后端仅 Ascend950 支持⚠️ 重要提示自动生成的编译定义CMake 会根据-rdma_backend的值自动生成以下编译定义用户不应手动设置当-rdma_backend XSCALE时自动添加-DACLSHMEMI_RDMA_K_BACKEND_XSCALE1未指定后端时自动添加-DACLSHMEMI_RDMA_K_BACKEND_IN_DIE1手动定义这些宏可能导致编译冲突或功能异常禁止手动定义的内部宏用户不应手动添加名为ACLSHMEMI_K_RDMA_BACKEND的编译定义这是一个设备端代码使用的内部宏由系统在src/device/gm2gm/engine/shmem_device_rdma.hpp中根据上述自动生成的定义进行设置手动定义此宏会导致编译错误或运行时功能异常SHMEM关键文件介绍scripts目录install.sh: 安装脚本uninstall.sh: 卸载脚本build.sh: 编译脚本release.sh全自动构建与打包脚本set_env.shSHMEM的环境变量设置文件run.sh脚本使用UT测试用例运行脚本。bash scripts/run.sh提供多种参数支持自定义用例执行-ranks # 总rank数 -frank # 该服务器第一个rank -ipport # ip端口 -fnpu # 每个服务器起的第一个npu -gnpus # 单机使用的卡数 -test_filter # gtest_filter # 例如 bash run.sh -ranks 4 -fnpu 2 -gnpus 4 -test_filter ScalarP # 会在2-6卡install.sh打包生成的run包安装卸载依赖的脚本提供安装卸载功能。 安装目录${INSTALL_PATH} |--shmem |--latest |--${version} |--shmem |--include (头文件) |--lib (so库) |--scripts (卸载脚本)uninstall.sh卸载脚本可以卸载对应路径安装的shmem库或通过run包的--uninstall卸载默认路径下的shmem。release.sh出包脚本编译后使用。对编译产物打包后会删除install目录下其他文件。推荐使用build.sh完成打包。编译文件build.sh文件名scripts/build.shSHMEM编译文件一般无需更改。环境变量设置文件set_env.sh​文件名​scripts/set_env.shSHMEM安装完成后提供进程级环境变量设置脚本set_env.sh以自动完成环境变量设置用户进程结束后自动失效。【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/shmem编译构建指南

编译与构建 【免费下载链接】shmem CANN SHMEM 是面向昇腾平台的多机多卡内存通信库,基于OpenSHMEM 标准协议,实现跨设备的高效内存访问与数据同步。 项目地址: https://gitcode.com/cann/shmem SHMEM编译 下载SHMEM源码 git clone https://git…...

终极指南:如何使用Deep-Research进行物联网设备连接与数据采集研究

终极指南:如何使用Deep-Research进行物联网设备连接与数据采集研究 【免费下载链接】deep-research An AI-powered research assistant that performs iterative, deep research on any topic by combining search engines, web scraping, and large language model…...

终极指南:掌握Sanic参数验证,保障Web应用数据完整性

终极指南:掌握Sanic参数验证,保障Web应用数据完整性 【免费下载链接】sanic Accelerate your web app development | Build fast. Run fast. 项目地址: https://gitcode.com/gh_mirrors/sa/sanic 在当今快速发展的Web应用开发中,Sani…...

如何高效使用XUnity自动翻译器:游戏本地化终极指南

如何高效使用XUnity自动翻译器:游戏本地化终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏的语言障碍而烦恼吗?每次打开心仪的游戏,却因为看不懂…...

面向空间环境的星载AI系统设计:从挑战到工程实践

1. 项目概述:当AI遇见深空“把AI送上太空”,这听起来像是科幻电影里的情节,但SpIRIT卫星的Loris成像载荷项目,正在将这一构想变为现实。作为一名长期关注航天与边缘计算交叉领域的技术从业者,我深知这其中的挑战与魅力…...

从LIME到因果干预:可解释AI技术演进与反事实解释实践

1. 项目概述:从“事后诸葛亮”到“事前诸葛亮”的AI解释之路最近几年,我身边越来越多的团队在部署AI模型时,都遇到了一个共同的“信任墙”:模型预测得再准,业务方和用户总会问一句——“它为什么这么判断?”…...

AI学习持久性研究:社会归属感与编程信心如何影响学生坚持

1. 项目概述:为什么我们要关心“坚持”这件事? 在机器学习与人工智能这个领域待久了,你可能会发现一个有趣的现象:每年都有大量充满热情的学生涌入,但几年后,真正能在这个领域深耕并做出成绩的,…...

终极前端性能清单:长期性能维护的完整指南

终极前端性能清单:长期性能维护的完整指南 【免费下载链接】Front-End-Performance-Checklist 🎮 The only Front-End Performance Checklist that runs faster than the others 项目地址: https://gitcode.com/gh_mirrors/fr/Front-End-Performance-C…...

阴阳师自动化脚本:智能百鬼夜行AI助手完全指南

阴阳师自动化脚本:智能百鬼夜行AI助手完全指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动化脚本(Onmyoji Auto Script)是一款…...

5款MySQL驱动性能大比拼:为什么这个纯Node.js客户端能脱颖而出?

5款MySQL驱动性能大比拼:为什么这个纯Node.js客户端能脱颖而出? 【免费下载链接】mysql A pure node.js JavaScript Client implementing the MySQL protocol. 项目地址: https://gitcode.com/gh_mirrors/my/mysql 在现代Web开发中,选…...

在Obsidian中构建AI工作流:ChatGPT MD插件配置与本地LLM部署指南

1. 项目概述:在Obsidian中构建你的私人AI工作流 如果你和我一样,是个重度依赖Obsidian进行知识管理、写作和思考的人,那么你一定遇到过这样的场景:在整理笔记时,突然冒出一个想法需要验证;在撰写文章时&am…...

PotPlayer字幕翻译插件完整指南:免费实现实时双语字幕

PotPlayer字幕翻译插件完整指南:免费实现实时双语字幕 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu 还在为看不懂外语电影…...

TensorFlow-Course:Colab云端开发终极指南

TensorFlow-Course:Colab云端开发终极指南 【免费下载链接】TensorFlow-Course :satellite: Simple and ready-to-use tutorials for TensorFlow 项目地址: https://gitcode.com/gh_mirrors/te/TensorFlow-Course TensorFlow-Course是一个专为初学者设计的T…...

终极指南:NHSE - 深度解析《动物森友会》存档编辑器的技术实现与实战应用

终极指南:NHSE - 深度解析《动物森友会》存档编辑器的技术实现与实战应用 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE NHSE(Animal Crossing: New Horizons Save Editor…...

claude code用户如何通过taotoken解决封号与token不足困扰

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Claude Code用户如何通过Taotoken解决封号与Token不足困扰 应用场景类,许多Claude Code用户面临官方账号不稳定或额度快…...

CANN/metadef AppendDim函数API

AppendDim 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 向后扩展一个dim值,如果扩展的dim数量超出Shape的最大限制,那么本函数不做任何事情。 函数原型 Shape& AppendDim(c…...

LangChain实战指南:从零构建生成式AI应用的核心架构与优化

1. 项目概述:当LangChain遇上生成式AI,我们能构建什么?最近在GitHub上看到一个挺有意思的项目,benman1/generative_ai_with_langchain。光看名字,就能猜到它的核心:用LangChain这个框架来玩转生成式AI。这其…...

CANN/ops-cv最近邻上采样算子

UpsampleNearest 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 …...

AI监管框架:技术不确定性、全球路径与治理平衡

1. 项目概述:当AI监管遇上“薛定谔的猫”如果你问一个AI开发者最头疼什么,除了算力和数据,答案里大概率会有“监管”二字。这感觉就像在高速公路上开一辆没有明确交通规则的新概念车——你不知道限速多少,不知道哪个车道能走&…...

顶会论文模块复现与二次创新:CVPR 2026 思路:FacT(自适应频率调优)模块提升恶劣天气下的检测鲁棒性

一、写作动机 你是否遇到过这样的情况——模型在晴天测试集上 mAP 冲到 75%+,到雨天、雾天场景直接腰斩到 40% 以下?折腾了大半个月的数据增强,换 backbone、调学习率、加注意力模块,暴雨天该漏检还是漏检,于是老板灵魂拷问:“你这是过拟合天气了吧?” 你是否看到过这…...

awesome-nlp国际化支持:多语言和本地化资源管理终极指南

awesome-nlp国际化支持:多语言和本地化资源管理终极指南 【免费下载链接】awesome-nlp :book: A curated list of resources dedicated to Natural Language Processing (NLP) 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-nlp awesome-nlp是一个精…...

大语言模型赋能人文社科研究:混合量化设计框架与实践指南

1. 项目概述:当“文科”遇见“大模型”“大语言模型赋能人文社科研究”这个标题,乍一听可能有点“跨界”的意味。在很多人印象里,人文社科研究——无论是历史学、社会学、文学还是哲学——其核心是思辨、诠释与批判,是“文科生”在…...

OpenVINO? C# API . 全新发布,基于 AI 大模型的全栈重构,全面进化!

起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧&#xff…...

华为CANN TensorFlow AllGather算子

allgather 【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow 功能说明 集合通信算子AllGather的操作接口,将通信域内所有节点的输入按照rank id重新排序,然后拼接起来,再将结果…...

揭秘AI写专著技巧:借助工具一键生成20万字专著,出版不再是难题!

创新与AI助力学术专著写作 创新是学术专著的核心所在,也是写作过程中的一个重大挑战。一部合格的专著,不能仅仅是其他研究成果的简单叠加,而应提出贯穿整本书的原创性观点、理论框架或研究方法。在海量的学术文献中,寻找尚未被深…...

CANN/pyasc矩阵乘法N批处理迭代

asc.language.adv.Matmul.iterate_n_batch 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc Matmul.iterate_…...

一句话木马+蚁剑

1.在命地址令提示符(以管理员身份打开)中输入"ipconfig/all",找到IPv4地址,然后在phpstudy(又称小皮)中启动Apache2.4.39,然后根据自己的IPv4地址创建一个网站。2.检验网站是否创建成功。3.打开根目录,添加一…...

N_m3u8DL-RE跨平台流媒体下载技术架构深度解析

N_m3u8DL-RE跨平台流媒体下载技术架构深度解析 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE N_m3u8DL-RE作为…...

3步解决Minecraft世界臃肿问题:MCA Selector完整使用指南

3步解决Minecraft世界臃肿问题:MCA Selector完整使用指南 【免费下载链接】mcaselector A tool to select chunks from Minecraft worlds for deletion or export. 项目地址: https://gitcode.com/gh_mirrors/mc/mcaselector 你是否曾因Minecraft世界文件过大…...

终极游戏语言解锁指南:XUnity.AutoTranslator让你畅玩全球游戏

终极游戏语言解锁指南:XUnity.AutoTranslator让你畅玩全球游戏 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的游戏剧情?是否在日文RPG或欧美大…...