Class Layout#

Inheritance Relationships#

Base Type#

  • public ffi::ObjectRef

Derived Types#

Class Documentation#

class Layout : public ffi::ObjectRef#

Managed reference to a tensor-program coordinate layout.

Subclassed by tvm::tirx::ComposeLayout, tvm::tirx::TileLayout

Public Types

using ContainerType = LayoutObj#

Public Functions

void CheckWellFormed() const#

Verify if the layout is well-formed.

PrimExpr GetSize(ffi::Optional<ffi::String> axis_name = std::nullopt) const#

Get the size of the layout (of some axis).

PrimExpr GetSpan(ffi::Optional<ffi::String> axis_name = std::nullopt) const#

Get the span of the layout (of some axis).

ffi::Map<ffi::String, PrimExpr> Apply(ffi::Array<PrimExpr> coord, sym::AnalyzerObj *analyzer) const#

Apply a layout using caller-owned analysis state.

The analyzer is required and must outlive the call. Its current premises may simplify the result. The layout adds no persistent premises and does not retain the analyzer. Related queries can reuse its caches and solver. Concurrent queries must use separate analyzers.

ffi::Map<ffi::String, PrimExpr> Apply(PrimExpr coord, sym::AnalyzerObj *analyzer) const#
ffi::Map<ffi::String, PrimExpr> Apply(const ffi::Array<PrimExpr> &coord, const ffi::Array<PrimExpr> &shape, sym::AnalyzerObj *analyzer) const#
Layout Canonicalize() const#

Turn the layout to canonical form.

Layout Tile(const TileLayout &outer, const ffi::Array<PrimExpr> &outer_shape, const ffi::Array<PrimExpr> &inner_shape) const#

Tile the current layout with a given layout.

inline explicit Layout(::tvm::ffi::UnsafeInit tag)#
inline __PtrType operator->() const#
inline __PtrType get() const#