news 2026/5/9 21:00:35

CANN/shmem RMA设备到主机演示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/shmem RMA设备到主机演示

概述

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

本样例基于 SHMEM 工程,介绍了 put & get scalar 数据传输接口访问 Host 内存的使用。

支持的产品型号

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品

样例实现

本样例呈现的是 SHMEM 的 put & get scalar 数据传输接口的使用流程,以下简称 put & get 接口。

测试用例实现

(1)初始化 ACL,分配 input 和 output 数据内存大小并初始化数据,input 初始化数据为 0,output 数据为当前 my_pe,后续 put 接口会把本 PE 的 PE 编号发送给下一个 PE 的 input,get 接口会获取下一个 PE 的 output。

(2)调用 run_demo_scalar 启动内核,执行对应 kernel 实现,前后调用 aclshmem_barrier 插入同步确保内核执行不受影响。

(3)执行结果校验,判断各个 PE 上的结果是否符合预期。

(4)清理释放 SHMEM 和 ACL 相关资源。

Kernel 实现

(1)kernel 侧获取本 PE 编号、总 PE 数量、目标 PE 编号。

(2)调用 aclshmem_int32_p 接口向下一个 PE 的 input 发送本 PE 的 PE 编号,调用 aclshmem_quiet 插入同步等待 scalar 数据发送完成。

(3)调用 aclshmem_int32_g 获取下一个 PE 的 output 数据,调用 aclshmem_quiet 插入同步等待 scalar 数据接收完成,并将数据填入本 PE 的 output。

编译执行

环境配置请参考快速上手。完成环境配置后,执行如下命令可进行功能验证。

# 执行编译 bash scripts/build.sh -examples -cann cd examples/rma_d2h_demo # 运行用例 bash run.sh

用例执行完成,打屏信息出现“[INFO] demo run end in pe <my_pe>”,说明样例执行结束;打屏信息出现“[SUCCESS] run success in pe <my_pe>”,说明样例执行成功且结果准确。

约束限制

查询A3超节点可用内存大小

运行check_support.py脚本扫描可用的物理内存:

python3 check_support.py

样例当前默认配置 1GB Host 内存大小,查询的总的可用内存需要大于 1GB。

A3 超节点 Server ID 配置要求

本样例在 A3 超节点环境下运行时,需要确保各服务器的 Server ID 配置正确。特别是在更换故障硬件后,可能出现 Server ID 未正确配置的情况,会导致样例运行失败。

查询 Server ID 方法

使用 npu-smi 工具查询当前服务器的 Server ID 配置:

npu-smi info -t spod-info -i 0 -c 0

输出示例:

SDID : 16777216 Super Pod Size : 384 Super Pod ID : 0 Server Index : 4

其中Server Index即为当前服务器的 Server ID,需要确保一个计算节点内所有NPU保持一致。

配置 Server ID 方法

如果发现 Server ID 配置不正确,可以通过以下方式修改:

  1. 通过 Redfish 接口修改

    • 参考文档:Redfish 接口修改文档
  2. 通过 Computing Toolkit 修改

    • 参考文档:Computing Toolkit 修改文档

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 20:45:29

将Hermes Agent工具连接到Taotoken的配置要点

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 将Hermes Agent工具连接到Taotoken的配置要点 如果你正在使用Hermes Agent这类支持自定义模型提供商&#xff08;provider&#xf…

作者头像 李华
网站建设 2026/5/9 20:43:22

深蓝词库转换器终极指南:30+输入法词库互转的完整解决方案

深蓝词库转换器终极指南&#xff1a;30输入法词库互转的完整解决方案 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 深蓝词库转换器是一款开源免费的输入法词库转换…

作者头像 李华
网站建设 2026/5/9 20:42:37

终极指南:如何快速掌握多语言NLP资源与实战技巧

终极指南&#xff1a;如何快速掌握多语言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 是一个精心策划的…

作者头像 李华
网站建设 2026/5/9 20:41:27

LLM4RS项目解析:大语言模型在推荐系统中的排序任务实践

1. 项目概述&#xff1a;当大语言模型遇上推荐系统最近几年&#xff0c;大语言模型&#xff08;LLM&#xff09;的能力边界不断被拓展&#xff0c;从写诗、编程到逻辑推理&#xff0c;几乎无所不能。作为一个在推荐系统领域摸爬滚打了多年的从业者&#xff0c;我一直在思考一个…

作者头像 李华
网站建设 2026/5/9 20:41:03

#85_库函数开发

前言 在很久很久很久以前 C 语言和 STM32 走在一条幽静的道路上 他们在一起过上了幸福的生活 一、 问题引入… 1 二、 寄存器的基础概念… 1 三、 STM32 寄存器实例解析… 3 GPIO 输入/输出 → 对应 GPIOx_CRL / GPIOx_CRH / GPIOx_IDR /… 3定时器&#xff08;Timer&#xff…

作者头像 李华