Global Namespace

// typedefs

typedef ap_uint <4> uint4_t
typedef ap_uint <512> uint512_t

// macros

#define BATCH_SIZE
#define MAX_INTV
#define MAX_INTV_ALLOC
#define SEQ_LENGTH

Global Functions

opencl_sw_maxscore

#include "opencl_sw_maxscore_systolic.hpp"
void opencl_sw_maxscore (
    ap_uint <NUMPACKED*2>* input,
    ap_uint <NUMPACKED*2>* output,
    int* size
    )

Systolic implementation of smith-waterman.

Parameters:

input input raw data
output max score
size number of iterations

pairhmm

#include "pairhmm.hpp"
void pairhmm (
    ap_uint <GMEM_DWIDTH>* in,
    float* output_data,
    int numRead,
    int numHap
    )

PairHMM kernel takes read/ref sequence as input and generates the likelihood ratio.

Parameters:

in input sequence data
output_data likelihood ratio
numRead number of read sequences
numHap number of hap sequences

mem_collect_intv_core

#include "smem.hpp"
void mem_collect_intv_core (
    ap_uint <512>* bwt,
    ap_uint <256>* mem,
    ap_uint <64>* bwt_para,
    ap_uint <32>* mem_num,
    uint8_t* seq,
    uint8_t* seq_len,
    int batch_size
    )

SMEM kernel takes the input sequence and BWT tranformation and generates super maximal exact match.

Parameters:

bwt bwt sequence
mem output
bwt_para bwt parameters
mem_num number of output maximal matches
seq input sequence
seq_len sequence length
batch_size batch size