AMF-Placer  2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
MinCostBipartiteMatcher Class Reference

#include <MinCostBipartiteMatcher.h>

Public Member Functions

 MinCostBipartiteMatcher (int numLeftNodes, int numRightNodes, int numExpectedMatches, std::vector< std::vector< std::pair< int, float >>> &adjList, int maxThreadNum, bool verbose)
 
 ~MinCostBipartiteMatcher ()
 
void solve ()
 
int getMatchedRightNode (int x)
 

Private Member Functions

void getConnectedSubgraphAdjList (std::vector< std::vector< std::pair< int, float >>> &adjList, std::vector< int > &leftId2ConnectedSubgraphId, int &numConnectedSubgraphs, int maxThreadNum)
 

Private Attributes

int numLeftNodes
 
int numRightNodes
 
int numExpectedMatches
 
std::vector< std::vector< std::pair< int, float > > > & adjList
 
std::vector< std::vector< std::vector< std::pair< int, float > > > > connectedSubgraphAdjList
 
int maxThreadNum
 
int threadNum = 1
 
bool verbose
 
std::vector< MinCostFlow * > minCostFlowSolvers
 
int srcNode
 
int sinkNode
 
std::vector< int > left2right
 
std::vector< int > right2left
 

Detailed Description

Definition at line 43 of file MinCostBipartiteMatcher.h.

Constructor & Destructor Documentation

◆ MinCostBipartiteMatcher()

MinCostBipartiteMatcher::MinCostBipartiteMatcher ( int  numLeftNodes,
int  numRightNodes,
int  numExpectedMatches,
std::vector< std::vector< std::pair< int, float >>> &  adjList,
int  maxThreadNum,
bool  verbose 
)
inline

Definition at line 46 of file MinCostBipartiteMatcher.h.

Here is the call graph for this function:

◆ ~MinCostBipartiteMatcher()

MinCostBipartiteMatcher::~MinCostBipartiteMatcher ( )
inline

Definition at line 111 of file MinCostBipartiteMatcher.h.

Member Function Documentation

◆ getConnectedSubgraphAdjList()

void MinCostBipartiteMatcher::getConnectedSubgraphAdjList ( std::vector< std::vector< std::pair< int, float >>> &  adjList,
std::vector< int > &  leftId2ConnectedSubgraphId,
int &  numConnectedSubgraphs,
int  maxThreadNum 
)
private

Definition at line 55 of file MinCostBipartiteMatcher.cc.

Referenced by MinCostBipartiteMatcher().

Here is the caller graph for this function:

◆ getMatchedRightNode()

int MinCostBipartiteMatcher::getMatchedRightNode ( int  x)
inline

Definition at line 119 of file MinCostBipartiteMatcher.h.

Referenced by MacroLegalizer::updateMatchingAndUnmatchedMacroCells(), and CLBLegalizer::updateMatchingAndUnmatchedPUs().

Here is the caller graph for this function:

◆ solve()

void MinCostBipartiteMatcher::solve ( )

Member Data Documentation

◆ adjList

std::vector<std::vector<std::pair<int, float> > >& MinCostBipartiteMatcher::adjList
private

◆ connectedSubgraphAdjList

std::vector<std::vector<std::vector<std::pair<int, float> > > > MinCostBipartiteMatcher::connectedSubgraphAdjList
private

Definition at line 129 of file MinCostBipartiteMatcher.h.

◆ left2right

std::vector<int> MinCostBipartiteMatcher::left2right
private

Definition at line 140 of file MinCostBipartiteMatcher.h.

Referenced by getMatchedRightNode(), MinCostBipartiteMatcher(), and solve().

◆ maxThreadNum

int MinCostBipartiteMatcher::maxThreadNum
private

◆ minCostFlowSolvers

std::vector<MinCostFlow *> MinCostBipartiteMatcher::minCostFlowSolvers
private

◆ numExpectedMatches

int MinCostBipartiteMatcher::numExpectedMatches
private

Definition at line 127 of file MinCostBipartiteMatcher.h.

Referenced by solve().

◆ numLeftNodes

int MinCostBipartiteMatcher::numLeftNodes
private

◆ numRightNodes

int MinCostBipartiteMatcher::numRightNodes
private

◆ right2left

std::vector<int> MinCostBipartiteMatcher::right2left
private

Definition at line 141 of file MinCostBipartiteMatcher.h.

Referenced by MinCostBipartiteMatcher(), and solve().

◆ sinkNode

int MinCostBipartiteMatcher::sinkNode
private

Definition at line 139 of file MinCostBipartiteMatcher.h.

Referenced by MinCostBipartiteMatcher(), and solve().

◆ srcNode

int MinCostBipartiteMatcher::srcNode
private

Definition at line 138 of file MinCostBipartiteMatcher.h.

Referenced by MinCostBipartiteMatcher(), and solve().

◆ threadNum

int MinCostBipartiteMatcher::threadNum = 1
private

Definition at line 134 of file MinCostBipartiteMatcher.h.

Referenced by MinCostBipartiteMatcher().

◆ verbose

bool MinCostBipartiteMatcher::verbose
private

Definition at line 135 of file MinCostBipartiteMatcher.h.

Referenced by MinCostBipartiteMatcher().


The documentation for this class was generated from the following files: