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

CANN/asc-devkit矩阵乘法B布局设置

SetBLayout

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

功能说明

设置B矩阵的Layout轴信息,包括B、S、N、G、D轴。对于BSNGD、SBNGD、BNGS1S2 Layout格式,调用IterateBatch接口之前,需要在Host侧Tiling实现中通过本接口设置B矩阵的Layout轴信息。

函数原型

int32_t SetBLayout(int32_t b, int32_t s, int32_t n, int32_t g, int32_t d)

参数说明

表1参数说明

参数名输入/输出描述
b输入B矩阵Layout的B轴信息
s输入B矩阵Layout的S轴信息
n输入B矩阵Layout的N轴信息
g输入B矩阵Layout的G轴信息
d输入B矩阵Layout的D轴信息

返回值说明

-1表示设置失败; 0表示设置成功。

约束说明

对于BSNGD、SBNGD、BNGS1S2 Layout格式,调用IterateBatch接口之前,需要在Host侧Tiling实现中通过本接口设置B矩阵的Layout轴信息。

调用示例

auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); int32_t M = 32; int32_t N = 256; int32_t K = 64; tiling.SetDim(1); tiling.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetShape(M, N, K); tiling.SetOrgShape(M, N, K); tiling.SetBias(true); tiling.SetBufferSpace(-1, -1, -1); constexpr int32_t A_BNUM = 2; constexpr int32_t A_SNUM = 32; constexpr int32_t A_GNUM = 3; constexpr int32_t A_DNUM = 64; constexpr int32_t B_BNUM = 2; constexpr int32_t B_SNUM = 256; constexpr int32_t B_GNUM = 3; constexpr int32_t B_DNUM = 64; constexpr int32_t C_BNUM = 2; constexpr int32_t C_SNUM = 32; constexpr int32_t C_GNUM = 3; constexpr int32_t C_DNUM = 256; constexpr int32_t BATCH_NUM = 3; tiling.SetALayout(A_BNUM, A_SNUM, 1, A_GNUM, A_DNUM); tiling.SetBLayout(B_BNUM, B_SNUM, 1, B_GNUM, B_DNUM); // 设置B矩阵排布 tiling.SetCLayout(C_BNUM, C_SNUM, 1, C_GNUM, C_DNUM); tiling.SetBatchNum(BATCH_NUM); tiling.SetBufferSpace(-1, -1, -1); optiling::TCubeTiling tilingData; int ret = tiling.GetTiling(tilingData);

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

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

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

相关文章:

  • 为AI模型WebUI部署基础认证与IP白名单双重安全防护
  • RISC-V并行架构MC3172开发板实战指南
  • 2026年定制衣柜选购指南:从资质到工艺的工厂实力验证 - 万相科技
  • 中国车牌生成器实战指南:高效解决车牌识别数据稀缺难题
  • Windows 7系统优化与高效使用全攻略
  • C++与Python零拷贝集成实战:原理、陷阱与性能优化指南
  • 5分钟上手CPDS:容器集群故障检测系统安装部署完整教程
  • 2026北京名表回收门店测评|主城6大机构实测,价格透明对比避坑 - 生活时报
  • CANN/asc-devkit DropOut API文档
  • eBPF 运行时架构:Verifier、JIT、Map 与加载流程
  • async-stream高级模式:组合流、背压控制与取消机制
  • 终极指南:如何用QtScrcpy在5分钟内实现Android投屏控制
  • CANN/asc-devkit Tanh接口
  • 昇腾CANN Rint临时空间大小接口
  • NCM格式解密工具ncmdump:网易云音乐加密文件转换完整指南
  • 2026年门墙柜一体化选购:三大硬指标与五大误区 - 万相科技
  • 电影感拥抱场景技术解析:从构图算法到光影分析的量化方法
  • MacBook Air本地运行LLM:轻量级大模型实践指南
  • LIBERO-Plus:面向真实场景的VLA鲁棒性压力测试基准
  • 从C++到Qt桌面开发:核心机制、实战避坑与项目构建全指南
  • 从零构建高性能Web服务器:C++实现Reactor/Proactor与高并发架构
  • SSD目标检测技术:原理、部署与优化实践
  • CANN/asc-devkit SoftmaxFlashV3接口
  • CANN/asc-devkit SIMT-API线程块dim_threads函数
  • CANN/Ascend C SinCos临时空间大小接口
  • CANN/asc-devkit Tan临时空间接口
  • CANN/asc-devkit SIMT协作组线程数API
  • CANN/asc-devkit: SetALayout矩阵布局设置
  • 猫抓浏览器扩展:三步轻松下载任何网页视频资源的终极解决方案
  • 电脑分辨率异常排查与修复全指南