For most, the thought of programming an FPGA seems like a Sisyphean task best left to those fluent in hardware design. Even for the experts, implementing a complex algorithm onto an FPGA can sometimes take upward of several months. It’s precisely this difficulty that has kept many developers and researchers looking to friendly options, like CPUs and GPUs, to address their high-performance computing needs. “That’s always been the problem,” says Martin Gollery, FPGA expert and associate professor of bioinformatics at the University of Nevada. “[FPGAs] are like this great technology that nobody wants to touch.”
Swedish supercomputing outfit Mitrionics aims to change all that with a new, software-centric development platform for FPGA-enabled supercomputing applications. The Mitrion Platform consists of a software development kit and virtual processor that runs on Mitrion C, a massively parallel version of the C programming language. “The purpose [of the platform] is to enable the computation power of FPGAs for normal scientists and computer programmers, and take away the ‘black magic’ around things,” says Anders Dellson, CEO of Mitrionics.
That “black magic” is the complex hardware description languages (HDLs), such as VHDL or Verilog, used to design FPGAs. “What I liked about the Mitrionics platform is that you really don’t have to worry about the low-level HDL stuff,” says David Braun, research programmer at Purdue University’s Rosen Center for Advanced Computing. Although it depends upon the particular application, Mitrionics estimates that 180 lines of its C code can produce roughly 150,000 lines of VHDL code.
According to Gollery, other outfits in the past have touted C-like platforms that promised to make FPGA design easier for bioinformatics, but rarely have they delivered. “There were a lot of guys out there that claimed, ‘Oh, it’s just like coding in C, you’ll translate it and boom, there it goes,’” he says. “But of course, it isn’t that easy.”
The virtual processor allows programmers to tweak their FPGA hardware to fit the particular algorithm they need to run, rather than trying to force the algorithm onto an existing processing architecture, which is the case with CPUs and GPUs. “For those who want to, they can go straight into the source code and make their favorite modifications, whatever they are,” Dellson says. “And of course, that’s the real strength: you can access the source code and it’s a kind of transparent solution.”
Braun expects to see an increasing number of FPGA platforms arriving on the market that allow FPGAs to be easily customized by the non-hardware design expert. “I think that in the future, you’re going to see more high-level languages like [Mitrion C] that generate HDL code,” says Braun.
The software development kit also includes a compiler and debugger to assist in the implementation of the desired application to the virtual processor. The debugger is a graphical interface and code simulator that allows users to isolate potential errors and bottlenecks in the code before implementation to the FPGA. Mitrionics offers three different development kit packages with various features; the most basic version is available for free.
“The Mitrion processor that runs on the FPGA is something massively parallel, and that’s where the compute power comes from: it can just stream the data through in a massively parallel fashion, unlike a traditional processor,” says Dellson. In benchmark tests running various sequence data sets, Mitrion-enabled FPGAs performed between 17 and 20 times faster than standard CPUs, depending upon the query.
“All these sequence alignment-related algorithms typically have features which make them suitable for FPGAs,” Dellson says. These features include low bit width, usually two-bit or four-bit alphabets and textures. FPGAs are also well-suited to number crunching such as single position floating points and integers, as well as other combinatorial applications.
In addition to the processor power, FPGAs are also a worthwhile alternative because of their extremely low power consumption. The average CPU sucks up about 100 watts and a GPU accelerator devours upwards of 200 watts, often requiring its own power supply. In contrast, an FPGA uses a maximum of 20 watts. An idle CPU still uses a significant amount of power, while an FPGA’s static power usage is negligible.
In an effort to promote its FPGA technology to the bioinformatics community, Mitrionics launched its own open source version of NCBI BlastN late last year. Mitrion BlastN is based on NCBI source code and touts an identical user interface, output options, and file formats. According to Dellson, this is the first time an NCBI-compliant Blast application is available for FPGAs. “Of the people that are in this space of making it easy to program [FPGAs for] bioinformatics, they’re the only one … putting source code out there,” Gollery says.
Currently, Mitrionics’ platform is supported by an increasing number of high-performance computing systems, including Cray’s XD1, Nallatech’s BenDATA-DD, and SGI’s RASC RC100.
Traditionally, bioinformatics researchers were limited to ordering dedicated FPGA accelerators with a fixed set of algorithms, such as TimeLogic’s DeCypher system. The exact algorithms had to be specified beforehand and once it shipped, there was no more tweaking. “The thing is, compared to us, that is a black box solution,” says Dellson. “There’s no way you can see what’s been done there, there’s no way you can access that accelerator.” TimeLogic did not respond to a request for comment.
Although Mitrionics’ platform certainly has some advantages, pre-packaged solutions like the kind offered by TimeLogic, with their predefined algorithm libraries and dedicated hardware, still have their place in FPGA-enabled bioinformatics, says Gollery, who used to work for TimeLogic. “If [customers] want a simple black box [solution], they will probably go someplace else,” he says. “But if I want to tweak parameters, it might be better for me to get a license from Mitrion, download their code, change it the way I want, and go from there.”