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

CANN/asc-devkit多核矩阵乘法临时缓冲区大小获取

MultiCoreMatmulGetTmpBufSizeV2

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

功能说明

多核Matmul Tiling调用GetTiling接口获取Tiling参数后,根据Tiling结构体信息获取L1 Buffer/Unified Buffer/L0C Buffer的使用大小。

函数原型

int32_t MultiCoreMatmulGetTmpBufSizeV2(AscendC::tiling::TCubeTiling& tiling, matmul_tiling::SysTilingTempBufSize& bufSize)

参数说明

表1参数说明

参数名输入/输出描述
tiling输入Matmul多核Tiling的结构体,即MultiCoreMatmulTiling对象得到的TCubeTiling结构体。

TCubeTiling为Kernel侧定义的Matmul TilingData,与入参为带AscendC::tiling命名空间的TCubeTiling结构体的GetTiling接口配合使用。
bufSize输出根据TCubeTiling结构体信息获取L1 Buffer/Unified Buffer/L0C Buffer的使用大小。SysTilingTempBufSize结构定义如下方代码所示。
struct SysTilingTempBufSize { int32_t ubSize = 0; // Unified Buffer大小 int32_t l1Size = 0; // L1 Buffer大小 int32_t l0cSize = 0; // L0C Buffer大小 };

返回值说明

-1表示获取失败; 0表示获取成功。

约束说明

调用示例

auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); AscendC::tiling::TCubeTiling tilingData; ... // 初始化tilingData,详见MatmulTiling类使用说明 int ret = tiling.GetTiling(tilingData); // 获取Tiling参数 SysTilingTempBufSize bufSize; MultiCoreMatmulGetTmpBufSizeV2(tilingData, bufSize);

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

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

http://www.jsqmd.com/news/1130542/

相关文章:

  • 革命性开源天气API:Open-Meteo如何重塑全球气象数据访问
  • 零代码革命:如何用MIT App Inventor在3天内开发出你的第一个移动应用?
  • 如何利用MONAI解决医疗影像AI开发中的核心挑战:模块化设计与实战应用
  • 3步解锁PPT科研演示效率:SlideSCI插件终极解决方案
  • AssetRipper终极指南:如何快速提取Unity游戏资源并转换为可编辑格式
  • 从游戏模组到开发平台:REPENTOGON如何重新定义《以撒的结合》模组生态
  • 2026年论文降AI保姆级教程:亲测5款好用的降AI率平台,教你从80%降至10%
  • Onekey Steam游戏解锁工具:免费快速解锁DLC的终极指南
  • Universal Android Debloater终极指南:无需Root彻底清理安卓预装应用
  • NeSF框架实战教程:用Jax3d构建神经语义场(Neural Semantic Fields)的完整流程
  • Subliminal最佳实践:7个提高iOS测试可靠性的终极方法
  • Disnake命令系统详解:前缀命令、斜杠命令与上下文菜单开发指南
  • 如何从零构建技术栈?build-your-own-x项目的终极实战指南
  • FluentFlyout 核心功能解析:媒体悬浮窗、任务栏小部件与流畅动画体验
  • AndroidComponentizeLibs进阶教程:跨App调用与动态注册技巧
  • 如何配置ESP32-BLE2MQTT与Olimex ESP32-POE的完美兼容性
  • Selenium IDE流程控制插件Sideflow:可视化构建复杂自动化测试
  • 3大常见数据处理难题:CyberChef如何成为你的数字瑞士军刀
  • STM32学习3--新建工程和LED点亮
  • 基于74HC32与TM4C129ENCZAD的键盘矩阵设计与优化
  • 沉浸式国际象棋体验:如何用音效系统让每一步棋都充满戏剧感
  • 题解:AcWing 798 差分矩阵
  • SAN 模型可视化教程:使用 TensorBoard 分析训练过程与结果
  • Tilt Brush Toolkit核心功能揭秘:为什么它是创意项目的必备工具
  • StreamPETR社区贡献指南:如何参与项目开发与改进
  • Serverless Node.js Starter与Webpack:自动优化你的无服务器应用
  • 题解:学而思编程 特殊数字2
  • MACS3常见问题排查:解决ChIP-Seq数据分析中的10大痛点
  • caxlsx_rails核心功能解析:从模板渲染到邮件附件的完整攻略
  • 电机控制-隆博戈观测器(Luenberger state observer)