Electronic – Time-series Statistical Analysis with FPGA

analysisfpga

Suppose I have two time series, such as stock valuations or radioactive diagnosis, for which I need things such as covariances (QP -problem) among other things. Covariance calculations should be easy easy speed up — the future stages are not depended on latter. Can I do this kind of problems in constant time in FPGA? -If I have understood right, yes. What other statistical analysis -toolbox things you can considerably speed up with FPGA? Everything not on depended on the last stage? Look if my thinking is right, there must be a massive potential here — could someone help me to find out projects specializing in time-series analysis with FPGAs?

Best Answer

In theory, you could do it in constant time, but only until you run out of resources. Let's just consider hardware multiplies for now, since they will likely constrain the design. For example, the largest Xilinx Spartan-6 (the value line) contains 180 multipliers; the largest Virtex-6 contains 2128 multipliers (and will probably cost tens of thousands). These are 18-bit multipliers, but for the sake of argument treat them as abstractions. The number of multipliers then gives you the number of multiplications you can do at one time. If I understand the problem right, the square root of that number gives you the dataset that can run in one clock cycle.

In practice there are add/subtractions to worry about, the required precision will lower the amount of multiplies you can do, and the connections you'll need to make across the FPGA fabric will be very dense. All of these factors lower the maximum speed you can clock the FPGA at. Plus you have to get the data in and out of the FPGA. Thus my gut feeling is that this is not a 'killer app' for FPGAs. Conventional processors and GPUs are probably a better bet. (See R+GPU.)

Related Topic