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

Ascend C矩阵乘法SetOrgShape接口

SetOrgShape【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品 / Atlas A3 推理系列产品√Atlas A2 训练系列产品 / Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品√Atlas 推理系列产品 AI Core√Atlas 推理系列产品 Vector CorexAtlas 训练系列产品xKirin X90√功能说明设置Matmul计算原始完整的形状M、N、K单位为元素个数。用于运行时修改shape比如复用同一个Matmul对象从不同的矩阵块取数据计算。函数原型__aicore__ inline void SetOrgShape(int orgM, int orgN, int orgK)__aicore__ inline void SetOrgShape(int orgM, int orgN, int orgKa, int orgKb, int orgKc 0)参数说明表 1参数说明参数名输入/输出描述orgM输入设置原始完整的形状M大小单位为元素。对于Ascend 950PR/Ascend 950DT在使用MDL模板创建的Matmul对象调用本接口时该参数用于设置GM或L1上完整的形状M大小单位为元素。orgN输入设置原始完整的形状N大小单位为元素。对于Ascend 950PR/Ascend 950DT在使用MDL模板创建的Matmul对象调用本接口时该参数用于设置GM或L1上完整的形状N大小单位为元素。orgK输入设置原始完整的形状K大小单位为元素。原始完整形状KaKb时可设置。对于Ascend 950PR/Ascend 950DT在使用MDL模板创建的Matmul对象调用本接口时该参数用于设置GM或L1上完整的形状K大小单位为元素。原始完整形状KaKb时可设置。orgKa输入设置矩阵A原始完整的形状Ka大小单位为元素。对于Ascend 950PR/Ascend 950DT在使用MDL模板创建的Matmul对象调用本接口时该参数用于设置GM或L1上完整的形状Ka大小单位为元素。orgKb输入设置矩阵B原始完整的形状Kb大小单位为元素。对于Ascend 950PR/Ascend 950DT在使用MDL模板创建的Matmul对象调用本接口时该参数用于设置GM或L1上完整的形状Kb大小单位为元素。orgKc输入设置输出C矩阵的N单位为元素。需要输入B矩阵的N和输出C矩阵的N不一样时可设置默认为0即使用B矩阵的N不进行修改。[!CAUTION]注意对于Ascend 950PR/Ascend 950DT上使用MDL模板创建的Matmul对象L1上数据的形状与Tiling侧接口SetOrgShape中的orgMIn/orgNIn/orgKIn/orgKaIn/orgKbIn一致时不必须调用此接口。对于Ascend 950PR/Ascend 950DT上使用MDL模板创建的Matmul对象L1上数据的形状与Tiling侧接口SetOrgShape中的orgMIn/orgNIn/orgKIn/orgKaIn/orgKbIn不一致时必须调用本接口指定GM/L1上的orgM/orgN/orgK/orgKa/orgKb。 例如使用MDL模板时输入矩阵A在L1、输入矩阵B在GM的场景L1上A的形状大小与Tiling侧原始的orgMIn/orgKIn/orgKaIn不一致时调用SetOrgShape(orgM, orgN, orgK)/SetOrgShape(orgM, orgN, orgKa, orgKb)接口指定L1上A矩阵相关参数orgM/orgK/orgKa。返回值说明无约束说明本接口需要在SetTensorA接口、SetTensorB接口、SetBias接口及SetSingleShape接口前调用。调用示例设置矩阵原始完整的形状REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm, tiling); mm.SetTensorA(gm_a); mm.SetTensorB(gm_b); mm.SetBias(gm_bias); mm.IterateAll(gm_c); // 复用mm对象 mm.SetOrgShape(orgM, orgN, orgK); mm.SetTensorA(gm_a1); mm.SetTensorB(gm_b1); mm.SetBias(gm_bias1); mm.IterateAll(gm_c1);对于Ascend 950PR/Ascend 950DT上使用MDL模板的Matmul对象设置GM或L1上完整的形状REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm, tiling); for (int m 0; m mIter_; m) { for (int n 0; n nIter_; n) { for (int k 0; k kIter_; k) { // 复用mm指定A在L1和B在GM上的shape mm.SetOrgShape(alignedSingleM, tiling.N, alignedSingleK, tiling.Kb, tiling.N); mm.SetSingleShape(curBaseM, curBaseN, curBaseK); mm.SetTensorA(tscm_a[offset_a]); // Set aMatrix tscm input mm.SetTensorB(gm_b[offset_b]); mm.SetBias(gm_bias[offset_bias]); mm.Iterate(k ! 0); } matmulObj.GetTensorC(gm_c[offset_c]); } }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
http://www.gsyq.cn/news/1330943.html

相关文章:

  • 杰和主板硬件级显示旋转技术:一体机竖屏适配原理与部署指南
  • AP微积分学习指南及相关书籍
  • 《超简单的微积分》、《简单微积分》阅读指北
  • 2026年四川自动售卖机运营市场品牌商业参考:技术与市场双维度评估 - 深度智识库
  • Perplexity习语查询功能突然失效?紧急修复手册:5分钟定位LLM微调偏差、缓存污染与地域策略冲突
  • 如何在Windows11中自定义快捷方式?提升操作效率的技巧
  • 什么是备忘录模式?一文详解
  • 哪个牌子的 pos 刷卡机靠谱?个人自用机正规机构扫码刷卡避坑指南 - 资讯速览
  • 告别Eclipse插件!在Maven项目中用antlr4-maven-plugin自动生成解析器代码(附完整pom.xml配置)
  • NetCoMi微生物网络分析:从数据到洞察的完整解决方案
  • 告别手动录入!用JavaScript+SQL实现泛微E9明细表数据自动填充(附完整代码)
  • 从AIGC到AIGS:Java团队的AI落地之路
  • PhantomJS+jsEncrypter插件:手把手教你打造BurpSuite专属密码加密爆破模块
  • FunASR与HuggingFace无缝对接:5分钟搞定跨平台语音识别部署
  • Linux more 命令详解:从基础分页到高级文本查看技巧
  • MATLAB文件选择对话框uigetfile()保姆级教程:从单文件到多选的完整配置流程
  • Sora 2时间轴与Blender NLA编辑器深度对齐指南(2024.06.12 Blender官方补丁前最后兼容方案)
  • FunASR工业级应用案例:金融客服语音分析系统
  • 医疗器械厂家可以定制中频治疗仪款式吗 - 舒雯文化
  • 三星固件下载终极指南:Bifrost跨平台工具免费获取官方系统
  • 从一次gRPC连接失败,聊聊Go语言中net.Listen(‘tcp‘, ‘127.0.0.1:9001‘)背后的网络编程哲学
  • 告别马赛克!用SPIN超像素Transformer,5分钟看懂轻量级图像超分新玩法
  • 哪个牌子的 pos 刷卡机靠谱?个人刷卡机正规机构大额刷卡,无年费对比测评 - 资讯速览
  • CANN/asc-devkit核间同步API文档
  • 2026 在线水印去除工具怎么选?6款实用方法对比测评
  • 2026开窗包装盒厂家推荐:大健康定制领域标杆企业测评 - 资讯速览
  • CubeCL 核心架构揭秘:基于立方体拓扑的跨平台计算模型
  • 深入理解DocQuery架构:LayoutLM模型与零样本学习原理
  • 2026年去水印工具推荐:6大免费去水印工具详测,这款处理速度快到离谱 - 科技热点发布
  • 2026年管棒材检测系统十强厂商最新深度评测