6 ms·
Genomics Marks the Next Sequence for FPGA's
- dharma1 11y agohas anyone used opencl to program FPGA's? How was it? What's the perf like?
- gjulianm 11y agoI haven't dived deep in it, but we tried an OpenCL program in a FPGA and we couldn't even make it work: OpenCL support is at version 1.0 (no vectors, no barriers) without double precision numbers. And, from what I've heard, the performance is not that good.
- elij 11y agoAccelerated reference alignment (via something like an FPGA) is definitely a way forward as the problem is now relatively well understood. Would be interesting to see where things go with respect to de-novo and graph alignment.
- dekhn 11y agoEvery time somebody has attempted to do this (for exmaple BLAST using custom ASICs or FPGAs), the next Intel chip- its general purpose capabilities, not any special stuff- has gotten fast enough and cheap enough to make custom hardware irrelevant. I don't see that changing any time soon- we're not actually blocked on any heavily CPU-bound problems in the genomics area right now, except perhaps machine learning on variants, and that's handled by GPUs, which are commodity hardware.
- pjc50 11y agoIndeed. FPGAs only win if you have lots of integer operations that are truly parallel but require a moderate amount of memory bandwidth. GPUs win for floating point and CPUs tend to have far more cache than you can fit in an FPGA.
- dekhn 11y agoTHat's beside my point too- the community doesn't have time to chase whatever the custom-solution-du-jour is this year. General purpose Intel processors are always a better investment because (IMHO) there isn't really any true CPU bottleneck at this point. Data storage, memory bandwidth, network bandwidth are the big three issues.
- n00b101 11y ago> Every time somebody has attempted to do this ... the next Intel chip- its general purpose capabilities, not any special stuff- has gotten fast enough and cheap enough to make custom hardware irrelevant. I don't see that changing any time soon ... This is a very interesting phenomenon. It was certainly true from around 1968 to 2005, that custom chips could not survive since the next Intel chip made them irrelevant. But I think that, not only is this going to be changing soon, in fact it has already started to change. There are credible claims of BLAST (and other life science codes) being ~10x faster on GPUs than CPUs. [1] GPUs are specialized processors (with associated non-standard programming models and compilers) that have overtaken general purpose CPUs in many areas. This has been possible because, for the past 10 years, the "next Intel chip" has NOT been faster (single core clock speed) or exponentially cheaper (cost per core). Intel has been unable to make advances on these fronts due to fundamental engineering factors, such as the breakdown of Dennard scaling around 2005. [2] GPUs (and FPGAs, and to some extent even conventional CPUs) have been able to continue advancing since 2005 because Moore's Law has been holding (even though the related Dennard scaling law has broken down). However, now we are seeing that even Moore's law is starting to break down. This is evidenced by the increasing delays in the Intel roadmap, with the most recent delay being 10nm process being pushed out to 2017. [3] It is now in question whether silicon process will ever even reach 7nm, and I don't think anyone is willing to bet that Moore's Law can continue on silicon beyond 7nm. It is at the end of Moore's Law where custom chips become very interesting. This has been covered in 2013, in a presentation by Robert Colwell, who is the Director of DARPA's Microsystems Technology Office. [4] Colwell's thesis is that the End of Moore's law will revive specialized chip design. I find that prospect to be very exciting, not only for chip designers but of course also for software developers (especially compiler and programming language designers, as specialized chips are going to require specialized compilers, programming models and languages). Of course there is also the other possible future path, within the 10nm to 7nm time frame (i.e. within the next 5 years) that Intel and others will find a way to extend Moore's Law, possibly by finding a viable alternative to silicon substrate. That would also be extremely exciting but somehow I don't think the future will be that simple (DARPA seems to take the view that this simple isn't going to happen, i.e. the Moore's Law exponential must logically end). [1] https://www.nvidia.com/object/bio_info_life_sciences.html https://www.nvidia.com/object/bio_info_life_sciences.html [2] https://en.wikipedia.org/wiki/Dennard_scaling#Recent_breakdown_of_Dennard_scaling https://en.wikipedia.org/wiki/Dennard_scaling#Recent_breakdo... [3] http://www.anandtech.com/show/9447/intel-10nm-and-kaby-lake http://www.anandtech.com/show/9447/intel-10nm-and-kaby-lake [4] http://www.hotchips.org/wp-content/uploads/hc_archives/hc25/HC25.15-keynote1-Chipdesign-epub/HC25.26.190-Keynote1-ChipDesignGame-Colwell-DARPA.pdf http://www.hotchips.org/wp-content/uploads/hc_archives/hc25/...
- anonmeow 11y agoThe Moore's law has ended (doubling time has become longer than 2 years, and looks like 10nm-7nm will be the last manufacturing process for a long time). From now on we will see more special-purpose hardware.
- dekhn 11y agospecial purpose hardware follows the same rules as Moore's law. Last I checked, number of cores attached to large memory, on Intel chips, is still going up, and that's what affects throughput on embarassingly parallel jobs, which is what these are.
- noipv4 11y agoConvey computers used to sell 4U servers with lots of Virtex-6 FPGAs to accelerate short read mapping/alignment, and assembly. They got bought over by Micron, probably to help them port Bioinformatics applications to Micron's Automaton computing chips.
- arca_vorago 11y ago"We can analyze RNA, agricultural biology, different pipelines for cancer research—all of these have widely varying pipelines and some are just nuanced, but they all require something different to be loaded into the FPGA before that run.”" Therein lies the rub. I was a sysadmin for a biotech company doing this kind of stuff, and in the end we evaluated fpga/asic and just couldn't justify the costs, not just hardware costs but time and barrier to entry costs, such as having to hire more programmers. I also kept a close eye on GPUblast, but it just wasn't keeping up with official, and due to pipeline specialties, mostly revolving blasting against all kinds of data, it didn't fit the bill. That's the main issue, that people doing blasting and related often have very specialized pipelines and different types of data and would almost be required to spend a lot of money to get such a system to work for them. It much less about the speed of the computation than it is about moving the data around. When you start dealing with 100Tb's of output a day... What we did end up doing was two things, one, we wrote worker system that basically distributed the computation to almost every computer on the network, and two, I figured out that due to how embarrassingly parallel the computation was, AMD's newer opteron chips actually outperformed Intel's, and I build some beast servers, and took computation down from average of 1~3 days to ~4hrs. (think 64 actual core's via quad cpu motherboards... truly some of my favorite servers I have ever built.) Bottom line is that IO is the main bottleneck, so even things like ROCKS clusters or other distributed systems don't work as well as many of the big data people like to think. We also had a very different than normal pipeline mostly revolving around which data to blast against and the methods we used, which were considered the core IP/proprietary, but the real IP was in the analysis. As FPGA's, Asics, and GPU's make it easier to get the data, you still have to understand it and analyze it, and that is much harder than people understand IMHO. I left for personal reasons, and I'm still under a non-compete, but I am very thankful for the opportunities I had to learn the bioinformatic's side under the eccentric genius I did, and perhaps one day I will turn some of my knowledge into a system that is useful for those wanting to do this kind of work. Also, I will never forget it as the first place I ever got asked to build a petabyte system... For example, IO limitations were mainly centered around accessing large amounts of data that wouldn't fit in 128/256Gb of RAM setups, which ended up usually on disks. Even on ZFS/btrfs raid0 ssd's, interface limitations were being hit daily..(sata, backplanes, etc) and the recent PCIE-SSD revolution would really be able to make a big dent in that particular issue.
- amelius 11y agoI would like to see some numbers. To begin with, how many FPGAs can replace 1 Intel CPU, in terms of compute power? And what does an FPGA solution cost in dollars, versus a CPU-based solution (including motherboard, memory, powersupply, etc.)?
- bravo22 11y agoa customized pipeline for a specific solution will always outperform a CPU, which is designed to be pretty good at a lot of things but not great at one single thing. As for price... that depends on how much they want to charge for it ;)
- amelius 11y agoI'm not sure that a customized pipeline is always faster than a CPU. I guess that in a lot of cases, memory access will be the bottleneck. Regarding the price, I'm talking about raw hardware costs (because it shows what profit can be made by making customized solutions).