CopyL1ToL0BTla
【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass
代码位置
[TOC]
功能说明
CopyL1ToL0BTla实现 Conv 场景下将 Filter 数据从 L1 搬运到 L0B 的 TLA 风格版本。
- 适用范围:AtlasA2、Ascend950
- 风格:TLA
模板原型
template <class Element> struct CopyL1ToL0BTla;| 模板参数 | 说明 |
|---|---|
Element | 元素类型,如half |
调用接口
template <class TensorDst, class TensorSrc> void operator()( TensorDst const &dstTensor, // nZ 格式 TensorSrc const &srcTensor // CI1KHKWCOCI0 格式 )调用示例
#include "catlass/conv/tile/atlasa2/copy_l1_to_l0b.hpp" using namespace Catlass::Conv::Tile; using Element = half; constexpr uint32_t Cin1 = 4, Kh = 3, Kw = 3, Cout = 64, C0 = 16; auto layoutSrc = tla::MakeLayout<Element, layout::CI1KHKWCOCI0>(Cin1, Kh, Kw, Cout, C0); auto layoutDst = tla::MakeLayout<Element, layout::nZ>(Cin1 * Kh * Kw, Cout); AscendC::LocalTensor<Element> srcData, dstData; auto srcTensor = tla::MakeTensor(srcData, layoutSrc, Arch::PositionL1{}); auto dstTensor = tla::MakeTensor(dstData, layoutDst, Arch::PositionL0B{}); CopyL1ToL0BTla<Element> copyOp; copyOp(dstTensor, srcTensor);【免费下载链接】catlass本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考