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

CANN/catlass列广播乘法API

TileOneBlkColumnBroadcastMul

【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass

代码位置

[TOC]

功能说明

TileOneBlkColumnBroadcastMul实现 epilogue 阶段的列广播乘法操作。将形状 (m, 1) 的列向量在 block 内广播到 (m, n) 后与输入相乘。broadcast 粒度为一个 block(BYTE_PER_BLK字节),即 column 上的每 1 个元素广播到 1 个完整的 block。

  • 适用范围:所有架构(无架构特化)
  • 风格:非 TLA

模板原型

template < class ArchTag_, // 架构标签 class ComputeType_, // 计算数据类型 class TileShape_ // Tile 形状 > struct TileOneBlkColumnBroadcastMul;
模板参数说明
ArchTag_架构标签
ComputeType_Gemm::GemmType<ElementCompute, RowMajor>
TileShape_Tile 形状,Shape<ROW, COLUMN>

调用接口

void operator()( AscendC::LocalTensor<ElementCompute> const &ubOut, AscendC::LocalTensor<ElementCompute> const &ubIn0, AscendC::LocalTensor<ElementCompute> const &ubIn1 // (m, eleNumPerBlk) 形状 )

通过AscendC::Mul+BinaryRepeatParamssrc1RepStride = 0,src1BlkStride = 1)实现列广播。

调用示例

#include "catlass/epilogue/tile/tile_broadcast_mul.hpp" using namespace Catlass::Epilogue::Tile; using ComputeType = Gemm::GemmType<half, layout::RowMajor>; using TileShape = Shape<128, 256>; using ColumnBroadcastMul = TileOneBlkColumnBroadcastMul<Arch::AtlasA2, ComputeType, TileShape>; AscendC::LocalTensor<half> ubOut, ubIn0, ubIn1; ColumnBroadcastMul op; op(ubOut, ubIn0, ubIn1);

【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass

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

http://www.gsyq.cn/news/1430189.html

相关文章:

  • 3步构建企业级LLM评测体系:DeepEval实战指南
  • nanowhale-100m与大型语言模型的对比:小模型的优势与局限性分析 [特殊字符]
  • GPT2_PMC特殊token设计:@@Q_START@@与@@A_END@@的巧妙应用
  • VRM4U技术实现:Unreal Engine 5中的VRM模型运行时加载方案
  • 5个关键功能:如何用Lailloken-UI提升你的《流放之路》游戏体验
  • Granite-3.0-2B-Base-GGUF vs 其他2B级模型:终极性能对比分析
  • Stable Diffusion 3 Medium架构深度解析:MMDiT技术原理揭秘
  • ComfyUI-WanVideoWrapper显存优化终极指南:解决低显存显卡视频生成难题
  • AI API 工程落地指南:从一次调用到稳定上线,开发者真正要补齐的 18 个关键环节
  • RecyclerBanner 开源项目教程
  • 避开这些坑!ESP32-C3 I²S开发中时钟配置与引脚映射的常见误区解析
  • BitCPM-CANN-1B快速上手指南:3行代码玩转三值量化大模型
  • Komodo_6B_v3.0.0模型参数详解:从hidden_size到vocab_size的关键配置解析
  • VideoGameBunny-V1-4B故障排除手册:常见问题与解决方案大全
  • Carbon-3B性能优化:10个提升DNA序列生成速度的技巧
  • SECS/GEM协议Python实现终极指南:快速构建半导体设备通信系统
  • Stoic模型与其他蛋白质预测工具对比:优势和适用场景分析
  • MacBook上从零搞定LangChain:Python环境配置到第一个向量数据库应用(避坑指南)
  • AIFS ENS v2.0训练秘籍:32个GH200 GPU如何打造气象AI模型?
  • 树莓派Pico与BMP180传感器:从I2C通信到微型气象站搭建实践
  • 提升用户体验:gh_mirrors/li/live2d_demo事件触发与交互设计指南
  • 三步轻松备份微信聊天记录:你的数字记忆保险箱 [特殊字符]️
  • 2026南充瑜伽普拉提培训机构深度评测报告 - 资讯纵览
  • 186、运动控制中的行业应用:无人机飞控
  • 别再让远处的模型糊成一片了!在Unity/UE4里正确开启Mipmap的保姆级教程
  • SANA-WM模型架构深度解析:2.6B参数扩散变换器的设计哲学
  • 别再手动调顶点!Unity程序化生成Mesh的5个实战场景(附完整代码)
  • EXAONE 4.5-33B架构解析:深入理解330亿参数多模态模型的内部工作原理 [特殊字符]
  • 昆明本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • 抖音直播数据采集实战:如何用DouyinLiveWebFetcher解锁实时用户行为分析