For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo struct
StaticTensorSpec
struct StaticTensorSpec[dtype: DType, rank: Int, static_layout: TensorLayout, InFusion: InputFusion = _NoFusionIn, OutFusion: OutputFusion = _NoFusionOut, ComputeFusion: ComputeOutputFusion = _NoComputeFusion, ComputeFusionTile: ComputeOutputFusionTile = _NoComputeFusionTile, OutFusionTile: OutputFusionTile = _NoOutputFusionTile]
Carries the compile-time and runtime metadata describing a tensor argument.
The compile-time parameters encode the element dtype, tensor rank,
static layout, and optional fusion traits. The runtime fields store the
alignment and address space of the backing memory. Custom kernels receive
ManagedTensorSlice instances parameterized by a StaticTensorSpec.
Fieldsβ
- βalignment (
Int): - βaddress_space (
AddressSpace):
Implemented traitsβ
AnyType,
Copyable,
ImplicitlyCopyable,
ImplicitlyDeletable,
Movable
comptime membersβ
get_unknownβ
comptime get_unknown = fn_literal
shape_tupleβ
comptime shape_tuple = coord_to_int_tuple[static_layout._shape_types]()
static_sizeβ
comptime static_size = Layout(coord_to_int_tuple[static_layout._shape_types](), coord_to_int_tuple[static_layout._stride_types]()).size()
strides_tupleβ
comptime strides_tuple = coord_to_int_tuple[static_layout._stride_types]()
Methodsβ
__init__β
def __init__(out self, alignment: Int, address_space: AddressSpace)
def __init__(out self, internals: StaticTensorSpecInternal[dtype, rank])
Returns a StaticTensorSpec from a StaticTensorSpecInternal.
to_unfusedβ
def to_unfused(self) -> StaticTensorSpec[dtype, rank, static_layout]
Returns a copy with sentinel (no-op) fusion types.
The runtime fields (alignment, etc.) are identical; only the compile-time fusion type parameters change.
Returns:
with_tile_layoutβ
def with_tile_layout[new_layout: TensorLayout](self) -> StaticTensorSpec[dtype, new_layout.rank, new_layout]
Returns:
def with_tile_layout[new_rank: Int, new_layout: TensorLayout](self) -> StaticTensorSpec[dtype, new_rank, new_layout]
Returns:
with_tile_layout_and_alignmentβ
def with_tile_layout_and_alignment[new_layout: TensorLayout](self, new_alignment: Int) -> StaticTensorSpec[dtype, new_layout.rank, new_layout]
Returns:
def with_tile_layout_and_alignment[new_rank: Int, new_layout: TensorLayout](self, new_alignment: Int) -> StaticTensorSpec[dtype, new_rank, new_layout]
Returns:
with_int_tuple_layoutβ
def with_int_tuple_layout[new_rank: Int, new_shape: IntTuple, new_strides: IndexList[new_strides.size, element_type=new_strides.element_type]](self) -> StaticTensorSpec[dtype, new_rank, Layout[*?, *?]]
Returns:
with_int_tuple_layout_and_alignmentβ
def with_int_tuple_layout_and_alignment[new_rank: Int, new_shape: IntTuple, new_strides: IndexList[new_strides.size, element_type=new_strides.element_type]](self, new_alignment: Int) -> StaticTensorSpec[dtype, new_rank, Layout[*?, *?]]
Returns:
with_row_major_int_tuple_layoutβ
def with_row_major_int_tuple_layout[new_rank: Int, new_shape: IntTuple](self) -> StaticTensorSpec[dtype, new_rank, Layout[*?, *?]]
Returns:
with_input_fusionβ
def with_input_fusion[F: InputFusion](self) -> StaticTensorSpec[dtype, rank, static_layout, F, OutFusion, ComputeFusion, ComputeFusionTile, OutFusionTile]
Returns:
with_output_fusionβ
def with_output_fusion[F: OutputFusion](self) -> StaticTensorSpec[dtype, rank, static_layout, InFusion, F, ComputeFusion, ComputeFusionTile, OutFusionTile]
Returns:
with_compute_fusionβ
def with_compute_fusion[F: ComputeOutputFusion](self) -> StaticTensorSpec[dtype, rank, static_layout, InFusion, OutFusion, F, ComputeFusionTile, OutFusionTile]
Returns:
with_compute_fusion_tileβ
def with_compute_fusion_tile[F: ComputeOutputFusionTile](self) -> StaticTensorSpec[dtype, rank, static_layout, InFusion, OutFusion, ComputeFusion, F, OutFusionTile]
Returns:
StaticTensorSpec[dtype, rank, static_layout, InFusion, OutFusion, ComputeFusion, F, OutFusionTile]
with_output_fusion_tileβ
def with_output_fusion_tile[F: OutputFusionTile](self) -> StaticTensorSpec[dtype, rank, static_layout, InFusion, OutFusion, ComputeFusion, ComputeFusionTile, F]
Returns:
to_layoutβ
def to_layout(self) -> Layout
Returns:
Layout
get_internalsβ
def get_internals(self) -> StaticTensorSpecInternal[dtype, rank]
Returns a StaticTensorSpecInternal from a StaticTensorSpec.
Returns:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!