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 初始化数据为 0output 数据为当前 my_pe后续 put 接口会把本 PE 的 PE 编号发送给下一个 PE 的 inputget 接口会获取下一个 PE 的 output。2调用 run_demo_scalar 启动内核执行对应 kernel 实现前后调用 aclshmem_barrier 插入同步确保内核执行不受影响。3执行结果校验判断各个 PE 上的结果是否符合预期。4清理释放 SHMEM 和 ACL 相关资源。Kernel 实现1kernel 侧获取本 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 配置不正确可以通过以下方式修改通过 Redfish 接口修改参考文档Redfish 接口修改文档通过 Computing Toolkit 修改参考文档Computing Toolkit 修改文档【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2598658.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!