Hello, I work in computational methods in a scientific/engineering field. Recently someone has tried to sell his idea of FPGA to me... basically, use FPGA to build a new computer simulation tool that runs on top of hardware directly. It seems that FPGA is like a low-cost, parallel computer that can speed up my scientific computation (lots of a linear matrix operation to solve Ax=b where A is a matrix and b is a vector).
I wonder... if FPGA is really so good (low-cost compared to parallel computer and a lot faster than a standalone desktop), why I have not seen much application in scientific computation? After some investigation, I found:
(1) FPGA is good for logic operation, but not very capable in floating-point or double-precision calculation.
(2) FPGA may have significant overhead. (But does this mean it fits to computation that consists of many independent, easy-to-parallelize steps?).
Can anyone confirm or advise? Thansk a millions!
It all depends on application
Most of modern FPGA'a, apart from having embedded quite powerful processors (Virtex-4 has PowerPC), have components that work like 18x18 multipliers. Since there are many of those in one FPGA I recon matrix multiplication can be done fast due to extensive parallelism.
Why it is not used? I don't know. Maybe FPGA are in fact widely used, but we are not aware of that?
I am not an expert on these topics, so others' opinions would be in place.