In the past year there has been an increased level of skepticism regarding FPGAs as computing devices. Large amounts of ink of been spilled regarding the emergence of GPUs as general-purpose computing platforms. NVIDIA’s Tesla is racking up high benchmark scores in domains that include computational finance, scientific computing, geophysics and many others.
Nonetheless, there are certain domains in which FPGAs are clear winners over GPUs, particularly when power consumption is factored into the results. Two of these domains are crypto-analysis (code cracking) and bioinformatics.
The CHREC group at the University of Florida, and Pico Computing of Seattle, have both recently announced benchmark results for DNA sequencing algorithms. Both groups used FPGA clusters to perform massively parallel computations and to accelerate the comparing and scoring of DNA base pairs by orders of magnitude.
The Florida group, led by Dr. Alan George, implemented a Smith-Waterman sequencing algorithm on a cluster of 96 Altera high-capacity FPGA devices, using PCI Express FPGA cards supplied by GiDEL.
The Novo-G cluster used for this project consists of 16 Linux servers, each housing a quad-FPGA accelerator board from GiDEL. According to the CHREC team, Novo-G’s performance was compared with an optimized software implementation executed on a single 64-bit, 2.4GHz AMD Opteron core. A speedup of 40,849X was observed. The implication is that a bioinformatics calculation that would take days to run on a single desktop workstation or server would require just seconds to complete using the Novo-G FPGA cluster.
In Seattle, Pico Computing implemented a similar algorithm that performs sequence analysis and scoring to create a 2-dimensional figure called a dot plot. The Pico team reported that they had achieved greater than 5000X acceleration of their algorithm, using a cluster of 112 Xilinx Spartan-3 FPGA devices. The Pico cluster consumed less than 300 Watts of power, with all FPGAs fitting comfortably into a single 4U server chassis.
Perhaps more interesting about the Pico Computing project was how it was developed. Greg Edvenson of Pico used a single FPGA device during initial algorithm development. The FPGA was encapsulated in a Pico Computing E-17 card attached directly to Greg’s laptop computer via an ExpressCard interface. After the algorithm was tested and working as a single hardware process, Edvenson then scaled up and replicated the algorithm for deployment on the FPGA cluster. Greg used C-to-FPGA tools provided by Impulse Accelerated Technologies during the development of the algorithms, reducing the need to write low-level HDL code.
In summary, bioinformatics is one application domain in which FPGA acceleration offers clear and compelling benefits. And as well, there are multiple FPGA cluster approaches that can be taken to meet the needs of the application, and to meet the constraints of budget and power consumption.