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

#include <PerfEngine.h>

Public Member Functions

 PerfEngine (std::string ini_path)
 
virtual ~PerfEngine ()
 
void reportArea (std::shared_ptr< CGRA > target)
 
void reportTiming (std::shared_ptr< CGRA > target, const Mapping &mapping)
 
void reportPower (std::shared_ptr< CGRA > target)
 

Public Attributes

std::map< MRRG::NodeDescriptor, OpGraphOpCodemapped_node2opcode
 

Private Member Functions

void _parseAreaINI (std::string file_str)
 
void _parseTimingINI (std::string file_str)
 
void _parsePowerINI (std::string file_str)
 
double _setModuleArea (Module *m, unsigned int level, bool last)
 
EdgeList _genMappedMRRG (const OpGraph &og, std::map< const OpGraphNode *, std::vector< MRRG::NodeDescriptor >> &m)
 
void reportLevelOrderArea (Module *m)
 

Private Attributes

std::map< std::string, double > areaModels
 
std::map< std::string, double > timingModels
 
std::map< std::string, std::string > powerModels
 

Detailed Description

Definition at line 28 of file PerfEngine.h.

Constructor & Destructor Documentation

◆ PerfEngine()

PerfEngine::PerfEngine ( std::string  ini_path)

Definition at line 13 of file PerfEngine.cpp.

◆ ~PerfEngine()

PerfEngine::~PerfEngine ( )
virtual

Definition at line 62 of file PerfEngine.cpp.

Member Function Documentation

◆ _genMappedMRRG()

EdgeList PerfEngine::_genMappedMRRG ( const OpGraph og,
std::map< const OpGraphNode *, std::vector< MRRG::NodeDescriptor >> &  m 
)
private

Definition at line 205 of file PerfEngine.cpp.

◆ _parseAreaINI()

void PerfEngine::_parseAreaINI ( std::string  file_str)
private

Definition at line 388 of file PerfEngine.cpp.

◆ _parsePowerINI()

void PerfEngine::_parsePowerINI ( std::string  file_str)
private

Definition at line 441 of file PerfEngine.cpp.

◆ _parseTimingINI()

void PerfEngine::_parseTimingINI ( std::string  file_str)
private

Definition at line 413 of file PerfEngine.cpp.

◆ _setModuleArea()

double PerfEngine::_setModuleArea ( Module m,
unsigned int  level,
bool  last 
)
private

Definition at line 66 of file PerfEngine.cpp.

◆ reportArea()

void PerfEngine::reportArea ( std::shared_ptr< CGRA target)

Definition at line 152 of file PerfEngine.cpp.

◆ reportLevelOrderArea()

void PerfEngine::reportLevelOrderArea ( Module m)
private

Definition at line 170 of file PerfEngine.cpp.

◆ reportPower()

void PerfEngine::reportPower ( std::shared_ptr< CGRA target)

Definition at line 384 of file PerfEngine.cpp.

◆ reportTiming()

void PerfEngine::reportTiming ( std::shared_ptr< CGRA target,
const Mapping mapping 
)

Definition at line 363 of file PerfEngine.cpp.

Member Data Documentation

◆ areaModels

std::map<std::string, double> PerfEngine::areaModels
private

Definition at line 38 of file PerfEngine.h.

◆ mapped_node2opcode

std::map<MRRG::NodeDescriptor, OpGraphOpCode> PerfEngine::mapped_node2opcode

Definition at line 36 of file PerfEngine.h.

◆ powerModels

std::map<std::string, std::string> PerfEngine::powerModels
private

Definition at line 40 of file PerfEngine.h.

◆ timingModels

std::map<std::string, double> PerfEngine::timingModels
private

Definition at line 39 of file PerfEngine.h.


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