CGRA-ME
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ClusteredMapperDriver Struct Reference

Proxy class that makes a new instance of the for ever call. Holds constant configuration info,. More...

#include <ClusteredMapper.h>

Inheritance diagram for ClusteredMapperDriver:
Mapper AnnealPlacer PathFinder TMPack

Public Member Functions

 ClusteredMapperDriver (std::shared_ptr< CGRA > cgra, int timelimit, const ConfigStore &args)
 
Mapping mapOpGraph (std::shared_ptr< OpGraph > opgraph, const int II, const MRRG &mrrg, std::unordered_map< std::string, std::string > fix_port) override
 main function to map the OpGraph to the device description More...
 
- Public Member Functions inherited from Mapper
virtual ~Mapper ()
 

Public Attributes

const int l_print
 

Static Public Attributes

static constexpr Latency kUndefLatency = -1
 

Protected Member Functions

Mapping mapStatic (std::shared_ptr< OpGraph > opgraph, const int II, const MRRG &mrrg, std::unordered_map< std::string, std::string > fix_port, PrintOnDestructionChronoSequence &timing_seq)
 
Mapping mapElastic (std::shared_ptr< OpGraph > opgraph, const int II, const MRRG &mrrg, std::unordered_map< std::string, std::string > fix_port, PrintOnDestructionChronoSequence timing_seq)
 
const Latency getCyclesToSink (OpGraphOpDesc source, OpGraphOpDesc sink)
 
bool isAllOpsSupported (const OpGraph &opgraph, const MRRG &mrrg)
 
void printPlacementNeato (int i, const OpGraph &opgraph, Mapping placed, std::unordered_map< OpGraphOpDesc, int > sched)
 
- Protected Member Functions inherited from Mapper
 Mapper (std::shared_ptr< CGRA > cgra, int timelimit)
 

Protected Attributes

const int l_rand_seed
 
const double l_p_factor_factor
 
const double l_initial_pfactor
 
const double l_initial_hfactor
 
const double l_h_factor_factor
 
const int l_swap_factor
 
const int l_fanout_threshold
 
const int l_ram_ports
 
const int l_verbosity
 
const bool l_cluster
 
bool l_isElastic
 
int l_iteration_interval
 
const std::string l_arch_name
 
const ConfigStore l_mapper_args
 
const int l_cost_func
 
OpSchedulerl_op_sched
 
std::vector< std::vector< OpGraphOpDesc > > l_clusters
 
std::map< OpGraphOpDesc, int > l_op_cluster_index
 
std::unordered_map< OpGraphOpDesc, std::vector< std::string > > l_ops_to_node_names
 
std::unordered_map< OpGraphOpDesc, int > l_schedule
 
Mapping l_empty_mapping_result
 
- Protected Attributes inherited from Mapper
std::shared_ptr< CGRAcgra
 
int timelimit
 

Detailed Description

Proxy class that makes a new instance of the for ever call. Holds constant configuration info,.

Definition at line 41 of file ClusteredMapper.h.

Constructor & Destructor Documentation

◆ ClusteredMapperDriver()

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

Definition at line 52 of file ClusteredMapper.cpp.

Member Function Documentation

◆ getCyclesToSink()

const Latency ClusteredMapperDriver::getCyclesToSink ( OpGraphOpDesc  source,
OpGraphOpDesc  sink 
)
protected

Definition at line 217 of file ClusteredMapper.cpp.

◆ isAllOpsSupported()

bool ClusteredMapperDriver::isAllOpsSupported ( const OpGraph opgraph,
const MRRG mrrg 
)
protected

Definition at line 237 of file ClusteredMapper.cpp.

◆ mapElastic()

Mapping ClusteredMapperDriver::mapElastic ( std::shared_ptr< OpGraph opgraph,
const int  II,
const MRRG mrrg,
std::unordered_map< std::string, std::string >  fix_port,
PrintOnDestructionChronoSequence  timing_seq 
)
protected

Definition at line 172 of file ClusteredMapper.cpp.

◆ mapOpGraph()

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

main function to map the OpGraph to the device description

Implements Mapper.

Definition at line 71 of file ClusteredMapper.cpp.

◆ mapStatic()

