|
docc 0.8.3 (0d44999b)
C++ API Reference
|
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...
#include <sdfg/tiles/buffer_layout.h>
Public Member Functions | |
| symbolic::Expression | total_size () const |
| Allocated scalar slots, padding included. | |
| symbolic::Expression | tile_total_size () const |
| One logical per-slot block = product(tile_sizes). | |
| symbolic::Expression | slot_stride () const |
| Distance between consecutive slots, padding included. | |
| symbolic::MultiExpression | axes () const |
| Per-axis extents of the nested-array type, outermost first. | |
| symbolic::MultiExpression | subset (const symbolic::MultiExpression &slot_indices, const symbolic::MultiExpression &tile_indices) const |
| Per-axis index tuple addressing one element (matches axes). | |
| ComposedLayout | layout () const |
| The scalar element offset as a (possibly swizzled) layout over [slot ++ tile]. | |
Public Attributes | |
| symbolic::MultiExpression | slot_sizes |
| per-thread slot dims (may be empty) | |
| symbolic::MultiExpression | tile_sizes |
| per-slot tile block dims | |
| Placement | placement = Placement::RowMajor |
| ConflictPolicy | conflict = ConflictPolicy::None |
| size_t | pad = 0 |
| padding elements of ConflictPolicy::PadRow / ConflictPolicy::PadSlot | |
The packed local buffer as a value: its nested-array shape (axes), the matching per-axis element address (subset), and the scalar-offset layout.
The multidimensional type loses no information.
| symbolic::MultiExpression sdfg::tiles::PackedBuffer::axes | ( | ) | const |
Per-axis extents of the nested-array type, outermost first.
| ComposedLayout sdfg::tiles::PackedBuffer::layout | ( | ) | const |
The scalar element offset as a (possibly swizzled) layout over [slot ++ tile].
| symbolic::Expression sdfg::tiles::PackedBuffer::slot_stride | ( | ) | const |
Distance between consecutive slots, padding included.
| symbolic::MultiExpression sdfg::tiles::PackedBuffer::subset | ( | const symbolic::MultiExpression & | slot_indices, |
| const symbolic::MultiExpression & | tile_indices ) const |
Per-axis index tuple addressing one element (matches axes).
| symbolic::Expression sdfg::tiles::PackedBuffer::tile_total_size | ( | ) | const |
One logical per-slot block = product(tile_sizes).
| symbolic::Expression sdfg::tiles::PackedBuffer::total_size | ( | ) | const |
Allocated scalar slots, padding included.
| ConflictPolicy sdfg::tiles::PackedBuffer::conflict = ConflictPolicy::None |
| size_t sdfg::tiles::PackedBuffer::pad = 0 |
padding elements of ConflictPolicy::PadRow / ConflictPolicy::PadSlot
| Placement sdfg::tiles::PackedBuffer::placement = Placement::RowMajor |
| symbolic::MultiExpression sdfg::tiles::PackedBuffer::slot_sizes |
per-thread slot dims (may be empty)
| symbolic::MultiExpression sdfg::tiles::PackedBuffer::tile_sizes |
per-slot tile block dims