FPGAs and Deep Machine Learning
fpgasite.wordpress.com
fpgasite.wordpress.com
To get perf on an FPGA over a hard core you must go very wide (as in lots of parallelism). I suspect you could order custom hard cores from places like Tensilica and get far better perf/watt. I love FPGA's, they thrive on parallel integer/fixed point codes if enough time is put into designing the pipeline. It seems for most float heavy codes a hard core unit at a higher clock rate with a dedicated MMU is much better? Am I missing something that changes that?
And with the cloud, Google trends could be misleading - a small startup(with deep expertise) could deploy a service based on FPGA on the cloud, and have access to a very large market, possibly with people not even aware of the FPGA inside.
As moore's law no longer holds true for CPU, there is increasing interest turning to FPGAs. You can create a truly bespoke Processor for any task.
Of course this is trade of between development time / cost vs processing needs of task.
I suspect FPGAs demand to only increse over the coming years. Intel's integration of FPGA into their line of processors is a promising step and sign of where things may be heading.
At the moment, most of those task would be done on ASIC, so yes we might see those tasks done on FPGA.
There wouldn't be advantage in performance generally, only in that you could have true HW updates.
It is something I've been thinking about in that you could theoretically have a processor optimized for the game. So you could download HW on the fly (pre built) and flash your machines FPGA.
Will we see a new generation of JITs emitting FPGA code?
JIT for FPGA is quite possibly mathematically impossible.
It's much better if you regard an FPGA as a set of pluggable fixed-function dataflow integer pipelines than a processor. Something that you stream data into and get a transformed version out. It's much less recognisable than even a GPU.
Consider it the next step beyond SSE/MMX for configurable arithmetic kernels. The one thing on-die FPGAs will definitely help with is cryptography.
why ?
In any event, Nerabus is a company (by the same guys as CodeThink) which is interested in running FPGA in the cloud: http://nerabus.com I'm not sure if they got off the ground with the idea or if they were too early or what.
Your post smells like spam. However, other posts on the same blog have content: https://fpgasite.wordpress.com/2016/08/09/pseudo-random-gene...
What's up? What is this blog for?
My blog is for sharing knowledge on VHDL projects for FPGA, but I also share news on the field. I think that knowing where your field is going to is part of the needed knowledge to be a good designer.
That's interesting and useful, but the real bottleneck with deep learning is the training stage. AFAIK everyone is still doing that on GPUs.
Given that Google's already gone down the custom ASIC path for DNNs (and see Intel's recent acquisition of Nervana for $400m), and how much effort Nvidia is putting into making Pascal a great architecture for deep learning, I'm deeply skeptical of the wins from FPGAs in this space. The volume demands are too high: I suspect they'll fade out pretty quickly in favor of custom silicon.
But in general, do you think that FPGA's will become a big part of the cloud ? or will they just be employed in a few, relatively small niches ?
Low volume + low money = CPU. Low volume + crazy money -> high frequency trading = FPGAs viable. Low volume + really hard realtime control or fast signal processing -> Often FPGA, but DSPs are still viable. Medium volume + decent money = FPGA. Baidu and MS's deep learning fits here. High volume = ASIC. Google's TPUs fit here.
Machine learning and DNNs seem to be in the process of jumping from mostly-CPU to serious ASIC.
FPGA's success also depends on how well Intel and the ARM ecosystem can start to support medium-volume customization. Intel's historically been more exclusively high-volume, but if you look at the kinds of deals they're inking with their tier-one (and two?) customers, it's clear they're trying to move in that direction: https://goparallel.sourceforge.net/intel-bets-big-custom-xeo...
The challenge for FPGAs is that the better the design & synthesis tools get to support FPGA, the easier it is for the CPU manufacturers to do the same thing and adapt more rapidly. The core advantage the FPGAs retain is that they can be retargeted much more easily, and their dev cycle is shorter. My crystal ball is fuzzy. :)
>> Medium volume + decent money = FPGA.
I wonder though: How important is reprogramming ? because you can create structured ASIC's (something between an asic and an FPGA) at a low enough volume( maybe 500/1000+ ,like eAsic(which Intel are working with) ) ?