Map
The Map holds both a TopLevel and a Taskgraph. An additional Mapping type records how the taskgraph maps to the toplevel.
Mapper2.MapperCore.Map — Type.mutable struct Map{D, T<:RuleSet}Fields
rulesetRuleSetfor assigningtaskgraphtotoplevel.toplevelTopLevel{A,D}- TheTopLevelto be used for the mapping.taskgraphThe
Taskgraphto map to thetoplevel.optionsmappingHow
taskgraphis mapped totoplevel.metadata
Documentation
Top level data structure. Summary of parameters:
T- TheRuleSetused to control placement and routing.D- The number of dimensions in the architecture (will usually be 2 or 3).
Method List
Map(ruleset, toplevel, taskgraph, options, mapping, metadata)defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Map/Map.jl:42.
Map(ruleset, toplevel, taskgraph; options, metadata)defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Map/Map.jl:67.
Mapper2.MapperCore.Mapping — Type.mutable struct MappingFields
nodesDict{String, Path{Component}}- Takes a node name and returns the path to theComponentwhere that node is mapped.
edgesVector{SparseDiGraph{Union{Path{Link},Path{Port},Path{Component}}}}- Takes a integer index for an edge in the parentTaskgraphand returns a graph whose node typesPaths to architectural compoennts.oEdge connectivity in the graph describes how the
TaskgraphEdgeis routed through theTopLevel
Documentation
Record of how Taskgraphs and TaskgraphEdges in a Taskgraph map to a TopLevel.
Method List
Mapping(nodes, edges)
Mapping(nodes, edges)defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Map/Map.jl:13.
Verification Routines
Verify the result of placement and routing.
Mapper2.MapperCore.check_routing — Function.check_routing(map; quiet)
Check routing in map. Return true if map passes all checks. Otherwise, return false. If quiet = false, print status of each test to STDOUT.
Checks performed:
Mapper2.MapperCore.check_placement — Function.check_placement(map)
Ensure that each TaskgraphNode is mapped to a valid component.
Mapper2.MapperCore.check_ports — Function.check_ports(m::Map{A}) where ACheck the source and destination ports for each task in m. Perform the following checks:
- Each source and destination port for each task channel is valid.
- All sources and destinations for each task channel has been assigned to a port.
Mapper2.MapperCore.check_capacity — Function.check_capacity(m::Map)Performs the following checks:
- The number of channels assigned to each routing resource in
m.topleveldoes not exceed the stated capacity of that resource.
check_architecture_connectivity(m::Map)Traverse the routing for each channel in m.taskgraph. Check:
- The nodes on each side of an edge in the routing graph are actually connected in the underlying architecture.
Mapper2.MapperCore.check_routing_connectivity — Function.check_routing_connectivity(m::Map)Perform the following check:
- Check that the routing graph for each channel in
m.taskgraphis weakly connected. - Ensure there is a valid path from each source of the routing graph to each destination of the routing graph.
Mapper2.MapperCore.check_architecture_resources — Function.check_architecture_resources(map::Map)Traverse the routing graph for each channel in m.taskgraph. Check:
- The routing resources used by each channel are valid for that type of channel.