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

在CATLASS样例工程使用AscendC算子调测API

在CATLASS样例工程使用AscendC算子调测API【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlassAscendC算子调测API是AscendC提供的调试能力可进行kernel内部的打印(printf)、Tensor内容的查看(DumpTensor)。使用示例下面以00_basic_matmul为例演示基于AscendC算子调测API的测试过程。插入调试代码在想进行调试的层级增加调测API调用如在include/catlass/gemm/kernel/basic_matmul.hpp的核函数中添加下述代码。// include/catlass/gemm/kernel/basic_matmul.hpp template CATLASS_DEVICE void operator()AscendC::AIC(Params const params) { BlockScheduler matmulBlockScheduler(params.problemShape, MakeCoord(L1TileShape::M, L1TileShape::N)); uint32_t coreLoops matmulBlockScheduler.GetCoreLoops(); AscendC::printf(CoreLoops is %d\n, coreLoops); Arch::ResourceArchTag resource; BlockMmad blockMmad(resource); // Represent the full gm AscendC::GlobalTensorElementA gmA; gmA.SetGlobalBuffer((__gm__ ElementA *)params.ptrA); AscendC::GlobalTensorElementB gmB; gmB.SetGlobalBuffer((__gm__ ElementB *)params.ptrB); AscendC::GlobalTensorElementC gmC; gmC.SetGlobalBuffer((__gm__ ElementC *)params.ptrC); AscendC::DumpTensor(gmA, coreLoops, 16); for (uint32_t loopIdx AscendC::GetBlockIdx(); loopIdx coreLoops; loopIdx AscendC::GetBlockNum()) { // Compute block location GemmCoord blockCoord matmulBlockScheduler.GetBlockCoord(loopIdx); GemmCoord actualBlockShape matmulBlockScheduler.GetActualBlockShape(blockCoord); // Compute initial location in logical coordinates MatrixCoord offsetA{blockCoord.m() * L1TileShape::M, blockCoord.k() * L1TileShape::K}; MatrixCoord offsetB{blockCoord.k() * L1TileShape::K, blockCoord.n() * L1TileShape::N}; MatrixCoord offsetC{blockCoord.m() * L1TileShape::M, blockCoord.n() * L1TileShape::N}; int64_t gmOffsetA params.layoutA.GetOffset(offsetA); int64_t gmOffsetB params.layoutB.GetOffset(offsetB); int64_t gmOffsetC params.layoutC.GetOffset(offsetC); // Compute block-scoped matrix multiply-add blockMmad(gmA[gmOffsetA], params.layoutA, gmB[gmOffsetB], params.layoutB, gmC[gmOffsetC], params.layoutC, actualBlockShape); } }编译运行参考快速上手编译算子样例。当前版本无需传入额外编译选项若代码中调用调试接口编译器将自动使能。bash scripts/build.sh 00_basic_matmul切换到可执行文件的编译目录output/bin下直接执行算子样例程序。cd output/bin # 可执行文件名 |矩阵m轴|n轴|k轴|Device ID可选 ./00_basic_matmul 256 512 1024 0⚠ 注意事项目前DumpTensor不支持打印L0A、L0B、FixPipe上的数值。特别地在Ascend 950PR/Ascend 950DT上额外不支持打印L1上的数值。输出示例仅为示例实际输出可能因硬件和算子实现不同而有所差异./00_basic_matmul 256 512 1024 0 opTypedevice_gemm, DumpHead: AIC-0, CoreTypeAIC, block dim24, total_block_num24, block_remain_len1048408, block_initial_space1048576, rsv0, magic5aa5bccd CoreLoops is 4 DumpTensor: desc4, addrc0013000, data_typefloat16, positionGM [3.402344, -1.056641, 2.830078, 2.984375, 4.117188, -3.025391, -1.647461, 2.681641, -2.222656, 0.539551, -0.226074, 1.289062, -1.352539, 0.134033, 4.523438, 4.160156] ... #每个Cube核都会输出一次信息 Compare success.【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

在CATLASS样例工程使用AscendC算子调测API

在CATLASS样例工程使用AscendC算子调测API 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass AscendC算子调测API是AscendC提供的调试能力,可进…...

为内部知识库问答系统接入taotoken多模型后备能力的实践

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部知识库问答系统接入Taotoken多模型后备能力的实践 在企业级内部知识库系统的开发中,单一的问答模型有时难以覆盖…...

无数据收集AI:在线学习与信号生成技术实战指南

1. 项目概述:当AI不再需要“喂养”数据最近和几个做量化交易的朋友聊天,他们都在为一个问题头疼:模型训练需要海量的历史数据,但市场是动态变化的,去年的“圣杯”策略今年可能就失效了。重新收集、清洗、标注数据&…...

