Layout构造函数
产品支持情况
- Ascend 950PR/Ascend 950DT:不支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
- Atlas 200I/500 A2 推理产品:不支持
- Atlas 推理系列产品AI Core:不支持
- Atlas 推理系列产品Vector Core:不支持
- Atlas 训练系列产品:不支持
功能说明
根据输入的Shape和Stride对象,实例化Layout对象。
函数原型
C++
__aicore__ inline constexpr Layout(const ShapeType& shape = {}, const StrideType& stride = {}) : Std::tuple<ShapeType, StrideType>(shape, stride)
参数说明
参数名 | 输入/输出 | 描述 |
|---|---|---|
shape | 输入 | Std::tuple结构类型,用于定义数据的逻辑形状,例如二维矩阵的行数和列数或多维张量的各维度大小。 |
stride | 输入 | Std::tuple结构类型,用于定义各维度在内存中的步长,即同维度相邻元素在内存中的间隔,间隔的单位为元素,与Shape的维度信息一一对应。 |
返回值说明
无
约束说明
构造Layout对象时传入的Shape和Stride结构,需是Std::tuple结构类型,且满足Std::tuple结构类型的使用约束。
调用示例
C++
AscendC::Shape<int,int,int> shape = AscendC::MakeShape(10, 20, 30);
AscendC::Stride<int,int,int> stride = AscendC::MakeStride(1, 100, 200);
AscendC::Layout<AscendC::Shape<int, int, int>, AscendC::Stride<int, int, int>> layoutInit(shape, stride);