Skip to main content Skip to main navigation

Publication

AnySeq: A High Performance Sequence Alignment Library based on Partial Evaluation

André Müller; Bertil Schmidt; Andreas Hildebrandt; Richard Membarth; Roland Leißa; Matthis Kruse; Sebastian Hack
In: Proceedings of the 34th IEEE International Parallel & Distributed Processing Symposium (IPDPS). IEEE International Parallel & Distributed Processing Symposium (IPDPS-2020), May 18-22, New Orleans, LA, USA, Pages 1030-1040, IEEE, 5/2020.

Abstract

Sequence alignments are fundamental to bioinformatics which has resulted in a variety of optimized implementations. Unfortunately, the vast majority of them are hand-tuned and specific to certain architectures and execution models. This not only makes them challenging to understand and extend, but also difficult to port to other platforms. We present AnySeq - a novel library for computing different types of pairwise alignments of DNA sequences. Our approach combines high performance with an intuitively understandable implementation, which is achieved through the concept of partial evaluation. Using the AnyDSL compiler framework, AnySeq enables the compilation of algorithmic variants that are highly optimized for specific usage scenarios and hardware targets with a single, uniform codebase. The resulting domain-specific library thus allows the variation of alignment parameters (such as alignment type, scoring scheme, and traceback vs. plain score) by simple function composition rather than metaprogramming techniques which are often hard to understand. Our implementation supports multithreading and SIMD vectorization on CPUs, CUDA-enabled GPUs, and FPGAs. AnySeq is at most 7% slower and in many cases faster (up to 12%) than state-of-the art manually optimized alignment libraries on CPUs (SeqAn) and on GPUs (NVBio).

Projects

More links