|
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 | ||
| ) |