CGRA-ME
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
ILPMapper Class Reference

#include <ILPMapper.h>

Inheritance diagram for ILPMapper:
Mapper

Public Types

enum  ConstraintGroup : int {
  ConstraintGroup::RouteExclusivity, ConstraintGroup::FunctionUnitExclusivity, ConstraintGroup::OpsMustBeMapped, ConstraintGroup::FanoutRouting,
  ConstraintGroup::MuxExclusivity, ConstraintGroup::FunctionUnitFanout, ConstraintGroup::OpSupported, ConstraintGroup::LinePathBalance,
  ConstraintGroup::CyclePathBalance, ConstraintGroup::EdgeUsage, ConstraintGroup::TopologicalOrdering, ConstraintGroup::OperandRouting,
  ConstraintGroup::FunctionUnitFanin
}
 
using ConstraintGroupSet = int std::set< ConstraintGroup >
 

Public Member Functions

 ILPMapper (std::shared_ptr< CGRA > cgra, int timelimit, const ConfigStore &args)
 
 ~ILPMapper ()=default
 
Mapping mapOpGraph (std::shared_ptr< OpGraph > opgraph, int II, const MRRG &mrrg, std::unordered_map< std::string, std::string > fix_port) override
 
- Public Member Functions inherited from Mapper
virtual ~Mapper ()
 

Public Attributes

ConfigStore flags = {}
 
ConstraintGroupSet lazy_constraints = {}
 

Private Member Functions

ILPMapperStatus GurobiMap (const OpGraph &opgraph, int II, Mapping *mapping, const MRRG &mrrg, std::unordered_map< std::string, std::string > fix_port)
 

Private Attributes

double mipgap
 
int solnlimit
 

Additional Inherited Members

- Protected Member Functions inherited from Mapper
 Mapper (std::shared_ptr< CGRA > cgra, int timelimit)
 
- Protected Attributes inherited from Mapper
std::shared_ptr< CGRAcgra
 
int timelimit
 

Detailed Description

Definition at line 28 of file ILPMapper.h.

Member Typedef Documentation

◆ ConstraintGroupSet

Definition at line 31 of file ILPMapper.h.

Member Enumeration Documentation

◆ ConstraintGroup

enum ILPMapper::ConstraintGroup : int
strong
Enumerator
RouteExclusivity 
FunctionUnitExclusivity 
OpsMustBeMapped 
FanoutRouting 
MuxExclusivity 
FunctionUnitFanout 
OpSupported 
LinePathBalance 
CyclePathBalance 
EdgeUsage 
TopologicalOrdering 
OperandRouting 
FunctionUnitFanin 

Definition at line 24 of file ILPMapper.cpp.

Constructor & Destructor Documentation

◆ ILPMapper()

ILPMapper::ILPMapper ( std::shared_ptr< CGRA cgra,
int  timelimit,
const ConfigStore args 
)

Definition at line 104 of file ILPMapper.cpp.

◆ ~ILPMapper()

ILPMapper::~ILPMapper ( )
default

Member Function Documentation

◆ GurobiMap()

ILPMapperStatus ILPMapper::GurobiMap ( const OpGraph opgraph,
int  II,
Mapping mapping,
const MRRG mrrg,
std::unordered_map< std::string, std::string >  fix_port 
)
private

Definition at line 171 of file ILPMapper.cpp.

◆ mapOpGraph()

Mapping ILPMapper::mapOpGraph ( std::shared_ptr< OpGraph opgraph,
int  II,
const MRRG mrrg,
std::unordered_map< std::string, std::string >  fix_port 
)
overridevirtual

Implements Mapper.

Definition at line 120 of file ILPMapper.cpp.

Member Data Documentation

◆ flags

ConfigStore ILPMapper::flags = {}

Definition at line 38 of file ILPMapper.h.

◆ lazy_constraints

ConstraintGroupSet ILPMapper::lazy_constraints = {}

Definition at line 39 of file ILPMapper.h.

◆ mipgap

double ILPMapper::mipgap
private

Definition at line 43 of file ILPMapper.h.

◆ solnlimit

int ILPMapper::solnlimit
private

Definition at line 44 of file ILPMapper.h.


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