
MakePatternLayout【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品不支持Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品AI Core不支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品不支持功能说明需要包含的头文件为#include tensor_api/tensor.h。MakePatternLayout用于根据Shape、Stride、LayoutPattern和TraitType构造带布局模式信息的Layout对象。与MakeLayout相比MakePatternLayout除了保存Shape和Stride外还会在Layout类型中附加布局模式LayoutPattern和Trait信息。函数原型template typename LayoutPattern, typename TraitType, typename ShapeType, typename StrideType __aicore__ inline constexpr auto MakePatternLayout(const ShapeType shape, const StrideType stride)参数说明表1模板参数说明参数名称类型描述LayoutPattern输入布局模式类型用于标记Layout的格式信息。TraitType输入布局trait类型用于标记元素类型、C0粒度等附加属性。ShapeType输入shape的类型要求为元组(tuple)类型。StrideType输入stride的类型要求为元组(tuple)类型。表2参数说明参数名称输入/输出描述shape输入描述逻辑形状的元组对象可由MakeShape构造。stride输入描述各维步长的元组对象可由MakeStride构造。返回值说明返回LayoutShapeType, StrideType, Std::tupleLayoutPattern, TraitType类型对象。约束说明shape和stride必须满足Layout构造要求即都为元组类型。LayoutPattern应为合法的布局模式类型例如NZLayoutPtn、ZNLayoutPtn、NDLayoutPtn、DNLayoutPtn等。TraitType应与LayoutPattern及后续使用场景匹配否则可能导致后续格式检查或路由失败。调用示例using namespace AscendC::Te; // 示例1构造带NZ布局模式的Layout auto layout1 MakePatternLayoutNZLayoutPtn, LayoutTraitDefault( MakeShape(MakeShape(16, 2), MakeShape(16, 4)), MakeStride(MakeStride(16, 256), MakeStride(1, 512)) ); // 示例2构造带ND布局模式的Layout auto layout2 MakePatternLayoutNDLayoutPtn, LayoutTraitStd::ignore_t, _1( MakeShape(32, 64), MakeStride(64, 1) );【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考