docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
buffer_layout.h File Reference

The destination side of a tiled copy — the packed local buffer — as a (possibly swizzled) Layout over the coordinate [slot ++ tile]. More...

Go to the source code of this file.

Classes

struct  sdfg::tiles::PackedBuffer
 The packed local buffer as a value: its nested-array shape (axes), the matching per-axis element address (subset), and the scalar-offset layout. More...

Namespaces

namespace  sdfg
namespace  sdfg::tiles

Enumerations

enum class  sdfg::tiles::Placement { sdfg::tiles::RowMajor , sdfg::tiles::ColMajor , sdfg::tiles::Flat }
enum class  sdfg::tiles::ConflictPolicy { sdfg::tiles::None , sdfg::tiles::PadRow , sdfg::tiles::PadSlot , sdfg::tiles::Swizzle }

Detailed Description

The destination side of a tiled copy — the packed local buffer — as a (possibly swizzled) Layout over the coordinate [slot ++ tile].

The buffer is a staging area [per-thread slot dims][per-slot tile block]. Two independent choices shape it: the Placement orders the tile axes (an affine relabelling), and the ConflictPolicy spreads accesses over memory banks (padding or an XOR swizzle) — see the module README.