Routing Struct
The Routing Struct is the central datatype for routing, encoding connectivity information of the ports, links, and other routing resources of the architecture. Furthermore, it encodes which links may be used by which channels in the Taskgraph and the valid starting and ending ports for each channel.
Mapper2.Routing.RoutingStruct — Type.struct RoutingStruct{L<:RoutingLink, C<:RoutingChannel}Fields
architecture_graphBase
RoutingGraphfor the underlying routing architecture.graph_vertex_annotationsAnnotating
RoutingLinkfor each routing element inarchitecture_graph.
routingsGraphs of routing resources used by each channel.
channelsVector{RoutingChannel}containing the channel information for the taskgraph.
channel_index_to_taskgraph_indexConvenience structure mapping local channel indices back to edge indices in the parent taskgraph.
Documentation
Central type for routing. Not meant for extending.
API
allroutesgetroutealllinksgetlinkstart_verticesstop_verticesgetchannelgetmapgetgraphiscongestedclear_routesetroute
Method List
RoutingStruct(architecture_graph, graph_vertex_annotations, routings, channels, channel_index_to_taskgraph_index)defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Struct.jl:20.
RoutingStruct(map)defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Struct.jl:49.
API
Mapper2.Routing.allroutes — Function.allroutes(routing_struct)
Return all routings in routing_struct.
Mapper2.Routing.getroute — Function.getroute(routing_struct, index)
Return route for channel index.
Mapper2.Routing.alllinks — Function.alllinks(routing_struct)
Return Vector{RoutingLink} for all links in `routing_struct.
Mapper2.Routing.getlink — Function.getlink(routing_struct, i)
Return <:RoutingLink for link in routing_struct with indes i.
Mapper2.Routing.start_vertices — Function.start_vertices(routing_struct, i)
Return Vector{PortVertices} of start vertices for channel index i.
start_vertices(channel::RoutingChannel) :: Vector{PortVertices}Return Vector{PortVertices} of start vertices for channel.
Mapper2.Routing.stop_vertices — Function.stop_vertices(routing_struct, i)
Return Vector{PortVertices} of stop vertices for channel index i.
stop_vertices(channel::RoutingChannel) :: Vector{PortVertices}Return Vector{PortVertices} of stop vertices for channel.
Mapper2.Routing.getchannel — Function.getchannel(routing_struct, i)
Return <:RoutingChannel with indesx i.
Mapper2.Routing.getgraph — Function.getgraph(routing_struct)
Return the RoutingGraph member of routing_struct.
Mapper2.Routing.iscongested — Function.iscongested(routing_struct, [path])Return true if routing congestion exists in routing_struct. If path is given either as a ChannelIndex or SparseDiGraph, return true if just the specified path is congested.
Method List
iscongested(routing_struct)defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Route/Struct.jl:155.
Mapper2.Routing.clear_route — Function.clear_route(rs::RoutingStruct, channel::ChannelIndex)Rip up the current routing for the given link.
Mapper2.Routing.setroute — Function.setroute(routing_struct, route, channel)
Assign route to channel.