Memory (GM <-> Tile)

This document describes memory operations between global memory and tiles.

Total Operations: 6


Operations

TLOAD

For detailed instruction documentation, see isa/TLOAD

AS Level 1 (SSA):

%dst = pto.tload %mem : !pto.partition_tensor_view<MxNxdtype> ->
!pto.tile<loc, dtype, rows, cols, blayout, slayout, fractal, pad>

AS Level 2 (DPS):

pto.tload ins(%mem : !pto.partition_tensor_view<MxNxdtype>) outs(%dst : !pto.tile_buf<...>)

TPREFETCH

For detailed instruction documentation, see isa/TPREFETCH

AS Level 1 (SSA):

%dst = pto.tprefetch %src : !pto.global<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tprefetch ins(%src : !pto.global<...>) outs(%dst : !pto.tile_buf<...>)

TSTORE

For detailed instruction documentation, see isa/TSTORE

AS Level 1 (SSA):

pto.tstore %src, %mem : (!pto.tile<...>, !pto.partition_tensor_view<MxNxdtype>) -> ()

AS Level 2 (DPS):

pto.tstore ins(%src : !pto.tile_buf<...>) outs(%mem : !pto.partition_tensor_view<MxNxdtype>)

TSTORE_FP

For detailed instruction documentation, see isa/TSTORE_FP

AS Level 1 (SSA):

pto.tstore.fp %src, %fp, %mem : (!pto.tile<...>, !pto.tile<...>, !pto.partition_tensor_view<MxNxdtype>) -> ()

AS Level 2 (DPS):

pto.tstore.fp ins(%src, %fp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%mem : !pto.partition_tensor_view<MxNxdtype>)

MGATHER

For detailed instruction documentation, see isa/MGATHER

AS Level 1 (SSA):

%dst = pto.mgather %mem, %idx : (!pto.partition_tensor_view<MxNxdtype>, pto.tile<...>)
-> !pto.tile<loc, dtype, rows, cols, blayout, slayout, fractal, pad>

AS Level 2 (DPS):

pto.mgather ins(%mem, %idx : !pto.partition_tensor_view<MxNxdtype>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

MSCATTER

For detailed instruction documentation, see isa/MSCATTER

AS Level 1 (SSA):

pto.mscatter %src, %idx, %mem : (!pto.tile<...>, !pto.tile<...>, !pto.partition_tensor_view<MxNxdtype>) -> ()

AS Level 2 (DPS):

pto.mscatter ins(%src, %idx : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%mem : !pto.partition_tensor_view<MxNxdtype>)