|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Normalized tile description handed from can_be_applied() to apply(). More...
#include <sdfg/tiles/transformations/local_storage.h>
Public Member Functions | |
| std::vector< size_t > | varying_dims () const |
| Indices of the varying (extent > 1) dims, in dimension order. | |
| std::vector< symbolic::Expression > | varying_sizes () const |
| Extents of the varying dims, in dimension order. | |
| tiles::Layout | source_layout () const |
| The source geometry as a tiles tiles::Layout over the varying tile coordinate (shape = varying extents, strides = varying dims' strides, offset = layout offset with each dim's base*stride folded in). | |
| std::vector< symbolic::Expression > | original_subset (const std::vector< symbolic::Expression > &tile_indices) const |
Container linear address for per-varying-dim tile_indices (extent-1 dims use their base). | |
| std::vector< symbolic::Expression > | local_index (const std::vector< symbolic::Expression > &access_subset) const |
Per-varying-dim local tile index (access_subset[d] - base[d]) for a body access. | |
Public Attributes | |
| std::vector< symbolic::Expression > | dimensions |
| Overapproximated integer extents per delinearized dimension. | |
| std::vector< symbolic::Expression > | bases |
| Tile min indices per dimension (bases for index subtraction). | |
| std::vector< symbolic::Expression > | maxes |
| Tile max valid indices per dimension (from MemoryTile::max_subset), e.g. | |
| std::vector< symbolic::Expression > | strides |
| Layout strides from MemoryLayoutAnalysis (original re-linearization). | |
| symbolic::Expression | offset = symbolic::integer(0) |
| Layout offset from MemoryLayoutAnalysis. | |
Normalized tile description handed from can_be_applied() to apply().
| std::vector< symbolic::Expression > sdfg::transformations::LocalStorage::TileInfo::local_index | ( | const std::vector< symbolic::Expression > & | access_subset | ) | const |
Per-varying-dim local tile index (access_subset[d] - base[d]) for a body access.
Pure; unit-testable.
| std::vector< symbolic::Expression > sdfg::transformations::LocalStorage::TileInfo::original_subset | ( | const std::vector< symbolic::Expression > & | tile_indices | ) | const |
Container linear address for per-varying-dim tile_indices (extent-1 dims use their base).
Pure; unit-testable.
| tiles::Layout sdfg::transformations::LocalStorage::TileInfo::source_layout | ( | ) | const |
The source geometry as a tiles tiles::Layout over the varying tile coordinate (shape = varying extents, strides = varying dims' strides, offset = layout offset with each dim's base*stride folded in).
So source_layout().apply_coords(tile_indices) == original_subset.
| std::vector< size_t > sdfg::transformations::LocalStorage::TileInfo::varying_dims | ( | ) | const |
Indices of the varying (extent > 1) dims, in dimension order.
The degenerate extent-1 dims collapse to their base and carry no buffer axis.
| std::vector< symbolic::Expression > sdfg::transformations::LocalStorage::TileInfo::varying_sizes | ( | ) | const |
Extents of the varying dims, in dimension order.
| std::vector<symbolic::Expression> sdfg::transformations::LocalStorage::TileInfo::bases |
Tile min indices per dimension (bases for index subtraction).
| std::vector<symbolic::Expression> sdfg::transformations::LocalStorage::TileInfo::dimensions |
Overapproximated integer extents per delinearized dimension.
| std::vector<symbolic::Expression> sdfg::transformations::LocalStorage::TileInfo::maxes |
Tile max valid indices per dimension (from MemoryTile::max_subset), e.g.
min(_s0-1, base+extent-1, ...). Used to element-predicate global copies so the over-approximated tile never touches out-of-bounds memory.
| symbolic::Expression sdfg::transformations::LocalStorage::TileInfo::offset = symbolic::integer(0) |
Layout offset from MemoryLayoutAnalysis.
| std::vector<symbolic::Expression> sdfg::transformations::LocalStorage::TileInfo::strides |
Layout strides from MemoryLayoutAnalysis (original re-linearization).