The folks at Impulse Accelerated Technologies and Pico Computing today released performance statistics for an acceleration of the Genome Analysis Tool Kit (GATK) used in bioinformatics research. In a compelling proof-of-concept project, the Impulse and Pico team were able to speed processing of a common GATK workflow by 16X when compared to the original software-only implementation.
GATK is a software library used to create workflows for genomic sequencing, as well as being as being a collection of tools for translational medicine in projects such as the The Cancer Genome Atlas (TCGA).
Working from GATK code originally developed in Java from the Broad Institute at Harvard, the Impulse/Pico team was able to parallelize the framework and improve performance by 16X. The team built the proof of concept on an inexpensive Pico Computing M-501 FPGA-based acceleration module. The M-501 is a small hardware module, about the size of a business card, x8 Gen2 PCIe connected board using a Xilinx Virtex 6 FPGA. Selling (in volume) for under $2,500, the accelerator was able to provide the engineer millions of available gates.
Using this architecture the engineer parallelized the GATK framework to run as 12 individual streaming processes. The improvement in parallel computing throughput was achieved within the Impulse C toolset. Working with sophisticated stage delay analysis, the engineer reduced the average number of clock cycles per base to 25. The optimized C code was compiled with the Impulse C tools into synthesizable VHDL. The VHDL was exported to Xilinx ISE and mapped against the Virtex 6 for optimal place & route.
Quoting the original GATK team: The pipeline merges samples present in barcodes on multiple lanes, producing a single representative BAM file. The next step parallelizes the processing of each alignment file with read quality assessment, preparation for visualization and variant calling.
“Next generation sequencing machines pose a huge challenge for the bioinformatics community,”
said Dr. Scott Hauck, Professor of Electrical Engineering at the University of Washington. “Getting significant speedups in a framework allows a scientist to actually understand and optimize their results is a compelling way, and helps to move FPGA performance into the genomics lab.”
An Impulse C model was developed for the GATK framework, together with an example application based on the coverage sample included in the GATK. The coverage sample classifies the data available at each location as “callable,” “poor quality,” “low coverage,” or “no coverage.” The Impulse C model was implemented on the M-501 PCIe board from Pico Computing. This board includes a Virtex 6 LX240T with 512MB of on-board memory.
By using this architecture to parallelize the GATK framework, the team was able to the GATK workflow as 12 individual streaming processes, each of which was internally pipelined for high throughput. These improvements in throughput for GATK were achieved within the Impulse C toolset, using iterative methods of design. Working with sophisticated pipeline stage delay analysis tools, the developers were able to reduce the average number of clock cycles required per base to 25. The optimized C code was compiled with the Impulse C tools into synthesizable VHDL. The VHDL was exported to Xilinx FPGA mapping tools and implemented in the Pico M501 module. This implementation used less than half of the resources available on the FPGA, and operates at 150MHz. The host processor used for comparison was a Xeon E5520 CPU running at 2.27GHz. The FPGA implementation took 10.5 seconds to process sample data while the original GATK application took 170 seconds, representing a 16X performance improvement.
Stage Delay Analysis like this enabled a
dramatic reduction in clock cycles.
Brian Durwood, CEO of Impulse, stated that the company is actively looking for research partners to extend and commercialize this initial proof of concept.
In addition to the GATK framework, there are published results of Impulse C based Smith-Waterman algorithms by the University of Florida and IRISA in France. These and other bio related algorithms in Impulse C enable researchers to get a started in the growing field of FPGA-accelerated life sciences. Kits that include the Pico M501, Impulse C, Xilinx FPGA tools, and the framework code are available. Interested parties may contact Pico
for more information.
If you found this article to be of interest, visit Programmable Logic Designline
where – in addition to my Max's Cool Beans
blogs – you will find the latest and greatest design, technology, product, and news articles with regard to programmable logic devices of every flavor and size (FPGAs, CPLDs, CSSPs, PSoCs...).
Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here
to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).