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

SharedToLocalTileCopier

struct SharedToLocalTileCopier[thread_layout: Layout[thread_layout.shape_types, thread_layout.stride_types], *, thread_scope: ThreadScope = ThreadScope.BLOCK]

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

thread_layout is used as the warp layout. axis-based distribution is not yet supported, and this copier currently only produces correct data when src was populated without a swizzle; reading a swizzled shared-memory tile into local memory is not yet supported.

Parameters

Implemented traits

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDestructible, Movable, TileCopier

comptime members

dst_address_space

comptime dst_address_space = AddressSpace.LOCAL

Destination AddressSpace this copier writes to.

src_address_space

comptime src_address_space = AddressSpace.SHARED

Source AddressSpace this copier reads from.

Methods

copy

copy[element_size: Int](self, dst: TileTensor[address_space=SharedToLocalTileCopier[thread_layout, thread_scope=thread_scope].dst_address_space, linear_idx_type=dst.linear_idx_type, element_size=element_size], src: TileTensor[address_space=SharedToLocalTileCopier[thread_layout, thread_scope=thread_scope].src_address_space, linear_idx_type=src.linear_idx_type, element_size=element_size])

Copies src in shared memory into dst in local memory.

Parameters:

  • element_size (Int): Number of scalar elements per logical element.

Args: