|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Schedule-aware tile vocabulary: a Tile is a Layout (geometry from MemoryLayoutAnalysis) partitioned over the enclosing parallel loop nest (TileAxis) and classified into a required memory Space. More...
#include <optional>#include <string>#include <vector>#include "sdfg/structured_control_flow/structured_loop.h"#include "sdfg/tiles/layout.h"Go to the source code of this file.
Classes | |
| class | sdfg::tiles::AxisSchedule |
| Target-neutral cooperation facts derived from one loop's schedule. More... | |
| class | sdfg::tiles::TileAxis |
| One enclosing parallel loop of a tile: its schedule facts plus the tile-role (Private when its indvar addresses the tile base, Cooperative otherwise). More... | |
| class | sdfg::tiles::Tile |
| A container's staged region: source maps a tile coordinate to the global element, axes is the thread/value partition, and the read/write flags give the copy direction. More... | |
Namespaces | |
| namespace | sdfg |
| namespace | sdfg::analysis |
| namespace | sdfg::tiles |
Enumerations | |
| enum class | sdfg::tiles::Level { sdfg::tiles::Device , sdfg::tiles::Group , sdfg::tiles::Subgroup } |
| Cooperation scope of a parallel axis, coarsest to finest — target-neutral tiers (OpenCL/SYCL vocabulary). More... | |
| enum class | sdfg::tiles::Space { sdfg::tiles::Global , sdfg::tiles::Shared , sdfg::tiles::Register } |
| Memory that backs cooperation at a level: Device/CPU -> Global (atomics/heap), Group -> Shared, Subgroup/none -> Register. More... | |
| enum class | sdfg::tiles::Role { sdfg::tiles::Private , sdfg::tiles::Cooperative } |
| Whether the tile is per-iteration-private or shared across a parallel axis. More... | |
Schedule-aware tile vocabulary: a Tile is a Layout (geometry from MemoryLayoutAnalysis) partitioned over the enclosing parallel loop nest (TileAxis) and classified into a required memory Space.
Pipeline: AxisSchedule::classify → TileAxis::enclosing → Tile → Tile::placement (a LocalityPlan) → storage Space.