GetLayoutTrait
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
功 能 说 明
需 要 包 含 的 头 文 件 为:#include "tensor_api/tensor.h"。
GetLayoutTrait用 于 从Layout类 型 中 提 取 其LayoutTrait类 型 信 息。
原 型 定 义
C++
template <typename T>
using GetLayoutTrait = typename GetTraitType<Std::remove_cvref_t<T>>::type;
参 数 说 明
模 板 参 数 说 明
| 参 数 名 | 类 型 | 描 述 |
|---|---|---|
| T | 输 入 | 待 提 取LayoutTrait的Layout类 型。 |
返 回 值 说 明
若T包 含Layout布 局 特 征 信 息,则 返 回 对 应 的TraitType;否 则 返 回Std::ignore_t。
调 用 示 例
C++
using namespace AscendC::Te;
using LayoutType = decltype(MakeFrameLayout<NZLayoutPtn, LayoutTraitDefault<float>>(16, 16));
using Trait = GetLayoutTrait<LayoutType>;
// Trait = LayoutTraitDefault<float>
using PlainLayout = decltype(MakeLayout(MakeShape(16, 16), MakeStride(16, 1)));
using PlainTrait = GetLayoutTrait<PlainLayout>;
// PlainTrait = Std::ignore_t