docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::tiles::Tile Class Reference

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...

#include <sdfg/tiles/tile.h>

Public Member Functions

 Tile ()=default
 Tile (std::string container, Layout source, std::vector< TileAxis > axes, bool reads, bool writes)
const std::string & container () const
const Layout & source () const
const std::vector< TileAxis > & axes () const
bool reads () const
bool writes () const
bool cooperative () const
std::vector< TileAxis > cooperative_axes () const
std::vector< TileAxis > private_axes () const
Space required_space () const
 The memory space the tile must live in: the coarsest cooperative axis's space (Global > Shared > Register), or Register when fully private.
LocalityPlan placement (structured_control_flow::StructuredLoop &loop, analysis::AnalysisManager &analysis_manager) const
 The tile's placement in the enclosing parallel nest at loop — its axes plus loop-context flags, the basis for deriving storage and synchronization.

Detailed Description

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.

The buffer placement and copy atom are derived from this.

Constructor & Destructor Documentation

◆ Tile() [1/2]

sdfg::tiles::Tile::Tile ( )
default

◆ Tile() [2/2]

sdfg::tiles::Tile::Tile ( std::string container,
Layout source,
std::vector< TileAxis > axes,
bool reads,
bool writes )

Member Function Documentation

◆ axes()

const std::vector< TileAxis > & sdfg::tiles::Tile::axes ( ) const
inline

◆ container()

const std::string & sdfg::tiles::Tile::container ( ) const
inline

◆ cooperative()

bool sdfg::tiles::Tile::cooperative ( ) const

◆ cooperative_axes()

std::vector< TileAxis > sdfg::tiles::Tile::cooperative_axes ( ) const

◆ placement()

LocalityPlan sdfg::tiles::Tile::placement ( structured_control_flow::StructuredLoop & loop,
analysis::AnalysisManager & analysis_manager ) const

The tile's placement in the enclosing parallel nest at loop — its axes plus loop-context flags, the basis for deriving storage and synchronization.

◆ private_axes()

std::vector< TileAxis > sdfg::tiles::Tile::private_axes ( ) const

◆ reads()

bool sdfg::tiles::Tile::reads ( ) const
inline

◆ required_space()

Space sdfg::tiles::Tile::required_space ( ) const

The memory space the tile must live in: the coarsest cooperative axis's space (Global > Shared > Register), or Register when fully private.

◆ source()

const Layout & sdfg::tiles::Tile::source ( ) const
inline

◆ writes()

bool sdfg::tiles::Tile::writes ( ) const
inline

The documentation for this class was generated from the following file:
  • opt/include/sdfg/tiles/tile.h