Parallel approach to sliding window sums

11/25/2018
by   Roman Snytsar, et al.
0

Sliding window sums are widely used in bioinformatics applications, including sequence assembly, k-mer generation, hashing and compression. New vector algorithms which utilize the advanced vector extension (AVX) instructions available on modern processors, or the parallel compute units on GPUs and FPGAs, would provide a significant performance boost for the bioinformatics applications. We develop a generic vectorized sliding sum algorithm with speedup for window size w and number of processors P is O(P/w) for a generic sliding sum. For a sum with commutative operator the speedup is improved to O(P/log(w)). When applied to the genomic application of minimizer based k-mer table generation using AVX instructions, we obtain a speedup of over 5X. For a family of sliding sums that allow recurrent interpretation we achieve speedup that is independent of w: O(P/log(P)). With ntHash algorithm rewritten using AVX instructions we have observed a speedup close to 3X.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset