layout

Applicability

Product

Supported

Atlas 350 Accelerator Card

x

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

x

Atlas inference product AI Core

x

Atlas inference product Vector Core

x

Atlas training product

x

Function Usage

Obtains the instantiated Layout object.

Prototype

1
2
__aicore__ inline constexpr decltype(auto) layout() {}
__aicore__ inline constexpr decltype(auto) layout() const {}

Parameters

None

Returns

Instantiated Layout object.

Restrictions

The Shape and Stride structures passed during the construction of the Layout object must be of the Std::tuple type and meet the usage restrictions of the Std::tuple structure type.

Examples

1
2
3
4
5
6
7
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);

// Use the layout function to obtain the instantiated object.
constexpr auto& layout = layoutInit.layout();