IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).

Mojo struct

GenericToSharedTileCopier

struct GenericToSharedTileCopier[thread_layout: Layout[thread_layout.shape_types, thread_layout.stride_types], *, swizzle: Optional[Swizzle] = None, num_threads: Int = thread_layout.size(), thread_scope: ThreadScope = ThreadScope.BLOCK]

A TileCopier that moves a tile from generic memory into shared memory.

Parameters​

  • ​thread_layout (Layout[thread_layout.shape_types, thread_layout.stride_types]): Layout describing how threads are organized over the copy.
  • ​swizzle (Optional[Swizzle]): Optional swizzle applied to the shared-memory destination for bank-conflict mitigation. None produces a straight copy.
  • ​num_threads (Int): Total number of threads in the thread block. Threads beyond thread_layout.size() do not participate.
  • ​thread_scope (ThreadScope): Scope at which thread operations are performed (BLOCK or WARP). Defaults to ThreadScope.BLOCK.

Implemented traits​

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDeletable, Movable, TileCopier

comptime members​

dst_address_space​

comptime dst_address_space = AddressSpace.SHARED

Destination AddressSpace this copier writes to.

src_address_space​

comptime src_address_space = AddressSpace.GENERIC

Source AddressSpace this copier reads from.

Methods​

copy​

def copy(self, dst: TileTensor[Storage=dst.Storage, address_space=Self.dst_address_space, linear_idx_type=dst.linear_idx_type], src: TileTensor[Storage=src.Storage, linear_idx_type=src.linear_idx_type])

Copies src in generic memory into dst in shared memory.

Masked bounds checking is not supported.

Args:

Was this page helpful?