5 ms·
Where is this magic FPGA that takes an arbitrary algorithm and accelerates it 50x? FPGAs have a nice niche for certain applications, and they deserve more prom
by revelation 11y ago
Where is this magic FPGA that takes an arbitrary algorithm and accelerates it 50x?
FPGAs have a nice niche for certain applications, and they deserve more prominence, better tooling and widespread use, but they are not magic.
- alain94040 11y agoFPGAs are usually very good at accelerating one computing algorithm at a time. Not two. Just one. They'll beat processors unless the operations are an obvious fit for processors (for instance, floating point). I/O is actually a bottleneck in FPGAs. In practice, most applications require executing plenty of algorithms one after the other, depending on input data, with a lot of glue in between (I/O). FPGAs are terrible at that.
- koko775 11y ago50x isn't unreasonable if you can parallelize and/or pipeline a rigidly-defined process, cutting out as much memory and cache accesses as possible. With the right programming model, 50x seems very, very reasonable, not even magical. A typical computer does a decently high amount of context-switching and cache-loading.
- revelation 11y agoYes, of course. Hence why FPGAs are brilliant for stuff like networking equipment, massively parallel coupled with massive low-level IO. But it doesn't work that way for arbitrary algorithms.
- koko775 11y agoOn the contrary, given a capable compiler and/or language, translating algorithms into hardware sounds extremely feasible to me.
- nickpsecurity 11y agoIt's easy in theory but hard go do well. Most that work pretty well are commercial. Here's the only OSS one I know still getting significant: http://legup.eecg.utoronto.ca/publications.php http://legup.eecg.utoronto.ca/publications.php
- koko775 11y agoI think then we are in agreement that it is /feasible/, then? I imagine an FPGA in every chipset would go a long way towards writing the software to put them to practical use, though that may also be wishful thinking on my part.
- nickpsecurity 11y agoIt was mainly used for algorithms and prototyping ASIC's for most of its existence. The high level tools advertised to software people likewise did that. These days, they have great I/O options too.
- nickpsecurity 11y agoWhere is it that you were taught to take a part of a quote, turn it into a strawman, and knock that down? My quote said effects range from a percentile (low effect) to 50x. That means it has minimal effect over CPU's on some with 50x on others. Try to stick with what I said, eh? Also, some algorithms can do over 100x. The good ones are just more likely to get less than that so i left it off. I've seen 10-50x in all kinds of papers, though. And those were academics rather than FPGA pro's.
- badsock 11y agoI think revelation was specifically referring to the word "arbitrary" in your post. That makes it sound like FPGAs can speed up any given algorithm, which is obviously not the case.
- nickpsecurity 11y agoCould be misleading to some. The intent for arbitrary was that you could implement any algorithm on them. Whereas, custom hardware is usually fixed and some programmable ones are more limited. Plus, I think you can speed up any algorithm at least a little if putting it on FPGA on more advanced node. Reason being there's no other processing besides the algorithm and it's harder to get GP CPU's that optimal at given process node. That said, the likes of Intel, AMD, and IBM put so much work into CPU's at most advanced nodes that some sequential algorithms will likely do better on them. Synthesized, amateur FPGA bitstream just can't compete with custom, pro, hard blocks designed for exact purpose.
- CamperBob2 11y agoYes, they pretty much are magic, for applications that benefit from them. For example, no general-purpose CPU can capture RF data directly from an ADC at multiple gigabytes per second, decimate it, and break it into 1024+ channels in real time. Any general-purpose CPU that could do that would be hopelessly uncompetitive in the marketplace. How Intel benefits from owning an FPGA company, I'll confess I don't know. Altera must have some awfully valuable IP that Intel needs.
- nickpsecurity 11y agoIt's like I said: FPGA's are awesome accelerators for all kinds of things, datacenters are already using SOC's doing cores + hard blocks (see Cavium Octeon III), and Intel can possibly capitalize by adding FPGA tech to server CPU's. On top of it, they need years of investment into EDA to make it usable. What Altera already did for them. With FPGA on-chip, you can offload intensive computations to semi-custom blocks. I/O processing, compression, crypto, fast transactions, data mining, you name it.
- p0nce 11y agoWild guess: perhaps their OpenCL to FPGA compiler. OpenCL is many times easier to program than VHDL.