| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Tile.Routing
Description
Routing turns a tiling-derived send tree into an ordered schedule. The traversal policy determines the order in which tree edges are emitted as communication steps.
Synopsis
Traversal policies
Tree traversal order used when emitting schedule steps.
Instances
Schedule construction
buildScheduleFrom :: Tiling t => Traversal -> t -> [a] -> Tile -> Schedule a Source #
Build a fault-free schedule from an explicit start tile.
The tiling determines the send tree. The traversal determines the
order in which parent-child edges become Steps.
buildSchedule :: Tiling t => Traversal -> t -> [a] -> Shape -> Schedule a Source #
Build a fault-free schedule from a root row-major shape.
buildOccludedScheduleFrom :: (Tiling t, Eq a) => Traversal -> Occlusion a -> t -> [a] -> Tile -> Maybe (RoutedSchedule a) Source #
Build a schedule while avoiding occluded members.
Subtrees with no live representative are pruned. Surviving tile edges are routed through their live representatives.