|
docc 0.8.3 (0d44999b)
C++ API Reference
|
A tiled copy plan: move one tile between memory levels. More...
#include <cstddef>#include <vector>#include "sdfg/symbolic/assumptions.h"#include "sdfg/tiles/layout.h"#include "sdfg/tiles/swizzle.h"Go to the source code of this file.
Classes | |
| struct | sdfg::tiles::TiledCopy |
| struct | sdfg::tiles::TileGuard |
| The ragged-tile boundary predicate, stored per-dim. More... | |
| struct | sdfg::tiles::TileGuard::Dim |
Namespaces | |
| namespace | sdfg |
| namespace | sdfg::tiles |
Enumerations | |
| enum class | sdfg::tiles::CopyAtom { sdfg::tiles::ScalarSync , sdfg::tiles::VectorSync , sdfg::tiles::CpAsync , sdfg::tiles::CoalesceSync } |
| The per-lane transfer primitive a tiled copy lowers to. More... | |
| enum class | sdfg::tiles::CopyDirection { sdfg::tiles::In , sdfg::tiles::Out } |
| Which way the tile moves between the flat (global) side and the packed buffer. More... | |
| enum class | sdfg::tiles::CopyPhase { sdfg::tiles::Full , sdfg::tiles::LoadRegs , sdfg::tiles::StoreRegs } |
| Which half of a register-staged copy a node performs. More... | |
Functions | |
| symbolic::MultiExpression | sdfg::tiles::delinearize_rowmajor (const symbolic::Expression &flat, const symbolic::MultiExpression &sizes) |
| Row-major delinearization of a flat index into per-dim coordinates (dim 0 slowest), matching the buffer's tile linearization so both plan sides agree. | |
| symbolic::Expression | sdfg::tiles::simplify_tile_bound (const symbolic::Expression &max, const symbolic::Expression &base, const symbolic::Expression &size) |
Simplify a tile's inclusive bound max for coordinates base + i, 0 <= i < size, preserving the predicate base + i <= max on that range: drops min/max arguments dominated by another and min arguments at or above the tile's last coordinate (they never bind). | |
| bool | sdfg::tiles::coalesce_sweep_order (TiledCopy &plan, TileGuard &guard) |
| Move the source's unit-stride tile dim last (lane-fastest in the row-major sweep), permuting both plan sides and the guard axes alike. | |
A tiled copy plan: move one tile between memory levels.
A TiledCopy is a pure plan (no SDFG state): src maps a tile coordinate to the global element and dst to the local-buffer slot (with an optional XOR dst_swizzle on the buffer offset). A TileCopyNode carries one and its backend dispatcher lowers the cooperative copy.