轻量级多进程消息收发模型WEBSOCKET,MQTT

TCP方面除了用WEBSOCKET,还有什么组件可以收到完整的一条消息?比如MQTT? 纯TCP发送文字,一次收到多条,粘包比较麻烦,客户端想要来发也比较麻烦 你说到了TCP 最核心的痛点:流式传输、无边界、粘包 / 拆包,纯…...

CANN耗散粒子动力学算子

DPD Ascend C 算子 【免费下载链接】mat-chem-sim-pred 面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。 项目地址: https://gitco…...

自适应可解释AI:从SHAP到多受众科学传播的工程实践

1. 项目概述:当AI需要向“外行”解释自己“可解释AI”这个概念,在技术圈里已经吵了好几年。我们这些做算法、搞模型的,一提到它,脑子里蹦出来的往往是SHAP值、LIME、注意力热图这些工具。我们习惯于在Jupyter Notebook里&#xff…...

CANN/asc-devkit Atan函数API

Atan 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann/…...

如何从八大主流网盘获取真实下载链接?LinkSwift开源工具深度解析

如何从八大主流网盘获取真实下载链接?LinkSwift开源工具深度解析 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…...

SD-WebUI-Inpaint-Anything 插件:自定义修复模型终极配置指南

SD-WebUI-Inpaint-Anything 插件:自定义修复模型终极配置指南 【免费下载链接】sd-webui-inpaint-anything Inpaint Anything extension performs stable diffusion inpainting on a browser UI using masks from Segment Anything. 项目地址: https://gitcode.co…...

AI赋能人才分析:从数据清洗到算法应用的全景解析

1. 项目概述:当AI遇见人才管理在人力资源这个传统上高度依赖“直觉”和“经验”的领域,一场静默的革命正在发生。过去,HR经理们筛选简历、评估候选人、预测员工离职风险,很大程度上依赖于个人判断和有限的量化指标。然而&#xff…...

DeepVision实时视频流处理:10个高效实现技巧

DeepVision实时视频流处理:10个高效实现技巧 【免费下载链接】DeepVision 在我很多项目中用到的CV算法推理框架应用。 项目地址: https://gitcode.com/gh_mirrors/de/DeepVision DeepVision是一个功能强大的CV算法推理框架应用,专为实时视频流处理…...

AdGuardHomeRules自动化更新机制详解:如何保持规则库始终最新

AdGuardHomeRules自动化更新机制详解:如何保持规则库始终最新 【免费下载链接】AdGuardHomeRules 高达百万级规则!由我原创&整理的 AdGuardHomeRules ADH广告拦截过滤规则!打造全网最强最全规则集 项目地址: https://gitcode.com/gh_mi…...

TokenTracker:基于事件监听的以太坊代币转账实时追踪工具实战

