DP-HLS
|
This namespace contains functions to define the core architectures used in the fixed banding alignment kernel. More...
Functions | |
void | AlignStatic (const char_t(&querys)[MAX_QUERY_LENGTH], const char_t(&references)[MAX_REFERENCE_LENGTH], const idx_t query_length, const idx_t reference_length, const Penalties &penalties, idx_t &tb_i, idx_t &tb_j, tbr_t(&tb_out)[MAX_REFERENCE_LENGTH+MAX_QUERY_LENGTH]) |
Perform Pairwise alignment for two sequences, in fixed banding with virtual coordinates. More... | |
void | ChunkCompute (const idx_t chunk_row_offset, const input_char_block_t &query, const char_t(&reference)[MAX_REFERENCE_LENGTH], const chunk_col_scores_inf_t &init_col_scr, score_vec_t(&init_row_scr)[MAX_REFERENCE_LENGTH], idx_t p_cols, const idx_t ck_idx, idx_t &l_lim_reg, idx_t &u_lim_reg, const bool(&col_pred)[PE_NUM], const idx_t global_query_length, const idx_t local_query_length, const idx_t reference_length, const Penalties &penalties, ScorePack(&max)[PE_NUM], tbp_t(&chunk_tbp_out)[PE_NUM][TBMEM_SIZE]) |
Compute the traceback pointers for a chunk of the size PE_NUM * REFERENCE_LENGTH, with fixed banding and virtual coordinates. More... | |
void | MapPredicate (const idx_t(&local_l_lim)[PE_NUM], const idx_t(&local_u_lim)[PE_NUM], const idx_t(&virtual_cols)[PE_NUM], const bool(&col_pred)[PE_NUM], bool(&predicate)[PE_NUM]) |
Logics to map the global coordinates of a wavefront of PE to their prediate values. MapPredicateSquare is a function F: (pe_row: int, pe_col: int) -> (predicate_balue: boolean) It's unrolled for PE_NUM applying to each PE. More... | |
template<int PE_NUM_, int MAX_QUERY_LENGTH_> | |
void | PrepareLocals (const char_t(&query)[MAX_QUERY_LENGTH_], const score_vec_t(&init_col_scr)[MAX_QUERY_LENGTH_], char_t(&local_query)[PE_NUM_], chunk_col_scores_inf_t &init_col_scr_local, bool(&col_pred)[PE_NUM_], const idx_t local_query_len, const idx_t idx) |
This namespace contains functions to define the core architectures used in the fixed banding alignment kernel.
void Align::Fixed::AlignStatic | ( | const char_t(&) | querys[MAX_QUERY_LENGTH], |
const char_t(&) | references[MAX_REFERENCE_LENGTH], | ||
const idx_t | query_length, | ||
const idx_t | reference_length, | ||
const Penalties & | penalties, | ||
idx_t & | tb_i, | ||
idx_t & | tb_j, | ||
tbr_t(&) | tb_out[MAX_REFERENCE_LENGTH+MAX_QUERY_LENGTH] | ||
) |
Perform Pairwise alignment for two sequences, in fixed banding with virtual coordinates.
query,: | Query sequence buffer. |
reference,: | Reference sequence buffer. |
query_length,: | Length of the query. |
reference_length,: | Length of the reference. |
tb_streams,: | Output traceback path. |
void Align::Fixed::ChunkCompute | ( | const idx_t | chunk_row_offset, |
const input_char_block_t & | query, | ||
const char_t(&) | reference[MAX_REFERENCE_LENGTH], | ||
const chunk_col_scores_inf_t & | init_col_scr, | ||
score_vec_t(&) | init_row_scr[MAX_REFERENCE_LENGTH], | ||
idx_t | p_cols, | ||
const idx_t | ck_idx, | ||
idx_t & | l_lim_reg, | ||
idx_t & | u_lim_reg, | ||
const bool(&) | col_pred[PE_NUM], | ||
const idx_t | global_query_length, | ||
const idx_t | local_query_length, | ||
const idx_t | reference_length, | ||
const Penalties & | penalties, | ||
ScorePack(&) | max[PE_NUM], | ||
tbp_t(&) | chunk_tbp_out[PE_NUM][TBMEM_SIZE] | ||
) |
Compute the traceback pointers for a chunk of the size PE_NUM * REFERENCE_LENGTH, with fixed banding and virtual coordinates.
chunk_row_offset | : The row offset in the whole traceback matrix the beginning of the chunk. |
query | : Query sequence with length PE_NUM. |
init_col_scr | : Initial score for the first column of this chunk. |
query_length | : Length of the query < PE_NUM. |
reference_length | : Length of the reference < MAX_REFERENCE_LENGTH. |
max | : Score pack of the maximium score of this chunk. |
void Align::Fixed::MapPredicate | ( | const idx_t(&) | local_l_lim[PE_NUM], |
const idx_t(&) | local_u_lim[PE_NUM], | ||
const idx_t(&) | virtual_cols[PE_NUM], | ||
const bool(&) | col_pred[PE_NUM], | ||
bool(&) | predicate[PE_NUM] | ||
) |
void Align::Fixed::PrepareLocals | ( | const char_t(&) | query[MAX_QUERY_LENGTH_], |
const score_vec_t(&) | init_col_scr[MAX_QUERY_LENGTH_], | ||
char_t(&) | local_query[PE_NUM_], | ||
chunk_col_scores_inf_t & | init_col_scr_local, | ||
bool(&) | col_pred[PE_NUM_], | ||
const idx_t | local_query_len, | ||
const idx_t | idx | ||
) |