Skip to main content

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?