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

CANN/asc-devkit SetFmatrix API

SetFmatrix

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

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

x

Atlas A2 训练系列产品 / Atlas A2 推理系列产品

x

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品 AI Core

Atlas 推理系列产品 Vector Core

x

Atlas 训练系列产品

x

Kirin X90

Kirin 9030

功能说明

用于调用Load3Dv1/Load3Dv2时设置FeatureMap的属性描述。Load3Dv1/Load3Dv2的模板参数isSetFMatrix设置为false时,表示Load3Dv1/Load3Dv2传入的FeatureMap的属性(包括l1H、l1W、padList,参数介绍参考表4 LoadData3DParamsV1结构体内参数说明、表5 LoadData3DParamsV2结构体内参数说明)描述不生效,开发者需要通过该接口进行设置。

函数原型

__aicore__ inline void SetFmatrix(uint16_t l1H, uint16_t l1W, const uint8_t padList[4], const FmatrixMode& fmatrixMode)

参数说明

表 1参数说明

参数名称

输入/输出

含义

l1H

输入

源操作数height,取值范围:l1H∈[1, 32767]。

l1W

输入

源操作数width,取值范围:l1W∈[1, 32767] 。

padList

输入

padding列表 [padding_left, padding_right, padding_top, padding_bottom],每个元素取值范围:[0,255]。默认为{0, 0, 0, 0}。

fmatrixMode

输入

用于控制LoadData指令从left还是right寄存器获取信息。FmatrixMode类型,定义如下。当前只支持FMATRIX_LEFT,左右矩阵均使用该配置。

enum class FmatrixMode : uint8_t { FMATRIX_LEFT = 0, FMATRIX_RIGHT = 1, };

约束说明

  • 该接口需要配合load3Dv1/load3Dv2接口一起使用,需要在load3Dv1/load3Dv2接口之前调用。
  • 操作数地址对齐要求请参见通用地址对齐约束。

调用示例

完整调用示例参考SetLoadDataBoundary样例。

uint16_t channelSize = 32; uint16_t H = 4, W = 4; uint8_t Kh = 2, Kw = 2; uint16_t Cout = 16; uint16_t C0, C1; uint8_t dilationH = 2, dilationW = 2; uint8_t padList[PAD_SIZE] = {0, 0, 0, 0}; AscendC::SetFmatrix(H, W, padList, FmatrixMode::FMATRIX_LEFT); // 使能FM内存排布模式, 从left寄存器获取信息 AscendC::SetLoadDataPaddingValue(0); AscendC::SetLoadDataRepeat({0, 1, 0}); AscendC::SetLoadDataBoundary((uint32_t)0); static constexpr AscendC::IsResetLoad3dConfig LOAD3D_CONFIG = {false,false}; AscendC::LoadData<fmap_T, LOAD3D_CONFIG>(featureMapA2, featureMapA1, { padList, H, W, channelSize, k, howoRound, 0, 0, 1, 1, Kw, Kh, dilationW, dilationH, false, false, 0 }); AscendC::LoadData(weightB2, weightB1, { 0, weRepeat, 1, 0, 0, false, 0 });

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

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

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

相关文章:

  • CANN/asc-devkit获取KFC工作空间内存地址API
  • CSS渐变完全掌握:从基础到高级技巧
  • CANN/asc-devkit ReduceMin临时空间接口
  • CANN/asc-devkit SetCurBufSize函数文档
  • CANN/asnumpy随机抽样API
  • 如何通过智能菜单栏管理让Mac界面焕然一新:Hidden Bar深度使用指南
  • Internetarchive元数据管理实战:掌握metadata操作的最佳实践
  • MaxBot抢票机器人:2025终极自动化抢票神器指南,5步轻松搞定热门门票
  • 别再死磕理论了!用SolidWorks从零到一,手把手教你搭建一个能动的三自由度机械臂模型
  • CANN/asc-devkit SetShapeInfo API文档
  • 别再只当Atlas是元数据仓库了!手把手教你用它的UI搞定数据分类与血缘追溯
  • 从DTrace到SystemTap:一个开源内核追踪工具的“逆袭”与避坑指南
  • 如何高效使用FreeRDP:远程桌面连接实用技巧完整指南
  • 青龙面板终极指南:多语言定时任务管理平台完整实战教程
  • 3步搞定Fan Control风扇控制:Windows电脑散热优化专业指南
  • FastCopy终极指南:跨平台文件复制的完整解决方案
  • 为ClaudeCode配置Taotoken作为备用API源防止服务中断
  • Taotoken用量看板功能详解如何帮助团队管理员透明化管理AI资源开支
  • 告别实车折腾!手把手教你用Vector VT平台搭建OBC/DCDC的HIL测试台架(附避坑清单)
  • 从Word转投LaTeX:我用这套Windows环境配置,论文排版效率翻倍了
  • 如何快速使用Pixelle-Video:面向初学者的AI短视频生成完整指南
  • 手把手教你为OpenHarmony RK3568板子配置musl+Clang交叉编译环境(含pkg-config详解)
  • 如何轻松掌握网页资源下载:开源猫抓插件的终极指南 [特殊字符]
  • CANN/asc-devkit CumSum临时空间接口
  • OpCore-Simplify:如何30分钟完成专业级黑苹果配置
  • PyTorch矩阵乘法进阶:用torch.matmul高效实现一个简易的Transformer注意力头
  • CANN/asc-devkit GlobalTensor地址获取
  • 联想拯救者工具箱终极指南:完全替代Vantage的轻量级硬件管理方案
  • 用CUDA C++手搓LeNet推理引擎:从PyTorch导出权重到GPU加速的完整流程(附源码)
  • (良心整理)亲测好用的AI写作辅助网站,毕业党收藏备用