Extendable Types

Extendable Types

SANode

abstract type SANode

Fields

Documentation

Abstract super types for the SA representation of TaskgraphNodes.

API

Implementations

Method List

source

API

Mapper2.SA.locationFunction.
location(node::SANode{T}) :: T

Return the location of node. Must be parameterized by T.

source
Mapper2.SA.assignFunction.
assign(node::SANode{T}, location::T)

Set the location of node to location.

source
Mapper2.SA.getclassFunction.
getclass(node)

Return the class of node.

source
Mapper2.SA.setclass!Function.
setclass!(node, class::Integer)

Set the class of node to class.

source

Implementations

mutable struct BasicNode{T} <: Mapper2.SA.SANode

Fields

  • location

    Location this node is assigned in the architecture. Must be parametric.

  • class

    The class of this node.

  • outchannels

    Adjacency list of outgoing channels.

  • inchannels

    Adjacency list of incoming channels.

Documentation

The standard implementation of SANode.

Method List

BasicNode(location, class, outchannels, inchannels)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Struct.jl:206.

source

SAChannel

abstract type SAChannel

Fields

Documentation

SAStruct representation of a TaskgraphEdge. Comes in two varieties: TwoChannel and MultiChannel

Method List

source
abstract type TwoChannel <: Mapper2.SA.SAChannel

Fields

Documentation

Abstract supertype for channels with only one source and sink.

Required Fields

  • source::Int64
  • sink::Int64

Implementations

Method List

source
abstract type MultiChannel <: Mapper2.SA.SAChannel

Fields

Documentation

Abstract supertype for channels with multiple sources/sinks.

Required Fields

  • sources::Vector{Int}
  • sinks::Vector{Int}

Implementations

Method List

source

Implementations

struct BasicChannel <: Mapper2.SA.TwoChannel

Fields

  • source

  • sink

Documentation

Basic Implementation of TwoChannel

Method List

BasicChannel(source, sink)
BasicChannel(source, sink)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Struct.jl:246.

source
struct BasicMultiChannel <: Mapper2.SA.MultiChannel

Fields

  • sources

  • sinks

Documentation

Basic Implementation of MultiChannel

Method List

BasicMultiChannel(sources, sinks)
BasicMultiChannel(sources, sinks)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Struct.jl:252.

source

AddressData

abstract type AddressData

Fields

Documentation

Supertype for containers of data for address specific placement. There is no API for this type since the specific needs of address data vary between applications. If a custom type is used, extend [address_cost] to get the desired behavior.

Implementations

Method List

source
struct EmptyAddressData <: Mapper2.SA.AddressData

Fields

Documentation

Null representation of AddressData. Used when there is no address data to be used during placement.

Method List

EmptyAddressData()

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Struct.jl:113.

source
struct DefaultAddressData{U, T} <: Mapper2.SA.AddressData

Fields

  • dict

Documentation

Default implementation of address data when it is to be used. In its normal state, it is just a wrapper for a Dict mapping addresses to a cost. Look at the implementation of address_cost to see how this is used. This function may be exteneded on node to provide different behavior.

To use this type, the method address_data must be defined to encode the values for the dict.

Method List

DefaultAddressData(dict)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Struct.jl:126.

source

Methods for custom extension

address_data(ruleset::RuleSet, component::Component) :: T where T

Return some token representing address specific data for component under ruleset.

source