news 2026/5/10 6:22:34

CANN SHMEM调试转储指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN SHMEM调试转储指南

在样例工程使用Ascend C算子调测API

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

AscendC算子调测API是AscendC提供的调试能力,可进行kernel内部的打印、Tensor内容的查看(Dump)。

关于kernel调测api的详细介绍,可参考DumpTensor和printf.

插入调试代码

  1. 修改使用该功能的核函数入口和相关调用代码,增加开启调测功能(#if defined(ENABLE_ASCENDC_DUMP))的编译时代码,具体可参考examples/allgather_matmul/main.cpp

  2. 在想进行调试的层级,增加调测API调用,如下所示:

    // examples/allgather_matmul/main.cpp #if defined(ENABLE_ASCENDC_DUMP) __global__ __aicore__ void ShmemAllGatherMatmul( uint64_t fftsAddr, GM_ADDR gmA, GM_ADDR gmB, GM_ADDR gmC, GM_ADDR gmSymmetric, uint32_t m, uint32_t n, uint32_t k, GM_ADDR dump) { AscendC::InitDump(false, dump, ALL_DUMPSIZE); #else __global__ __aicore__ void ShmemAllGatherMatmul( uint64_t fftsAddr, GM_ADDR gmA, GM_ADDR gmB, GM_ADDR gmC, GM_ADDR gmSymmetric, uint32_t m, uint32_t n, uint32_t k) { #endif // Set FFTS address AscendC::SetSyncBaseAddr(fftsAddr); + AscendC::printf("fftsAddr is %d\n", fftsAddr); + AscendC::GlobalTensor<ElementB> gmT; + gmT.SetGlobalBuffer((__gm__ ElementB*)gmB, k * n); + AscendC::DumpTensor(gmT, n, 16); ... }

    注意:ALL_DUMPSIZEaclCheck等宏和接口定义位于文件examples\utils\debug.h中,其中ALL_DUMPSIZE默认为75MB,用户可根据需要进行自定义修改。

编译运行

  1. 打开工具的编译开关-enable_ascendc_dump, 使能AscendC算子调测API编译算子样例。

    bash scripts/build.sh -enable_ascendc_dump -examples
  2. 在examples/allgather_matmul目录执行demo:

    bash scripts/run.sh 6,7

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

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

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

昇思大模型量化方式

随着大模型参数量持续增长&#xff0c;模型量化成为降低内存占用、提升推理速度、实现端边云部署的核心技术。昇思&#xff08;MindSpore&#xff09;作为华为自主研发的全场景 AI 框架&#xff0c;针对大语言模型、计算机视觉模型提供了原生支持、开箱即用的量化体系&#xff…

作者头像 李华
网站建设 2026/5/10 6:19:40

Kubernetes智能运维:基于AI副驾驶的自然语言集群管理实践

1. 项目概述&#xff1a;当Kubernetes遇上AI副驾驶如果你和我一样&#xff0c;每天都要和Kubernetes集群打交道&#xff0c;那你肯定对下面这些场景再熟悉不过了&#xff1a;凌晨三点被告警叫醒&#xff0c;面对着一堆CrashLoopBackOff的Pod&#xff0c;需要快速定位是镜像问题…

作者头像 李华
网站建设 2026/5/10 6:16:39

Cursor规则转智能体配置:从.cursorrules到AI助手的自动化实践

1. 项目概述&#xff1a;从规则文件到智能体的自动化桥梁最近在折腾Cursor编辑器&#xff0c;发现一个挺有意思的开源项目&#xff0c;叫“cursor-rules-to-agents-md”。简单来说&#xff0c;这玩意儿能帮你把Cursor里那些.cursorrules文件&#xff0c;一键转换成更结构化、更…

作者头像 李华
网站建设 2026/5/10 6:16:37

开源AI代码编辑器Void:基于VSCode的深度定制与本地化部署指南

1. 项目概述&#xff1a;一个开源的AI代码编辑器如果你是一名开发者&#xff0c;最近可能已经对Cursor这款集成了AI能力的编辑器有所耳闻。它确实强大&#xff0c;但作为一款闭源商业软件&#xff0c;其数据隐私、模型选择自由度和定制化能力&#xff0c;始终是悬在技术团队头顶…

作者头像 李华
网站建设 2026/5/10 6:14:15

CANN ops-fft算子开发指南

算子开发指南 【免费下载链接】ops-fft ops-fft 是 CANN &#xff08;Compute Architecture for Neural Networks&#xff09;算子库中提供 FFT 类计算的基础算子库&#xff0c;采用模块化设计&#xff0c;支持灵活的算子开发和管理。 项目地址: https://gitcode.com/cann/op…

作者头像 李华
网站建设 2026/5/10 6:13:17

PaperBanana:基于多智能体流程的AI科研绘图工具实战指南

1. 项目概述&#xff1a;用AI为科研论文自动绘制高质量图表 如果你和我一样&#xff0c;常年泡在实验室里写论文&#xff0c;那你一定对画图这件事又爱又恨。爱的是&#xff0c;一张清晰、美观的图表能让论文的“颜值”和说服力瞬间提升几个档次&#xff1b;恨的是&#xff0c…

作者头像 李华