Mojo struct
TiledMatmul
struct TiledMatmul[a_mut: Bool, b_mut: Bool, //, config: KernelConfig, transpose_b: Bool, b_packed: Bool, elementwise_epilogue_enabled: Bool, kernel_id: InnerKernelID, a_type: DType, a_shape: DimList, a_origin: Origin[a_mut], b_type: DType, b_shape: DimList, b_origin: Origin[b_mut], c_type: DType, c_shape: DimList, c_origin: MutableOrigin, algorithm: InnerMatmulKernel]
Tiled matmul implementation integrating packing, inner loop and tile partitions.
TODO: add tag based implementation dispatch. TODO: add fusion hooks.
Fields​
- ​alg (
algorithm
): - ​c (
NDBuffer[c_type, 2, c_origin, c_shape]
): - ​a (
NDBuffer[a_type, 2, a_origin, a_shape]
): - ​b (
NDBuffer[b_type, 2, b_origin, b_shape]
): - ​tile_n_k (
IndexList[2]
): - ​global_tile_offset (
GemmShape
): - ​global_tile_shape (
GemmShape
): - ​b_tile_generator (
BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin]
): - ​elementwise_epilogue_fn (
fn(GemmShape, GemmShape) escaping -> None
):
Implemented traits​
AnyType
,
Copyable
,
ImplicitlyCopyable
,
Movable
,
UnknownDestructibility
Aliases​
__copyinit__is_trivial
​
alias __copyinit__is_trivial = fn(GemmShape, GemmShape) escaping -> None.__copyinit__is_trivial if BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin].__copyinit__is_trivial if GemmShape.__copyinit__is_trivial if GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else GemmShape.__copyinit__is_trivial if GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin].__copyinit__is_trivial if GemmShape.__copyinit__is_trivial if GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else GemmShape.__copyinit__is_trivial if GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else GemmShape.__copyinit__is_trivial if IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else IndexList[2].__copyinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__copyinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__copyinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__copyinit__is_trivial if algorithm.__copyinit__is_trivial else algorithm.__copyinit__is_trivial
__del__is_trivial
​
alias __del__is_trivial = fn(GemmShape, GemmShape) escaping -> None.__del__is_trivial if BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin].__del__is_trivial if GemmShape.__del__is_trivial if GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else GemmShape.__del__is_trivial if GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin].__del__is_trivial if GemmShape.__del__is_trivial if GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else GemmShape.__del__is_trivial if GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else GemmShape.__del__is_trivial if IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else IndexList[2].__del__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__del__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__del__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__del__is_trivial if algorithm.__del__is_trivial else algorithm.__del__is_trivial
__moveinit__is_trivial
​
alias __moveinit__is_trivial = fn(GemmShape, GemmShape) escaping -> None.__moveinit__is_trivial if BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin].__moveinit__is_trivial if GemmShape.__moveinit__is_trivial if GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else GemmShape.__moveinit__is_trivial if GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else BTileGenerator[config, a_type, b_type, c_type, b_shape, transpose_b, b_packed, b_origin].__moveinit__is_trivial if GemmShape.__moveinit__is_trivial if GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else GemmShape.__moveinit__is_trivial if GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else GemmShape.__moveinit__is_trivial if IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else IndexList[2].__moveinit__is_trivial if NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[b_type, 2, b_origin, b_shape].__moveinit__is_trivial if NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[a_type, 2, a_origin, a_shape].__moveinit__is_trivial if NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial else NDBuffer[c_type, 2, c_origin, c_shape].__moveinit__is_trivial if algorithm.__moveinit__is_trivial else algorithm.__moveinit__is_trivial
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!