CANN/asc-devkit GetLayoutPattern函数文档
GetLayoutPattern【免费下载链接】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。GetLayoutPattern用于从Layout类型中提取其LayoutPattern类型信息。原型定义template typename T using GetLayoutPattern typename GetPatternStd::remove_cvref_tT::type;参数说明模板参数说明参数名类型描述T输入待提取LayoutPattern的Layout类型。返回值说明若T包含Layout布局模式信息则返回对应的LayoutPattern类型。若T为MakeLayout构造的LayoutGetLayoutPattern会根据Shape和Stride的类型结构自动推导可识别的LayoutPattern无法根据类型唯一识别时返回Std::ignore_t。调用示例using namespace AscendC::Te; using LayoutType decltype(MakeFrameLayoutNZLayoutPtn, LayoutTraitDefaultfloat(16, 16)); using Pattern GetLayoutPatternLayoutType; // Pattern NZLayoutPtn using InferredLayout decltype(MakeLayout(MakeShape(AscendC::Te::_16{}, AscendC::Te::_16{}))); using InferredPattern GetLayoutPatternInferredLayout; // InferredPattern NDLayoutPtn using PlainLayout decltype(MakeLayout(MakeShape(16, 16), MakeStride(16, 1))); using PlainPattern GetLayoutPatternPlainLayout; // PlainPattern Std::ignore_t运行时数值未编码到类型中时无法自动推导【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考