Mapping ClusteredMapperDriver::mapStatic ( std::shared_ptr< OpGraph opgraph,
const int  II,
const MRRG mrrg,
std::unordered_map< std::string, std::string >  fix_port,
PrintOnDestructionChronoSequence timing_seq 
)
protected

Definition at line 101 of file ClusteredMapper.cpp.

◆ printPlacementNeato()

void ClusteredMapperDriver::printPlacementNeato ( int  i,
const OpGraph opgraph,
Mapping  placed,
std::unordered_map< OpGraphOpDesc, int >  sched 
)
protected

Definition at line 254 of file ClusteredMapper.cpp.

Member Data Documentation

◆ kUndefLatency

constexpr Latency ClusteredMapperDriver::kUndefLatency = -1
staticconstexpr

Definition at line 42 of file ClusteredMapper.h.

◆ l_arch_name

const std::string ClusteredMapperDriver::l_arch_name
protected

Definition at line 83 of file ClusteredMapper.h.

◆ l_cluster

const bool ClusteredMapperDriver::l_cluster
protected

Definition at line 80 of file ClusteredMapper.h.

◆ l_clusters

std::vector<std::vector<OpGraphOpDesc> > ClusteredMapperDriver::l_clusters
protected

Definition at line 87 of file ClusteredMapper.h.

◆ l_cost_func

const int ClusteredMapperDriver::l_cost_func
protected

Definition at line 85 of file ClusteredMapper.h.

◆ l_empty_mapping_result

Mapping ClusteredMapperDriver::l_empty_mapping_result
protected

Definition at line 91 of file ClusteredMapper.h.

◆ l_fanout_threshold

const int ClusteredMapperDriver::l_fanout_threshold
protected

Definition at line 77 of file ClusteredMapper.h.

◆ l_h_factor_factor

const double ClusteredMapperDriver::l_h_factor_factor
protected

Definition at line 75 of file ClusteredMapper.h.

◆ l_initial_hfactor

const double ClusteredMapperDriver::l_initial_hfactor
protected

Definition at line 74 of file ClusteredMapper.h.

◆ l_initial_pfactor

const double ClusteredMapperDriver::l_initial_pfactor
protected

Definition at line 73 of file ClusteredMapper.h.

◆ l_isElastic

bool ClusteredMapperDriver::l_isElastic
protected

Definition at line 81 of file ClusteredMapper.h.

◆ l_iteration_interval

int ClusteredMapperDriver::l_iteration_interval
protected

Definition at line 82 of file ClusteredMapper.h.

◆ l_mapper_args

const ConfigStore ClusteredMapperDriver::l_mapper_args
protected

Definition at line 84 of file ClusteredMapper.h.

◆ l_op_cluster_index

std::map<OpGraphOpDesc, int> ClusteredMapperDriver::l_op_cluster_index
protected

Definition at line 88 of file ClusteredMapper.h.

◆ l_op_sched

OpScheduler* ClusteredMapperDriver::l_op_sched
protected

Definition at line 86 of file ClusteredMapper.h.

◆ l_ops_to_node_names

std::unordered_map<OpGraphOpDesc, std::vector<std::string> > ClusteredMapperDriver::l_ops_to_node_names
protected

Definition at line 89 of file ClusteredMapper.h.

◆ l_p_factor_factor

const double ClusteredMapperDriver::l_p_factor_factor
protected

Definition at line 72 of file ClusteredMapper.h.

◆ l_print

const int ClusteredMapperDriver::l_print

Definition at line 55 of file ClusteredMapper.h.

◆ l_ram_ports

const int ClusteredMapperDriver::l_ram_ports
protected

Definition at line 78 of file ClusteredMapper.h.

◆ l_rand_seed

const int ClusteredMapperDriver::l_rand_seed
protected

Definition at line 71 of file ClusteredMapper.h.

◆ l_schedule

std::unordered_map<OpGraphOpDesc, int> ClusteredMapperDriver::l_schedule
protected

Definition at line 90 of file ClusteredMapper.h.

◆ l_swap_factor

const int ClusteredMapperDriver::l_swap_factor
protected

Definition at line 76 of file ClusteredMapper.h.

◆ l_verbosity

const int ClusteredMapperDriver::l_verbosity
protected

Definition at line 79 of file ClusteredMapper.h.


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