news 2026/7/17 18:40:54

CANN Ascend C矩阵计算SetUserDefInfo接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN Ascend C矩阵计算SetUserDefInfo接口

SetUserDefInfo

【免费下载链接】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 Core:不支持
  • Atlas 训练系列产品:不支持
  • Kirin X90:支持

功能说明

启用模板参数MatmulCallBackFunc(自定义回调函数)时,设置算子tiling地址,用于回调函数使用,该接口仅需调用一次。

函数原型

__aicore__ inline void SetUserDefInfo(const uint64_t tilingPtr)

参数说明

表1参数说明

参数名输入/输出描述
tilingPtr输入设置的算子tiling地址。

返回值说明

约束说明

  • 若回调函数中需要使用tilingPtr参数时,必须调用此接口;若回调函数不使用tilingPtr参数,无需调用此接口。
  • 当开启MixDualMaster(双主模式)场景时,即模板参数enableMixDualMaster设置为true,不支持使用该接口。

调用示例

// 用户自定义回调函数 void DataCopyOut( const __gm__ void* gm, const LocalTensor<int8_t>& co1Local, const void* dataCopyOutParams, const uint64_t tilingPtr, const uint64_t dataPtr); void CopyA1( const LocalTensor<int8_t>& aMatrix, const __gm__ void* gm, int row, int col, int useM, int useK, const uint64_t tilingPtr, const uint64_t dataPtr); void CopyB1( const LocalTensor<int8_t>& bMatrix, const __gm__ void* gm, int row, int col, int useK, int useN, const uint64_t tilingPtr, const uint64_t dataPtr); typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, half> aType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, half> bType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, float> cType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, float> biasType; AscendC::Matmul<aType, bType, cType, biasType, CFG_NORM, MatmulCallBackFunc<DataCopyOut, CopyA1, CopyB1>> mm; REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling); uint64_t tilingPtr = reinterpret_cast<uint64_t>(tiling); // 设置算子tiling地址,用于回调函数使用,该接口仅需调用一次 mm.SetUserDefInfo(tilingPtr); mm.SetTensorA(gmA); mm.SetTensorB(gmB); mm.IterateAll();

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

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

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

JUnit 5 架构解析与实战:从单元测试到集成测试的全面指南

1. 项目概述&#xff1a;为什么我们需要 JUnit 5&#xff1f;如果你写过 Java 代码&#xff0c;尤其是企业级应用&#xff0c;那你一定对“测试”这个词又爱又恨。爱的是&#xff0c;它确实能帮你提前发现很多愚蠢的错误&#xff0c;让你在深夜被叫起来修 Bug 时&#xff0c;心…

作者头像 李华
网站建设 2026/7/17 18:39:19

Python股票量化教程:手把手实现WR威廉指标

前言 WR&#xff08;Williams %R&#xff0c;威廉指标&#xff09;是短线交易常用的超买超卖指标&#xff0c;擅长捕捉股价短期高低拐点。WR和RSI原理相近&#xff0c;但WR灵敏度更高&#xff0c;经常提前发出反转信号&#xff0c;适合震荡行情抄底、逃顶。 很多同学自己写WR…

作者头像 李华
网站建设 2026/7/17 18:39:17

Nextcloud+MariaDB+Onlyoffice+HTTPS Docker一站式部署指南

1. 项目概述&#xff1a;为什么一个“新手向”的Nextcloud部署&#xff0c;值得花两小时认真读完你是不是也经历过这样的场景&#xff1a;在搜索引擎里输入“nextcloud搭建教程”&#xff0c;页面刷出上百篇结果&#xff0c;点开三篇&#xff0c;前两篇卡在Docker安装环节就断了…

作者头像 李华
网站建设 2026/7/17 18:39:15

CANN/asc-devkit:SoftmaxFlash接口

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

作者头像 李华
网站建设 2026/7/17 18:38:25

CANN asc-devkit Sigmoid激活函数接口

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

作者头像 李华
网站建设 2026/7/17 18:38:00

CANN/Ascend C Trunc接口文档

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

作者头像 李华