It is interesting that one can write code (for which certain computational/logic structures are automatically inferred) describing hardware to run inference models, while inferring that such a piece of computing power will be useful to infer the future.
I don't think that needs for running neural networks will emerge in datacentres. The demand is too low.
Nor is the FPGA the best thing to run them on. Even if you "bake" them into static integer models, that can be mapped directly to gates, that only possible for the smallest ones around. GPUs are pretty much what is the best as it is: an accelerator for doing a lot of low precision linear algebra.
And as a side benefit, you can play Quake on all those GTXes pressed into linear algebra crunching in datacentres. Jokes aside, being able to resell server hardware later on is a very good thing. Moreover, the sole fact that gaming industry is magnitude bigger than whatever happens in HPC will be the guarantor of (relatively) low prices.
FPGAs are much better than current GPUs for low precision NN computation (binary or ternary). Nvidia knows that (that's why they introduced experimental INT1 mode on their latest cards).
I think you can find more mundane but much more widely applicable uses for FPGA fabric in future, especially if we start shipping them in most ARM CPUs. For example, you can compress and decompress memory pages in real-time, which (for streaming applications at least) is one way to increase RAM bandwidth, or reduce system cost. Or hyper-optimize grep, sed and awk, and a hardware-assisted bitonic sort library for your DB. Cheaper, faster, lower-power compute for everyone.
I am not yet convinced we will see tons of FPGAs. They are less power efficient than ASICs.
Yes ASICs cost a lot more up front. But as the companies get bigger and bigger they can afford that up front cost.
The cost of making an ASIC has already dropped and would expect that to continue to happen.
Plus we have the issue of needing to integrate memory with computation to lower power use of moving around data and that is a even harder to do on a FPGA then an ASIC.
FPGA still has some advantages over ASIC development:
- development speed of FPGA over the typical ASIC lifecycle is much shorter
- the ability to field-program and correct a design flaw can not only save expensive iterations, but also to add new hardware features essentially as a "firmware" upgrade (provided the FPGA in the system has extra capacity)
There will always be a place for ASIC, but FPGAs provide some capabilities that are not available (impossible?) for ASIC.
9 comments
[ 1147 ms ] story [ 3672 ms ] threadNor is the FPGA the best thing to run them on. Even if you "bake" them into static integer models, that can be mapped directly to gates, that only possible for the smallest ones around. GPUs are pretty much what is the best as it is: an accelerator for doing a lot of low precision linear algebra.
And as a side benefit, you can play Quake on all those GTXes pressed into linear algebra crunching in datacentres. Jokes aside, being able to resell server hardware later on is a very good thing. Moreover, the sole fact that gaming industry is magnitude bigger than whatever happens in HPC will be the guarantor of (relatively) low prices.
Yes ASICs cost a lot more up front. But as the companies get bigger and bigger they can afford that up front cost.
The cost of making an ASIC has already dropped and would expect that to continue to happen.
Plus we have the issue of needing to integrate memory with computation to lower power use of moving around data and that is a even harder to do on a FPGA then an ASIC.
- development speed of FPGA over the typical ASIC lifecycle is much shorter
- the ability to field-program and correct a design flaw can not only save expensive iterations, but also to add new hardware features essentially as a "firmware" upgrade (provided the FPGA in the system has extra capacity)
There will always be a place for ASIC, but FPGAs provide some capabilities that are not available (impossible?) for ASIC.