DP-HLS
|
This namespace contains functions to define the core architectures used in the non-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 rectangular grid, with virtual coordinates. More... | |
void | ChunkCompute (idx_t chunk_row_offset, input_char_block_t &query, const char_t(&reference)[MAX_REFERENCE_LENGTH], chunk_col_scores_inf_t &init_col_scr, score_vec_t(&init_row_scr)[MAX_REFERENCE_LENGTH], idx_t &p_col_offset, idx_t ck_idx, idx_t global_query_length, idx_t query_length, idx_t reference_length, const bool(&col_pred)[PE_NUM], 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 rectangular grid and virtual coordinates. More... | |
void | MapPredicate (const idx_t wavefront, const idx_t ref_len, const idx_t qry_len, bool(&row_pred)[PE_NUM], const bool(&col_pred)[PE_NUM], bool(&pred)[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... | |
This namespace contains functions to define the core architectures used in the non-banding alignment kernel.
void Align::Rectangular::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 rectangular grid, 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::Rectangular::ChunkCompute | ( | idx_t | chunk_row_offset, |
input_char_block_t & | query, | ||
const char_t(&) | reference[MAX_REFERENCE_LENGTH], | ||
chunk_col_scores_inf_t & | init_col_scr, | ||
score_vec_t(&) | init_row_scr[MAX_REFERENCE_LENGTH], | ||
idx_t & | p_col_offset, | ||
idx_t | ck_idx, | ||
idx_t | global_query_length, | ||
idx_t | query_length, | ||
idx_t | reference_length, | ||
const bool(&) | col_pred[PE_NUM], | ||
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 rectangular grid 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::Rectangular::MapPredicate | ( | const idx_t | wavefront, |
const idx_t | ref_len, | ||
const idx_t | qry_len, | ||
bool(&) | row_pred[PE_NUM], | ||
const bool(&) | col_pred[PE_NUM], | ||
bool(&) | pred[PE_NUM] | ||
) |