Extentable Methods

Extentable Methods

This sections describes the list of methods that can be extended to exercise finer control during placement.

Move Methods

Mapper2.SA.assignMethod.
assign(sa_struct, index, new_location)

Move node at index to new_location.

source
Mapper2.SA.moveFunction.
move(sa_struct, index, new_location)

Move node at index from its current location to new_location.

source
Mapper2.SA.swapFunction.
swap(sa_struct, node1_idx, node2_idx)

Swap the locations of two nodes with indices node1_idx and node2_idx.

source

Cost Methods

channel_cost(sa_struct{T}, channel :: SAChannel) where {T <: RuleSet}

Return the cost of channel. Default implementation accumulates the distances between the source and sink addresses of the channel using sa_struct.distance.

Method List

channel_cost(sa_struct, channel)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Methods.jl:83.

source
Mapper2.SA.node_costFunction.
node_cost(sa_struct{T}, idx) where {T <: RuleSet}

Return the cost of the node with index idx in ruleset T.

Default implementation sums the node's:

  • incoming channels
  • outgoing channels
  • address cost
  • auxiliary cost.

Method List

node_cost(sa_struct, idx)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Methods.jl:158.

source
node_pair_cost(sa_struct{T}, idx1, idx2) where {T <: RuleSet}

Compute the cost of the pair of nodes with indices idx1 and idx2. Call this function when computing the cost of two nodes because in general, the total cost of two nodes is not the sum of the individual nodes' costs.

Method List

node_pair_cost(sa_struct, idx1, idx2)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Methods.jl:194.

source
address_cost(sa_struct{T}, node :: SANode, address_data::AddressData) where {T <: RuleSet}

Return the address cost for node for RuleSet T. Default return value is zero(Float64).

Called by default during node_cost and node_pair_cost

Method List

address_cost(sa_struct, node, address_data)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Methods.jl:110.

address_cost(sa_struct, node, address_data)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Methods.jl:111.

source
Mapper2.SA.aux_costFunction.
aux_cost(sa_struct{T}) where {T <: RuleSet}

Return an auxiliary cost associated with the entire mapping of the sa_struct. May use any field of sa_struct but may only mutate sa_struct.aux.

Default: zero(Float64)

Method List

aux_cost(sa_struct)

defined at /home/travis/build/hildebrandmw/Mapper2.jl/src/Place/SA/Methods.jl:128.

source