1. 项目概述与核心价值最近在搞一个涉及链上数据分析的小项目,需要实时追踪特定代币的链上转账记录。一开始想着直接用区块浏览器的API,但试了几个发现要么有频率限制,要么数据不够实时,要么就是没法按我想要的粒度(比…...

基于AI编辑器的本地化生产力系统:jw-agenda智能体技能深度解析

1. 项目概述:一个为AI编辑器而生的本地化生产力系统 如果你和我一样,日常重度依赖 Cursor 或 Claude 这类 AI 驱动的编辑器,那你肯定也经历过这种场景:脑子里有一堆待办事项,项目规划散落在各个角落,想用 …...

CANN元数据定义基础库

metadef 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 🔥Latest News [2025/12/26] metadef项目首次上线。 🚀概述 metadef,即昇腾元数据定义,用于定义相关数据结构…...

基于OpenClaw智能体生态系统的神经多样性家庭支持平台设计

1. 项目概述:一个面向神经多样性家庭的支持性智能体生态系统最近在开源社区里,我注意到一个名为“neurofamily-support-openclaw-agent-ecosystem”的项目,它来自boktoday这个组织。这个标题本身就很有意思,它像是一个技术愿景的浓…...

Firebase Auth实战:构建雅思练习Web应用的用户认证系统

1. 项目概述:一个基于Firebase的雅思练习Web应用 最近在GitHub上看到一个挺有意思的练手项目,叫“IELTS Practice - Firebase Authentication”。这项目本质上是一个前端练手Demo,核心目标是通过构建一个简单的雅思练习网站,来学…...

生成式AI图像偏见:技术根源、分类与缓解策略

1. 项目概述:当AI开始“画画”,它看到了谁?生成式AI图像模型,比如大家熟知的Stable Diffusion、DALL-E或者Midjourney,已经从一个极客玩具变成了设计师、营销人员和内容创作者的日常工具。只需要输入一段文字描述&…...

AI眼底疾病诊断:从图像处理到深度学习的技术融合与实践

1. 项目概述:当AI遇见眼底,一场关于“看见”的革命作为一名在医疗影像和计算机视觉交叉领域摸爬滚打了十多年的从业者,我亲眼见证了技术如何一步步改变诊断的范式。今天想和大家深入聊聊的,是“AI在视网膜疾病诊断中的应用”这个既…...

构建无缝数字收藏库:picacomic-downloader智能管理解决方案

构建无缝数字收藏库:picacomic-downloader智能管理解决方案 【免费下载链接】picacomic-downloader 哔咔漫画 picacomic pica漫画 bika漫画 PicACG 多线程下载器,带图形界面 带收藏夹,已打包exe 下载速度飞快 项目地址: https://gitcode.co…...

tao-8k Embedding模型工业质检:设备说明书长文本向量化与故障描述语义匹配

tao-8k Embedding模型工业质检:设备说明书长文本向量化与故障描述语义匹配 1. 工业质检场景中的文本匹配挑战 在工业设备维护和质检领域,技术人员每天都要面对大量的设备说明书、故障报告和维护记录。传统的关键词匹配方式经常遇到这样的问题&#xff…...

ChatGPT在教育领域的应用、挑战与未来展望:AI导师如何重塑教学

1. 项目概述:当AI导师走进课堂“ChatGPT在教育领域的应用、挑战与未来展望”这个标题,乍一看像是一篇学术论文的题目,但背后折射出的,是每一位教育工作者、学生乃至家长都在亲身经历的一场静默革命。作为一名长期关注技术与教育交…...

QYVXHOOK最新版5.0.0.6008(qywxhook5.0)与4.1.303.6009双版本发布|含LOAD.dll+Helper.dll调用示例

温馨提示:文末有联系方式QYVXHOOK双版本正式发布:功能升级,即开即用 QYVXHOOK现已推出两个经过实测验证的稳定分支——全新旗舰版5.0.0.6008(对应qywxhook5.0)与高兼容性精简版4.1.303.6009,分别定价150元与…...

AI在创业金融中的三十年演进:从SVM到神经网络的融合应用

1. 项目概述:当AI遇见创业金融如果你在金融科技圈待过几年,或者自己创过业、融过资,你大概率会听过这样的故事:一个满怀激情的创始人,拿着一份精心打磨的商业计划书,见了十几个投资人,最后因为“…...

基于间隔重复算法的本地知识管理工具RecallForge部署与实战

1. 项目概述:从“遗忘”到“掌控”的智能记忆工具在信息爆炸的时代,我们每天都在与海量的数字内容打交道——浏览的文章、收藏的链接、闪过的灵感、待办的任务。然而,一个普遍且令人沮丧的现象是:我们“收藏即遗忘”。那些被我们精…...

把 ABAP Cloud 的入站集成服务做明白,从 OData Web API、HTTP Service、RFC 到 SQL Service 的完整落地路径

在做 SAP BTP ABAP environment 或者 S/4HANA Cloud 的系统集成时,最容易被低估的一块,不是业务逻辑本身,而是你把能力暴露给外部系统的那条链路,到底该用什么协议、怎么做发布、管理员又该怎么把认证和授权接起来。很多团队一谈集成,就只盯着接口实现类,结果开发对象做完…...

AI-XR元宇宙隐私保护:从数据安全到可信计算的技术实践

1. 项目概述:当虚拟与现实交织,隐私的边界在哪里?“AI-XR元宇宙隐私保护”这个标题,乍一看充满了前沿科技感,但它的核心其实是一个我们每个人在数字时代都正在面临的、日益严峻的现实问题。AI(人工智能&…...

去中心化网络中生成式AI的可复现性与共识验证研究

1. 项目概述:当AI遇见去中心化,可复现性为何成为“圣杯”?最近和几个做AI模型和区块链的朋友聊天,大家不约而同地提到了一个共同的痛点:“你这模型结果,我怎么复现不出来?”这几乎是所有AI研究者…...

GPT-4核心技术解析与企业级应用实践指南

1. GPT-4技术本质解析GPT-4作为当前最先进的大语言模型之一,其核心架构基于Transformer神经网络。与早期版本相比,它在模型规模、训练数据和算法优化上都有显著提升。具体表现为:参数量达到万亿级别(具体数值未公开)训…...

AI Agent技能管理革命:用skill-mix统一管理Cursor、Claude Code插件生态

1. 项目概述:一个AI Agent技能的管理层如果你和我一样,深度使用Cursor、Codex和Claude Code这类AI编程助手,那你一定遇到过这样的场景:在GitHub上看到一个很酷的“代码重构”技能,兴冲冲地下载下来,却发现它…...