Architectural Optimizations for High Performance and Energy Efficient Smith-Waterman Implementation on FPGAs using OpenCL

Lorenzo Di Tucci1,a, Kenneth O'Brien2,c, Michaela Blott2,d and Marco D. Santambrogio1,b
1Politecnico di Milano, Dipartimento di Elettronica, Informazione e Bioingegneria, Milano, Italy.
alorenzo.ditucci@mail.polimi.it
bmarco.santambrogio@polimi.it
2Xilinx Research Labs, Dublin, Ireland.
ckenneth.o'brien@xilinx.com
dmichaela.blott@xilinx.com

ABSTRACT


Smith-Waterman is a dynamic programming algorithm that plays a key role in the modern genomics pipeline as it is guaranteed to find the optimal local alignment between two strings of data. The state of the art presents many hardware acceleration solutions that have been implemented in order to exploit the high degree of parallelism available in this algorithm. The majority of these implementations use heuristics to increase the performance of the system at the expense of the accuracy of the result. In this work, we present an implementation of the pure version of the algorithm. We include the key architectural optimizations to achieve highest possible performance for a given platform and leverage the Berkeley roofline model to track the performance and guide the optimizations. To achieve scalability, our custom design comprises of systolic arrays, data compression features and shift registers, while a custom port mapping strategy aims to maximize performance. Our designs are built leveraging an OpenCL-based design entry, namely Xilinx SDAccel, in conjunction with a Xilinx Virtex 7 and Kintex Ultrascale platform.
Our final design achieves a performance of 42.47 GCUPS (giga cell updates per second) with an energy efficiency of 1.6988 GCUPS/W. This represents an improvement of 1.72x in performance and energy efficiency over previously published FPGA implementations and 8.49x better in energy efficiency over comparable GPU implementations.



Full Text (PDF)