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 function

block_memcpy

def block_memcpy[dst_addr_space: AddressSpace, src_addr_space: AddressSpace, //, num_bytes: Int, block_size: Int, bypass_l2: Bool = False](dst_p: Pointer[UInt8, address_space=dst_addr_space], src_p: Pointer[UInt8, address_space=src_addr_space], thread_idx: Int)

Copies a memory area from source to destination. This function will use the vectorized store and load instructions to copy the memory area. User should make sure pointers are aligned to the simd width.

Set bypass_l2 when the destination is another agent's memory and the caller publishes with _publish_peer_stores. On MI355X the stores then carry system-scope cache bits and are visible as they complete; elsewhere the flag changes nothing and the caller's release fence publishes them.

Was this page helpful?