ConvTileCopy【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass代码位置[TOC]功能说明ConvTileCopy是卷积Conv场景的搬运模板集合结构上与 TileCopy 完全相同区别仅在于模板参数命名和用途——专门服务于 Convolution 的 Im2Col GEMM 流程。BiasType 为必选参数非默认void因为 Conv 通常包含 Bias。引用的 Tile 组件成员别名引用的底层模板说明CopyGmToL1ACopyGmToL1ArchTag, ATypeA 矩阵 GM→L1CopyGmToL1BCopyGmToL1ArchTag, BTypeB 矩阵 GM→L1CopyL1ToL0ACopyL1ToL0AArchTag, L1ATypeA 矩阵 L1→L0ACopyL1ToL0BCopyL1ToL0BArchTag, L1BTypeB 矩阵 L1→L0BCopyL0CToGmCopyL0CToGmArchTag, ElementAccumulator, CTypeL0C→GMCopyGmToL1BiasCopyGmToL1ArchTag, ...Bias GM→L1CopyL1ToBTCopyL1ToBTArchTag, ...Bias L1→BT模板原型template class ArchTag, // 架构标签 class AType, // A 矩阵 GmType class BType, // B 矩阵 GmType class CType, // C 矩阵 GmType class BiasType // Bias GmType必选 struct ConvTileCopy;调用示例#include catlass/gemm/tile/tile_copy.hpp using namespace Catlass::Gemm; using AType Gemm::GemmTypehalf, layout::RowMajor; using BType Gemm::GemmTypehalf, layout::ColumnMajor; using CType Gemm::GemmTypehalf, layout::NDC1HWC0; using BiasType Gemm::GemmTypehalf, layout::VectorLayout; using TileCopy_ Tile::ConvTileCopyArch::AtlasA2, AType, BType, CType, BiasType; typename TileCopy_::CopyGmToL1A copyGmToL1A; typename TileCopy_::CopyGmToL1B copyGmToL1B; typename TileCopy_::CopyGmToL1Bias copyGmToL1Bias; typename TileCopy_::CopyL1ToBT copyL1ToBT; typename TileCopy_::CopyL0CToGm copyL0CToGm;【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考