DP-HLS
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Container Class Reference

#include <debug.h>

Classes

struct  score_info
 

Public Member Functions

 Container ()
 
void cast_scores ()
 
void cast_tbp ()
 
void cast_tb ()
 
void cast_all ()
 
void set_score (int chunk_row_offset, int chunk_col_offset, int pe_num, int wavefront, score_vec_t vals, bool pred)
 
void set_scores_wf (int chunk_row_offset, int chunk_col_offset, int wavefront, score_vec_t vals[PE_NUM], bool predicates[PE_NUM])
 
template<typename IDX_T >
void set_wf_dp_mem (IDX_T ck_idx, IDX_T wf_idx, dp_mem_block_t dp_mem)
 
template<typename IDX_T >
void set_score_info_dependency (IDX_T chunk_offset, IDX_T wf_idx, dp_mem_block_t dp_mem)
 
template<typename IDX_T >
void set_score_info_entering_exiting (IDX_T chunk_offset, IDX_T wf_idx, bool entering, bool exiting, int entering_pe, int exiting_pe)
 
template<int N_LAYERS_>
void dump_scores_infos (ofstream &file)
 
template<typename IDX_T >
void set_score_info_predicates (IDX_T ck_offset, IDX_T wf_idx, bool preds[PE_NUM])
 
void compare_scores (array< array< array< float, MAX_REFERENCE_LENGTH >, MAX_QUERY_LENGTH >, N_LAYERS > scores_sol, int query_len, int ref_len)
 
void compare_scores (array< array< array< float, MAX_REFERENCE_LENGTH >, MAX_QUERY_LENGTH >, N_LAYERS > scores_sol, int query_len, int ref_len, float threashold)
 
void compare_scores_double (array< array< array< double, MAX_REFERENCE_LENGTH >, MAX_QUERY_LENGTH >, N_LAYERS > scores_sol, int query_len, int ref_len, float threashold)
 Compare the Kernel Scores with Solution Scores, but when the solution scores are in double precision. More...
 

Public Attributes

std::vector< std::vector
< score_vec_t > > 
scores_kernel
 
array< array< array< float,
MAX_REFERENCE_LENGTH >
, MAX_QUERY_LENGTH >, N_LAYERS > 
scores_cpp
 
array< array< tbp_t,
MAX_REFERENCE_LENGTH >
, MAX_QUERY_LENGTH > 
tbp_mat_kernel
 
array< array< unsigned int,
MAX_REFERENCE_LENGTH >
, MAX_QUERY_LENGTH > 
tbp_mat_cpp
 
array< array< tbr_t,
MAX_REFERENCE_LENGTH >
, MAX_QUERY_LENGTH > 
tb_mat_kernel
 
array< array< char,
MAX_REFERENCE_LENGTH >
, MAX_QUERY_LENGTH > 
tb_mat_cpp
 
std::map< std::pair< uint,
uint >, std::array< std::array
< std::array< float, N_LAYERS >
, PE_NUM+1 >, 2 > > 
wf_dp_mem
 
std::map< std::pair< uint,
uint >, std::array< bool,
PE_NUM > > 
wf_predicates
 
std::map< std::pair< int, int >
, score_info
scores_infos
 Record the information of scores, with their coordinate as the index. More...
 

Constructor & Destructor Documentation

Container::Container ( )
inline

Member Function Documentation

void Container::cast_all ( )
void Container::cast_scores ( )
void Container::cast_tb ( )
void Container::cast_tbp ( )
void Container::compare_scores ( array< array< array< float, MAX_REFERENCE_LENGTH >, MAX_QUERY_LENGTH >, N_LAYERS >  scores_sol,
int  query_len,
int  ref_len 
)
void Container::compare_scores ( array< array< array< float, MAX_REFERENCE_LENGTH >, MAX_QUERY_LENGTH >, N_LAYERS >  scores_sol,
int  query_len,
int  ref_len,
float  threashold 
)
void Container::compare_scores_double ( array< array< array< double, MAX_REFERENCE_LENGTH >, MAX_QUERY_LENGTH >, N_LAYERS >  scores_sol,
int  query_len,
int  ref_len,
float  threashold 
)

Compare the Kernel Scores with Solution Scores, but when the solution scores are in double precision.

Parameters
scores_sol
query_len
ref_len
threashold
template<int N_LAYERS_>
void Container::dump_scores_infos ( ofstream &  file)
inline
void Container::set_score ( int  chunk_row_offset,
int  chunk_col_offset,
int  pe_num,
int  wavefront,
score_vec_t  vals,
bool  pred 
)
template<typename IDX_T >
void Container::set_score_info_dependency ( IDX_T  chunk_offset,
IDX_T  wf_idx,
dp_mem_block_t  dp_mem 
)
inline
template<typename IDX_T >
void Container::set_score_info_entering_exiting ( IDX_T  chunk_offset,
IDX_T  wf_idx,
bool  entering,
bool  exiting,
int  entering_pe,
int  exiting_pe 
)
inline
template<typename IDX_T >
void Container::set_score_info_predicates ( IDX_T  ck_offset,
IDX_T  wf_idx,
bool  preds[PE_NUM] 
)
inline
void Container::set_scores_wf ( int  chunk_row_offset,
int  chunk_col_offset,
int  wavefront,
score_vec_t  vals[PE_NUM],
bool  predicates[PE_NUM] 
)
template<typename IDX_T >
void Container::set_wf_dp_mem ( IDX_T  ck_idx,
IDX_T  wf_idx,
dp_mem_block_t  dp_mem 
)
inline

Member Data Documentation

array<array<array<float, MAX_REFERENCE_LENGTH>, MAX_QUERY_LENGTH>, N_LAYERS> Container::scores_cpp
std::map<std::pair<int, int>, score_info> Container::scores_infos

Record the information of scores, with their coordinate as the index.

std::vector<std::vector<score_vec_t> > Container::scores_kernel
array<array<char, MAX_REFERENCE_LENGTH>, MAX_QUERY_LENGTH> Container::tb_mat_cpp
array<array<tbr_t, MAX_REFERENCE_LENGTH>, MAX_QUERY_LENGTH> Container::tb_mat_kernel
array<array<unsigned int, MAX_REFERENCE_LENGTH>, MAX_QUERY_LENGTH> Container::tbp_mat_cpp
array<array<tbp_t, MAX_REFERENCE_LENGTH>, MAX_QUERY_LENGTH> Container::tbp_mat_kernel
std::map<std::pair<uint, uint>, std::array<std::array<std::array<float, N_LAYERS>, PE_NUM+1>, 2> > Container::wf_dp_mem
std::map<std::pair<uint, uint>, std::array<bool, PE_NUM> > Container::wf_predicates

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